The Curious Engineer

All blogs / PHP

Eric Mann's Blog

eric.mann.blog

These things matter ...

PHPSecurityCrypto / fintechAI / ML

Posts
894 from 13 Jul 2007 to 1 Oct 2026
Posting
weekly (32 in the last year)
Kind
personal blog
Feed
https://eric.mann.blog/feed/

2026 30

  1. From Voice to Vectors: Building a Searchable Audio Archive in PHP
  2. RAG Over Markdown: An End-to-End Local Pipeline in Pure PHP
  3. ai-contracts & ai-toolkit: The Primitives a PHP AI Ecosystem Needs
  4. ext-whisper: PHP-Native Audio Transcription
  5. ext-turbovec: A Vector Index Inside Your PHP Process
  6. ext-infer: Local LLM Inference, Natively in PHP
  7. Beware
  8. The Case for Local AI: Keep Your Data and Your Models Close
  9. Seeing in 1,024 Dimensions: How UMAP Makes Embeddings Visible
  10. From Keywords to Concepts: Semantic Search in Laravel with pgvector
  11. Meaning as Geometry: What Embeddings Actually Are
  12. Rebuilding a Dead iPod Game
  13. Hiking Keauhou
  14. Why I Left Crypto and Found Canton
  15. Introducing Cantool: A CLI for Canton Developers
  16. Canton vs Public Crypto: A Technical Comparison
  17. What is Canton Network (and why should you care)?
  18. The 0.25% Background: Building a Rarity System Into a Portfolio Site
  19. Buy them the tools
  20. The Agentic Harness Problem: Why AI Agents Need Better Guardrails Than Code Reviews
  21. Watch Cryptography Happen: A Terminal Animation for Threshold Signatures
  22. Why One Key Shouldn’t Rule Them All: Threshold Signatures for the Rest of Us
  23. The Upfront Investment That Saves 10,000 Hours
  24. From Defense AI Drift to Policy Enforcement: Why I Built Firebreak
  25. AI Slop and the em-dash
  26. The Gravity Problem: Why Defense AI Companies Drift Toward Offense
  27. PHP Tek 2026: Kubernetes and Semantic Search for PHP Developers
  28. The gap between Docker Compose and production Kubernetes
  29. Why I built a Kubernetes deployment tool
  30. Short Stints, Real Experience: Rethinking Career Tenure

2025 20

  1. Gratitude
  2. Burnout Prevention Through Strategic Reassignment
  3. When it rains …
  4. Your Return-to-Office Policy is Killing Your AI Strategy
  5. WordPress Infrastructure in 2025: Time for a Modern Approach
  6. Signal vs. Noise: How AI Slop Kills Conversation
  7. Distilling the Cloud: The Journey Continues
  8. Finding Balance: Building Scalable Systems While Paying the Bills
  9. The Deceptive Promise of AI
  10. Managing Multiple Identities with Git Configuration
  11. Overcoming GitOps Implementation Challenges
  12. Containerized RSS
  13. Blogs and NUCs and Caching, Oh My!
  14. When is a Deployment “Good Enough?”
  15. GitOps and DIY Infrastructure: A Match Made in DevOps Heaven
  16. Simplify, simplify, simplify
  17. Consistent Infrastructure
  18. A Foray into Private Hosting
  19. Job Search – Unreasonable Expectations
  20. Technology has gotten dumber

2024 13

  1. WordPress Drama: Crossfire
  2. WordPress: The Drama Continues
  3. WordPress Drama: From the Sidelines
  4. WordPress, Hosts, and Hosting
  5. Bounties and Risk
  6. Find Your Tribe
  7. The Great Migration: Mastodon
  8. Password Security
  9. The Great Migration: Next Steps
  10. Tech Error: Diversity Not Found
  11. The Great Migration: Configuring the Server
  12. The Great WordPress Migration
  13. Customer Focus: Acquisition vs Retention

2023 3

  1. An Ode to Open Source
  2. Hiring and risk
  3. PHP Strict Typing

2022 78

  1. You are not your customer
  2. Understanding access control
  3. Adversarial mindsets
  4. Going analog
  5. Radical candor
  6. Cryptopals: Set 1 – challenge 8
  7. Cryptopals: Set 1 – challenge 7
  8. Cryptopals: Set 1 – challenge 6
  9. Limiting network egress
  10. Basic firewall usage
  11. Overcoming imposter syndrome
  12. Imposter syndrome
  13. Headless WordPress
  14. Cooking with credentials – pepper
  15. Cooking with credentials – salting
  16. Cooking with credentials – the basics
  17. Communication, focus, and tone
  18. You should learn PHP
  19. Why phishing attacks succeed
  20. Representation in tech
  21. The journey to PCI compliance
  22. Driving readership
  23. Types of time
  24. A Libsodium-based secure remote password scheme for PHP
  25. String comparison in PHP
  26. Self-obfuscating value objects
  27. Securing tokens in PHP
  28. Paying off technical debt
  29. Cryptopals: Set 1 – challenge 5
  30. Cryptopals: Set 1 – challenge 4
  31. Cryptopals: Set 1 – challenge 3
  32. Cryptopals: Set 1 – challenge 2
  33. Cryptopals: Set 1 – challenge 1
  34. The Cryptopals challenges
  35. One perspective on career stages
  36. Do the dishes – right now
  37. The value of encryption
  38. Technology cost analysis
  39. Establishing trust in business
  40. Information leakage and side channel attacks
  41. Security by obscurity
  42. The value of repetition
  43. Right to repair
  44. Own your mistakes
  45. Basic cryptography – Diffie-Hellman key exchange
  46. Fear of deployment
  47. One month with WordPress
  48. You absolutely SHOULD roll your own crypto
  49. Basic cryptography – the Vigenere cipher
  50. Different cipher types
  51. Basic cryptography – the Caesar cipher
  52. Modulo arithmetic with large numbers
  53. Modulo exponentiation in PHP – three ways
  54. Ethics in technology and advertising
  55. Today’s youth will define tomorrow’s technology
  56. Understanding modulo arithmetic with clock functions
  57. How do you stay current?
  58. Reducing associative arrays in PHP
  59. Hashing is not encryption – redux
  60. Find it, buy it, build it
  61. The power of habit
  62. Is PHP a functional programming language?
  63. Why is it important never to reuse a nonce?
  64. Curating powerful blog topics
  65. How do you become an expert?
  66. What exactly are NFTs?
  67. Snazzier parameters in PHP 8
  68. Weighted random choice in PHP
  69. Verifying randomness in PHP [Part 2]
  70. Verifying randomness in PHP [Part 1]
  71. Hashing is not encryption
  72. Lock picking can make you a better engineer
  73. Using a 3D printer for practical home repair
  74. Demystifying forms of encryption
  75. Prioritizing time for creativity
  76. End-to-end encrypted secret sharing
  77. A new tech stack for WordPress
  78. Find your voice

2021 1

  1. The Journey to 100k Daily Readers

2020 13

  1. Cracking the Uncrackable – Hashtopolis
  2. Cracking the Uncrackable – Hashing Setup
  3. Cracking the Uncrackable – Password Guessing
  4. Cracking the Uncrackable – Background
  5. Cracking the Uncrackable – Background
  6. Cracking the Uncrackable
  7. One year ago today …
  8. One Man’s Unsolicited Opinion on the WordPress 5.6 All-Women Release Squad
  9. Storytelling
  10. Sciencing the Data
  11. Unboxing the Lemur Pro
  12. Slack Autoresponder – Part II
  13. Slack Autoresponder – Part I

2019 12

  1. System76: Reflections of a Superfan
  2. Keeping Fresh
  3. WordPress Nonces: Why We Can’t Have Nice Things
  4. In the Wild: Phone Automation
  5. RingCentral Game Changers: Automated Messaging
  6. RingCentral Game Changers: Transcription with Rev.ai
  7. RingCentral Game Changers: MonkeyLearn
  8. RingCentral Game Changers: Getting Started
  9. Changing the Game
  10. Leveling up with the RingCentral API
  11. Developer Evangelism
  12. Context Managers in PHP

2018 17

  1. Release Freeze is Coming
  2. I Won’t be at ZendCon
  3. Mastodon: Social Media Made Social
  4. System76 Oryx Pro – First Impressions
  5. Configuring Yubikeys, GPG, and Keybase
  6. Disclosure: SQL Injection in Cart66 Pro
  7. Introducing Secure Updates for WordPress
  8. Open Letter to the Democratic Party of Washington County
  9. The Value of Repetition
  10. The Value of Fiction
  11. Software Vulnerabilities, Disclosure, and Marketing
  12. Private Variables in JavaScript
  13. Deterministic Random Numbers in PHP
  14. Mocking Time in Unit Tests
  15. Twitter in Decline
  16. Strict Typing
  17. Reflections and Foreshadowing – 2018 Edition

2017 12

  1. Building a Phone Routing System
  2. Gutenberg and the Road Ahead
  3. Missing: Diversity in Tech
  4. Statistics, Facts, Opinions, and Bias
  5. World Domination through WordPress Security
  6. How I Started Speaking
  7. Managing Gearman Securely
  8. Job Definitions
  9. WordPress.com is not WordPress
  10. Why Phishing Attacks Succeed
  11. What S.J. Resolution 34 Means For You
  12. Intentions – Real and Imagined

2016 7

  1. Introducing Sessionz
  2. Going Negative
  3. Owning My Internet
  4. Email Lock-down
  5. Refactoring in Real Life
  6. Security, Internationalization, and Performance
  7. Deprecate Magic Constructors in PHP

2015 5

  1. The Value of HTTPS Everywhere
  2. Community Support
  3. Gardening and God
  4. Wireless Safety
  5. Workaholics Anonymous

2014 366

  1. Lessons Learned from Daily Blogging
  2. Spirit of Democratization
  3. Layers of Security
  4. Iterative Improvement
  5. JavaScript: The Importance of Input Validation
  6. If Today Were Your Last …
  7. Mired in Mystery
  8. 2014 Salary Survey Results
  9. Write-only Database Scheme
  10. Be Yourself
  11. Most Christmas Music Isn’t for Me
  12. Immediate Reaction to EU VAT Regulations
  13. Death by Documentation
  14. The Sony Precedent
  15. First Thought Wrong
  16. Bundling and Bloatware
  17. No Excuses
  18. Moral Absolutes
  19. All Work and No Play
  20. Editorial Calendars and Unintentional Spam
  21. [Survey] Salary Expectations
  22. WordPress Permalink Performance – Part 2
  23. Disruptive Innovation
  24. The True Cost of Shared Hosting
  25. Cross-Platform Software
  26. Customer Loyalty
  27. Are You Ready?
  28. Guilty Until Proven Innocent
  29. Encryption, Information Leakage, and Side-Channel Attacks
  30. Encryption, Information Leakage, and Side-Channel Attacks
  31. Stories Abound
  32. White Hat Documentation
  33. First World Problems
  34. Changing Paradigms
  35. Debit Card (Lack of) Security
  36. Witnessing a Miracle
  37. WordPress Permalink Performance
  38. Toxic Valuation
  39. Professional Paranoia
  40. Perception is Everything
  41. Platform Agnostic
  42. Beautiful Code
  43. Edward Snowden: Heroism in the Face of Tyranny
  44. Cryptography, JavaScript, and Performance
  45. Modular Architecture
  46. Fear-Mongering and Firearms
  47. Vote with your feet
  48. Fifteen Minutes
  49. WordPress 4.1 Includes a Session UI
  50. Today’s Youth and Tomorrow’s Technology
  51. Gauging Your Audience
  52. Strategically Building Content
  53. WordPress Comes of Age
  54. Packing for a Trip
  55. Keep Your Environment Clean
  56. Open Sourcing Awesomeness
  57. Community and Micro-celebrity
  58. When asked for your opinion …
  59. No I in Team
  60. The Future of WordPress and Mobile
  61. Think Outside the Bubble
  62. A Month Without Twitter
  63. What Makes Content Viral?
  64. Behind the Scenes: Modular Code
  65. A Night with Patrick Rothfuss
  66. WordPress and Auto-Linking
  67. Credit Where It’s Due
  68. WordCamp San Francisco and the State of the Word
  69. Writing Challenges
  70. Speak with Authority
  71. TDD: Proof of Life
  72. Where You Got Your Shoes
  73. Bucket Lists
  74. Following the Rules
  75. Mega Churches and Freshman-level Lecture Hall
  76. Upgrade Sensitivity
  77. Three Tips for Smooth Business Presentations
  78. A Tale of Two Package Managers: Composer and NPM
  79. WordPress, Security, and Member Management
  80. Ethical Quandary: iPhones and Encryption
  81. Email Syndication
  82. Static Content and Real-time Streaming
  83. Does It Fit?
  84. Content and Quantum Mechanics
  85. Copyright, DRM, and Diminishing Returns
  86. Code, Credentials, and Public Repositories
  87. Deduplication and Self-Plagiarism
  88. The Fallacy of the $1 Salary
  89. Dangerous Theology
  90. WordPress Plugins – Return on Investment
  91. The Value of Peer Review
  92. jQuery and Cross-site Scripting
  93. Digital Detox
  94. Make Outrageous Promises – and Keep Them!
  95. Software: Cautionary Tales
  96. Diversity of Experience
  97. Modular Code
  98. WordPress Database Encryption
  99. Clean up your clutter
  100. Be Aware of Context
  101. Ultra-rapid Prototyping
  102. Fasting
  103. Security, Legal Bypass, Warrants, and Apple
  104. If you’re not part of the solution …
  105. DNS and Cross-Site Scripting
  106. When I Say I’m Proud of You
  107. Advertising Experiments
  108. Freedom of Information
  109. Birthdays and Three-way Hash Collisions
  110. WordPress and Default Themes
  111. Don’t Quote Hours
  112. Hertz: A Study in Failed Customer Service
  113. 7 Things WordPress Developers do Right
  114. Take Yourself out of the Equation
  115. Inbox: Is self-learning enough?
  116. The Birthday Paradox
  117. Expect the Unexpected
  118. Splinternet
  119. WordPress Core Proposal: Dependency Management
  120. Testing Responsive Websites
  121. It’s a Dirty Job
  122. Scripting vs Programming: PHP and OOP
  123. Playing the Lottery
  124. Fake it ’til You Make it
  125. The Right to Assemble
  126. Finding my Faith
  127. Us versus Them
  128. Flat Hierarchy
  129. Be the one to step up
  130. Culture Fair
  131. More than a Hashtag
  132. Blogging Patrons
  133. Context-free Cold-Calling is Dangerous
  134. The Peace of Fishing
  135. Above and Beyond
  136. Missing the Point
  137. Brick and Mortar
  138. Mixing Faith and Politics
  139. Content Categorization
  140. Three words can make or break your reputation
  141. Faith and Cowardice
  142. What Are Your Skills Worth?
  143. Injustice in Bottle Returns
  144. Interesting Hacking Attempts
  145. The High Price of Perfection
  146. The Value of Blogging … Almost Never
  147. Niche Blogging
  148. Crowdstorming Conference Topics
  149. WordPress Core Proposal: Session Management
  150. Why Fiction
  151. Adrenaline Rush
  152. Creating New WordPress Projects
  153. Third Party Dependencies
  154. Selector Caching in jQuery
  155. WordCamps, Community, and Confusion
  156. The Best Laid Plans
  157. To be early is to be on-time
  158. Skinning a Site
  159. Why I love books, and how we can save them!
  160. Sudden Shifts
  161. Why Critique WordPress
  162. WordPress Core Proposal: Plugin Repositories
  163. Immutable Information
  164. They Should’ve Built it Better
  165. How Much is Enough?
  166. Indie Publishing
  167. Supply and Demand – eBooks
  168. Variable Coalescing
  169. Right to Privacy in the Digital Age
  170. Poetry is Code
  171. Device Security
  172. Languages, Frameworks, and Developer Valuation
  173. Jekyll is not a “WordPress Killer”
  174. Surfacing Legacy Content
  175. Physical Security
  176. Self-Hosted VPN
  177. Rethinking Email Subscriptions
  178. The Point of Ridiculosity
  179. Is Daily Blogging Worth it?
  180. Regional Bias
  181. Don’t be that guy: A Lesson in Conference Etiquette
  182. On Patriotism
  183. The Effect of Privacy Violation
  184. How Local Development has Failed
  185. More than a Logo
  186. Why Comments Matter
  187. Why Speak?
  188. Why is Air Travel So Painful?
  189. Varying Vagrants Evolved
  190. Multi-Instance Factories in PHP
  191. A Walk in the Woods
  192. Why the Debate on Net Neutrality Dooms us All
  193. Everything Can Change in a Second
  194. Measuring Productivity
  195. Regional Publication
  196. Conference Scheduling Fiascos
  197. Peak Productivity
  198. How the GPL Limits Freedom
  199. 40 Days in the Desert
  200. How Vested are You?
  201. Attention Span
  202. Net Neutrality: Crowdsourcing Data
  203. PHP: Read Only Attributes
  204. JavaScript: Read Only Attributes
  205. Someday is the Enemy of Progress
  206. Making the Decision for Open Source
  207. Why Doesn’t Someone Do Something?
  208. Intrinsic Value
  209. It’s a Dirty Job …
  210. Surprising Search Results
  211. Open Letter to SourceForge and FileZilla
  212. Freedom and Faith
  213. SHA and Length Extension Attacks
  214. JavaScript and Smart Forests
  215. Sacrificing for a Glimpse of Beauty
  216. Take Time to Give Back
  217. Asynchronous Conversations
  218. Code Smell
  219. PHP Output Parameters
  220. What Comes Next?
  221. Why I use the MIT License
  222. Fragment Caching in WordPress
  223. You Only Have Two Eyes
  224. Filtering Arrays in PHP
  225. Setting a Goal
  226. Don’t Delay Dirty Dishes
  227. Pivot Planning
  228. Mobile Optimization
  229. Generational Differences
  230. Of Meetups and Hackathons
  231. Misleading Data
  232. Playing the Field
  233. Russia’s Deputy Prime Minister flat-out threatened Romania on Twitter
  234. Learning from the Best
  235. Vagrant, Hyper-V, Dynamic Hosts
  236. Diversify your Audience
  237. Stories and Bias
  238. Machine Learning
  239. How to blog more: What comes to mind?
  240. What is a Thought Leader?
  241. Conference Types
  242. Hyper-VVV on Windows
  243. What is your Digital Footprint?
  244. Life is Precious
  245. Thought Leadership
  246. Client-side Productivity Tools with Node
  247. Differentiation and Diversity
  248. Unexpected Networking
  249. PHP, Security, and Lambdas
  250. Monkeys in the Machine
  251. When Bigotry became OK
  252. Air Travel and Elitism
  253. Remote and Secure
  254. Network Dependency
  255. Smallest Unit of Work
  256. WordPress and Password Hashing
  257. Be Real with Yourself
  258. Entrepreneurial Energy
  259. Monkeys in the Machine
  260. I submitted a WordPress patch no one asked for; you’ll never guess what happened next!
  261. Gracefully Handling Too-large Files in PHP
  262. What do you get out of film
  263. Travel Light
  264. YouTube and postMessage
  265. Daily Habits
  266. Make Time for Things that Matter
  267. Responsible Disclosure
  268. Just Ship Already
  269. Reinventing the Wheel
  270. Situational Awareness
  271. WordPress, Options, and Auto-loading
  272. Are You Nuts?
  273. Why Showing The WordPress Username Is A Security Risk
  274. The Death of Sponsored Content
  275. You Can’t Go Home
  276. WordPress 4.0 Preview
  277. Redis Object Cache for WordPress
  278. Reconciling Faith and Science
  279. Choosing a Conference Topic
  280. Crowdfunding and Transparency
  281. JavaScript and Closures
  282. WordPress Core Proposal: Data Service
  283. What Constitutes a Publisher?
  284. Communication and Cynicism
  285. Technical Innovation
  286. Rights and Derivative Works
  287. Dynamic CDN: PHP and Checksums
  288. Poetry is Code
  289. Why I Can’t Run for Office
  290. … The Universe will Provide
  291. Is “Organic” Just a Buzz-word?
  292. Avoid Abstraction Layers if You Can
  293. WordPress and Shadow Taxonomies
  294. Popcorn Trees
  295. How to Fight Burnout
  296. WordPress Core Proposal: Portability
  297. Own Your Space
  298. The Goal of Blogging
  299. Role Models
  300. Magic of Collaboration
  301. Why I Advocate “Anti-Patterns”
  302. Singleton: Alternative to the Anti-Pattern
  303. Vagrant and Windows
  304. In-Market Analogs
  305. Market Research can be Misleading
  306. Transparent Monetization
  307. By The Numbers
  308. Democratizing SSL Certificates
  309. “Sold Out”
  310. WordPress Core Proposal: Comment Remastering
  311. Proper Code Styling
  312. Quality Traffic
  313. Pick a Topic
  314. How Secure is the Internet of Things?
  315. DVCS is Broken
  316. Full-Stack Application Development
  317. The Path to my Present
  318. The Benefits of Public Speaking
  319. Understanding Parallel Processing
  320. How To: Blog Every Day
  321. Data Leakage – Part 2
  322. Valentine’s Day
  323. Is Your TV Watching You?
  324. WordPress Core Proposal: Offline Editor
  325. A Hack a Day Keeps the Boredom at Bay
  326. Hitting a Stride
  327. Why I Write
  328. Daily Dogfooding
  329. Just Beneath the Surface
  330. Inbox: How do I remove jQuery
  331. WordPress Core Proposal: Code of Ethics
  332. Priorities and Stereotypes
  333. Customer-Centric Development: Lesson 11
  334. Customer-Centric Development: Lesson 10
  335. Customer-Centric Development: Lesson 9
  336. Customer-Centric Development: Lesson 8
  337. Customer-Centric Development: Lesson 7
  338. WordPress Core Proposal: Portable Revisions
  339. Customer-Centric Development: Lesson 6
  340. Customer-Centric Development: Lesson 5
  341. Customer-Centric Development: Lesson 4
  342. Customer-Centric Development: Lesson 3
  343. Customer-Centric Development: Lesson 2
  344. Customer-Centric Development: Lesson 1
  345. WordPress Core Proposal: Shortcode Tracking
  346. Tower of Babel
  347. Dogfooding: Fighting the Post-Conference High
  348. Post-Conference High
  349. Web Requests and Data Leakage
  350. Why Speak at WordCamp?
  351. jQuery Portland – Unit Testing
  352. WordPress Core Proposal: Aribitrary File Upload
  353. Ethics in Software Development
  354. Open Source Matters
  355. Can I Count on You?
  356. How I Started in Web Development
  357. Dwell Not on What Lies Ahead
  358. Defining Your Audience
  359. WordPress Core Proposal: SUDO
  360. Hyper-Individualism is Dangerous
  361. Does “The Fold” Still Matter
  362. Photon and HTTPS – Making It Work
  363. Server-side Analytics through Google
  364. The Things That Matter Most
  365. How to Blog More in 2014
  366. Securing XML-RPC for WordPress

2013 33

  1. Passing the Torch
  2. Opinions. I Have Them.
  3. Query, Template, Actions as MVC in WordPress
  4. Crowdfunding a New Year’s Goal
  5. To Test or Not To Test: Unit Testing and Privacy
  6. Linux-flavored Windows
  7. Three Decades Down
  8. WordPress: Falling Behind or Still Leading?
  9. Hi jQuery, Meet Vagrant
  10. WordPress is One Of the Best Decisions You Can Make
  11. Limited Liability
  12. SEO: Gaming the System
  13. WordPress, meet seoslides
  14. In Pursuit of an Ideal
  15. Modular WordPress
  16. WordPress, Forking, and the Road to 4.0
  17. Automated WordPress Development
  18. Securing Forms Without Captcha
  19. JavaScript Astrophysics
  20. Plugin Review – Spam Free WordPress
  21. Ludicrous Speed: WordPress Caching with Redis
  22. The Hackiest Hack that Ever Was Hacked
  23. Reader is Dead! Long Live Reader!
  24. Podcast
  25. 1Password: Better and Worse for Personal Data Security
  26. Podcast
  27. Podcast
  28. Don’t Dequeue WordPress’ jQuery
  29. Distraction Free Reading Mode
  30. Podcast
  31. Podcast
  32. Making Singletons Safe in PHP
  33. Podcast

2012 40

  1. The Case for Singletons in WordPress
  2. WordPress Plugin Structure
  3. Introducing WP_Session
  4. WP_Session: A Proposal
  5. Haiti 2012
  6. Twenty-Nine
  7. There’s Nothing Wrong with Comic Sans
  8. jQuery as a Global Event Bus
  9. Use Your Head
  10. 2012 Portland Marathon
  11. Flagship Store: Marketing Fail
  12. Using XML-RPC in WordPress
  13. Theme-ready Shortcodes in WordPress
  14. Hear the Cry
  15. Marketing with Brochures
  16. Review: 3D Holiness
  17. Why I Left My Job
  18. Character Quest – Service
  19. The Anatomy of an Exploit
  20. Goodbye, My Friend
  21. Self-Confidence
  22. Doing it Wrong the Right Way
  23. Why Sponsor WordCamp Portland
  24. Courage and Prayer
  25. Universal User Support
  26. Merging WordPress Multisite
  27. How to Contribute to WordPress Core
  28. Classy Plugins
  29. Start with a Unit Test
  30. Dependency Injection and Abstract Interfaces in C#
  31. You Have an Opinion?
  32. URLs and UX
  33. Happy Hunger Games
  34. Playing Nice With Others
  35. Once Upon a Time
  36. Free and Open
  37. I’m Building a Cathedral!
  38. Data versus Meaning
  39. Live to Work
  40. Welcome Back!

2011 49

  1. Post Supplements – A Concept
  2. My Prayer
  3. WordPress Portland
  4. Security Vulnerabilities
  5. Keeping it Realtime – Day 2
  6. Keeping it Realtime
  7. Statement of Faith
  8. WordPress Weekly
  9. Live Blogging – AJAX Polling
  10. Installing a New Engine – Nginx
  11. One Time Password Security
  12. Shortcuts in Chrome
  13. Reflecting on a Decade
  14. Patience
  15. Loading Legacy Content in an iFrame
  16. Perseverance
  17. A Change of Perspective – Hiking in Yosemite
  18. Boundless Summer Challenge – Task 20
  19. Boundless Summer Challenge – Task 15 – Part 2
  20. Boundless Summer Challenge – Task 19
  21. Boundless Summer Challenge – Task 18
  22. Boundless Summer Challenge – Task 17
  23. Boundless Summer Challenge – Task 16
  24. Boundless Summer Challenge – Task 15
  25. Boundless Summer Challenge – Task 14
  26. Boundless Summer Challenge – Task 13
  27. Boundless Summer Challenge – Task 12
  28. Boundless Summer Challenge – Task 11
  29. Boundless Summer Challenge – Task 10
  30. Boundless Summer Challenge – Task 9
  31. Boundless Summer Challenge – Task 8
  32. Boundless Summer Challenge – Task 7
  33. Boundless Summer Challenge – Task 6
  34. Boundless Summer Challenge – Task 5
  35. Boundless Summer Challenge – Task 4
  36. Boundless Summer Challenge – Task 3
  37. Boundless Summer Challenge – Task 2
  38. Boundless Summer Challenge – Task 1
  39. From the Inside Out
  40. In Pursuit of Passion
  41. How to Publish a WordPress Plugin – Git
  42. How to Publish a WordPress Plugin – Subversion
  43. In Pursuit of Innocence
  44. Self-Funded Line of Credit
  45. The Death of the Idea
  46. A Rookie Attempt at Cron in CentOS
  47. WordPress and Ajax
  48. Communion and Shaving
  49. Why Open Source? – Part 2

2010 53

  1. Open Source Decision Making
  2. Merry Christmas
  3. A Quick GPL Overview
  4. Fear
  5. Object-Oriented JavaScript
  6. Consider the Source
  7. Why Open Source?
  8. The Robustness Principle
  9. Things Found in the Forest – Part 1
  10. WordPress XML-RPC — MovableType API
  11. What Drives your Faith?
  12. WordPress XML-RPC – MetaWeblog API
  13. Investing your Talents
  14. WordPress XML-RPC – Using the API
  15. WordPress XML-RPC – An Introduction
  16. Motivation
  17. A Manly Occupation
  18. The Dangerous Allure of the GPL
  19. What Bought You to Slavery?
  20. Reflecting on the Boundless Summer Challenge
  21. Boundless Summer Challenge – Task 9
  22. Google Reader – Revisited
  23. JavaScript Event Bus
  24. Environmental Modeling – Part 2
  25. Environmental Modeling
  26. Amazing
  27. The Importance of Being Well-Read
  28. Do You Leave Time on the Table?
  29. Violent Tranquility
  30. Paper Prototyping
  31. Do Something Worthwhile
  32. Google Reader API – A Brief Tutorial
  33. Patience
  34. Do Members Subscribe?
  35. Trust Issues
  36. How Relevant is your Brand?
  37. Feed Me!
  38. Work Ethic
  39. Bridge to Somewhere
  40. Traces
  41. Burger King
  42. Ten Reasons eReaders Will Never Replace Paper Books
  43. Me, Too!
  44. The Accidental Consultant
  45. When Community Software Becomes Community Property
  46. XML-RPC
  47. Expediency
  48. What Constitutes Expertise?
  49. Make a Good First Impression
  50. Coffee Shop – Part 1
  51. Bread Run
  52. A Drop in a Bucket
  53. Advent of Evil – Part 10 of 10

2009 65

  1. Advent of Evil – Part 9 of 10
  2. Advent of Evil – Part 8 of 10
  3. Creative Voice
  4. Advent of Evil – Part 7 of 10
  5. Bayesian Statistics – Conclusion
  6. Bayesian Statistics – Part IV
  7. Bayesian Statistics – Part III
  8. Bayesian Statistics – Part II
  9. Bayesian Statistics – Part I
  10. Advent of Evil – Part 6 of 10
  11. A Night at the Museum – 2
  12. A Night at the Museum
  13. Advent of Evil – Part 5 of 10
  14. Directions
  15. Advent of Evil – Part 4 of 10
  16. Advent of Evil – Part 3 of 10
  17. Critical Mass
  18. Advent of Evil – Part 2 of 10
  19. Motivation
  20. Self-Marketing: Track your accomplishments
  21. Advent of Evil – Part 1 of 10
  22. Statistical Relevance
  23. What do you do?
  24. A Dream of Remembrance Lost
  25. Origins
  26. The End of an Era
  27. Using Twitter for Business
  28. Dealing with Unhappy Customers
  29. Electronic Media
  30. Smart Web Design
  31. WordCamp Portland
  32. The 10 Commandments of Customer Service
  33. The 10 Commandments of Blogging
  34. This week in sports
  35. The 10 Commandments of Vacation
  36. The 10 Commandments of Branding
  37. Social Media
  38. The 10 Commandments of Marketing
  39. If It’s Not Written Down …
  40. The 10 Commandments of Web Design
  41. Balance
  42. Multi-faceted Marketing
  43. A Spirit of Service
  44. 10 Ways to Save Money Using a Brand Coach
  45. How to Choose a Good Brand Coach
  46. Abandoned Artwork
  47. The Name of the Game
  48. What is your Google score?
  49. Pay Time
  50. Know Your Customer
  51. Marketing on a Shoe-string
  52. Using Psychographics
  53. The Importance of Psychographics
  54. Pyschographics Redefined
  55. Security
  56. What’s Holding You Back?
  57. How Twitter Makes You A Crappy Writer
  58. How Twitter Makes You A Better Writer
  59. Speaking in Code
  60. Secret Sauce
  61. Bloatware
  62. It’s a Pink Gorilla
  63. Domain Names
  64. Brandology
  65. Outlets

2008 50

  1. Branding Habits
  2. Habits
  3. Consistency
  4. Branding a phenomenon
  5. Bureaucracy
  6. Tradition
  7. How to execute a brand
  8. Entitlement and Cynicism
  9. Three Pillars
  10. Climb On!
  11. Laundry Day
  12. Inflation?
  13. Push Me, Pull You
  14. Apple – Psystar
  15. Brand YOU
  16. Ten Ways to Build a Stellar Blog
  17. Commodities
  18. Brand Managers Anonymous
  19. Biscuits & Gravy
  20. Marketing to Disaster
  21. Logos and Avatars
  22. Defending the Brand
  23. What’s in a name?
  24. “Blog it out”
  25. Segmented Advertising
  26. What’s your worst table?
  27. Organic or Synthetic?
  28. Master Brand
  29. Marketing Sustainability
  30. Mindshare
  31. YouTube
  32. ‘Negative’ Equity
  33. Brand Equity
  34. Fresh Marketing Theory
  35. The Power of Social Media
  36. Brands and Partnerships
  37. Blogging and HR
  38. Personal Branding
  39. Brand Equity – Part 2
  40. Brand Happens
  41. Luxury Branding
  42. Why Guerrilla Marketing?
  43. Guerrilla Marketing
  44. Discounts
  45. Preview
  46. House of Brands
  47. Acquisitions
  48. Red Ocean Islands
  49. Blue Ocean Strategy
  50. Telling Your Own Story: Part II

2007 27

  1. Telling Your Own Story
  2. Comparative Advantage
  3. Staggered Entry
  4. Tows
  5. Landscaping
  6. Public Relations
  7. Brand Advertising
  8. What’s the Point?
  9. Negative Space
  10. ‘Tis the Season
  11. Story Tellers: Part II (con’t)
  12. Story Tellers: Part II
  13. Design
  14. Animation
  15. Avatars
  16. Branding
  17. Story Tellers: Part I
  18. Mirror, Mirror …
  19. Who are you?
  20. Differentiation
  21. Segmentation
  22. The Perfect Customer
  23. Open for Business
  24. Axe by Unilever
  25. How well is your Internet working?
  26. Vocabulary
  27. Blue Oceans