1. Does the Staff title even matter? June 28, 2020. staff-plus career
  2. Where do Staff-plus engineers fit into the org? June 28, 2020. staff-plus management
  3. StaffEng Updates, June 2020 June 23, 2020. staff-eng
  4. Stuff I've learned about Diversity, Equity and Inclusion over the past few years. June 20, 2020. inclusion management
  5. How to practice backend engineering. June 20, 2020. architecture interviewing
  6. Trapped in a Values Oasis. June 18, 2020. management
  7. My career story. June 14, 2020. stories career
  8. Mentoring from privilege. June 13, 2020. mentorship
  9. Ways I'm available to help. June 12, 2020.
  10. Black Lives Matter. May 30, 2020. stories
  11. To lead, you have to follow. May 25, 2020. management
  12. The rush to "show value." May 5, 2020. management
  13. April updates for StaffEng. April 23, 2020. staff-eng
  14. Picking problems for programming interviews. April 19, 2020. interviewing staff-plus python
  15. Minding our stories. April 16, 2020. tech stories
  16. Testing Python projects for Google Cloud Run. April 11, 2020. gcp python
  17. Staff engineer archetypes. April 9, 2020. staff-plus management
  18. Poking around Contentful. April 5, 2020. contentful
  19. Build versus buy. April 5, 2020. management
  20. Staying aligned with authority. April 2, 2020. staff-plus management
  21. Getting in the room. March 28, 2020. staff-plus management
  22. Learn to never be wrong. March 21, 2020. staff-plus
  23. How do folks reach Staff Engineer? March 19, 2020. staff-eng
  24. Hotspotting developer productivity. March 17, 2020. architecture productivity
  25. vtt-compactor: slightly less verbose VTT files. March 7, 2020.
  26. Resources for Staff-plus engineers. March 7, 2020. staff-plus
  27. From one to two: how to start a successful distributed engineering office. March 3, 2020. management
  28. Interviewing senior engineering leaders. February 18, 2020. management hiring
  29. Mailbag: Evolving your engineer career beyond the career level. February 13, 2020. career staff-eng mailbag
  30. Crowdsourcing CTO/VPE learning circles. February 11, 2020. management
  31. Do you work at a tech company? February 10, 2020. culture hiring
  32. Share stories, not advice. February 4, 2020. management
  33. How to partner with an executive assistant. January 28, 2020. management
  34. Example Call For Proposals submissions. January 25, 2020. conferences speaking
  35. Joining Calm. January 21, 2020. calm career
  36. Some rough notes on running learning circles. January 18, 2020. management
  37. How to build your company's engineering brand. January 16, 2020. management
  38. More great memos. January 14, 2020. memos
  39. Your first 90 days as CTO or VP Engineering. January 13, 2020. management cto
  40. How to navigate and/or survive your acquihire. January 2, 2020. acquisition management
  41. How the Digg team was acquihired. January 1, 2020. digg stories acquisition
  42. 2019 in review. December 26, 2019. career blog
  43. "Good Process is Evolved, Not Designed" in 97 Things Every Engineering Manager Should Know December 20, 2019. management writing
  44. Incident response, programs and you(r startup). December 19, 2019. reliability infrastructure
  45. Mailbag: When your team wants your job, personal brand, and service registries. December 9, 2019. management mailbag
  46. Maintaining platform-product fit. November 25, 2019. infrastructure
  47. "How to successfully design organizational processes" November 23, 2019. management speaking talks
  48. "Do engineering managers need to be technical?" in Increment. November 22, 2019. increment management writing
  49. Expanding on S[a-z]{3,} Reliability Engineer roles. November 18, 2019. sre infrastructure
  50. Notes on Building Evolutionary Architectures. November 15, 2019. architecture book
  51. You only learn when you reflect. November 14, 2019. career management
  52. Distributing your Slack application. November 11, 2019. slack python gcp
  53. Using Cloud Firestore to power a Slack app. November 10, 2019. slack python gcp
  54. Make Slack app respond to reacji. November 9, 2019. api slack python
  55. Adding App Home to Slack app in Python. November 8, 2019. api slack python
  56. Creating a Slack App in Python on GCP. November 6, 2019. api slack python gcp
  57. HMAC SHA256 signatures in Python and Flask. November 6, 2019. python slack
  58. Forecasting synthetic metrics. November 5, 2019. metrics infrastructure reliability
  59. Sending weekly 5-15 updates. November 3, 2019. management
  60. "Investing in technical infrastructure" October 31, 2019. infrastructure speaking talks
  61. Healthchecks at scale. October 27, 2019. infrastructure architecture
  62. An Elegant Puzzle by the numbers, five months later. October 23, 2019. elegant-puzzle
  63. Founding Monocle Studios. October 22, 2019. stories monocle-studios
  64. Nobody cares about quality. October 12, 2019. management
  65. A forty year career. October 8, 2019. career
  66. Notes on data modeling from Handbook of Relational Database Design. September 13, 2019. book
  67. Organizing team offsites. September 8, 2019. management
  68. Rewriting the Yahoo! BOSS Datahub. August 31, 2019. stories yahoo
  69. Describing fault domains. August 17, 2019. architecture infrastructure
  70. Distributed systems vocabulary. August 11, 2019. architecture infrastructure
  71. Reclaim unreasonable software. July 28, 2019. architecture
  72. What's the inverse of literate programming. July 14, 2019. literal rust
  73. Head in the clouds. July 7, 2019. cloud infrastructure
  74. Don't follow the sun. July 3, 2019. reliability infrastructure
  75. Notes on Escaping the Build Trap June 30, 2019. product book review
  76. Fostering program engagement. June 26, 2019. management org-programs
  77. Programs: tips for owning the unownable. June 25, 2019. management org-programs
  78. Some career advice. June 22, 2019. career
  79. Running systems library as Cloud Function. June 16, 2019. systems gcf cloud
  80. Path to engineering manager of managers. June 15, 2019. management career
  81. An Elegant Puzzle @ Software Engineering Daily June 14, 2019. elegant-puzzle podcast
  82. What I learned writing a book. June 8, 2019. elegant-puzzle writing
  83. Privilege's upward-facing window. June 1, 2019. management inclusion
  84. Elegant Puzzle press, reviews and podcasts. May 29, 2019. elegant-puzzle podcast writing
  85. An Elegant Puzzle is released today! May 28, 2019. elegant-puzzle management writing
  86. Make timeline tradeoffs using iterative elimination tournaments. May 25, 2019. management
  87. How to invest in technical infrastructure. May 19, 2019. infrastructure
  88. Can governments design great APIs? Let's hope so. May 12, 2019. data-localization
  89. An Elegant Puzzle is available for pre-order. April 25, 2019. elegant-puzzle
  90. To innovate, first deprecate. April 7, 2019. infrastructure systems-thinking
  91. Magnitudes of exploration. April 6, 2019. management infrastructure
  92. An Elegant Puzzle coming in late May. April 1, 2019. elegant-puzzle
  93. Fire fixation. March 23, 2019. management
  94. Rules of thumb for org design. March 17, 2019. management
  95. How to evolve an engineering organization. March 5, 2019. management
  96. Paying the predictability tax. February 24, 2019. management
  97. Valuing already-solved problems. February 23, 2019. product
  98. Why limiting work-in-progress works. February 17, 2019. management systems-thinking
  99. Binder for hosting Jupyter notebooks. February 10, 2019. systems-thinking systems binder
  100. Writing a reliability strategy: reason about complex things with system models. February 9, 2019. infrastructure systems-thinking systems
  101. Notes on Soul of a New Machine, Messy Middle, Crazy at Work, Company of One. February 2, 2019. book review management
  102. Growing with your company's complexity. January 29, 2019. management career
  103. Meeting people. January 26, 2019. management career
  104. An Elegant Puzzle: Systems of Eng Management. January 22, 2019. elegant-puzzle management writing
  105. Newsletter for Irrational Exuberance. January 20, 2019. newsletter
  106. Metrics for the unmeasurable. January 19, 2019. management metrics
  107. Some delightful developer experiences in 2019. January 7, 2019. apis product
  108. Good process is evolved, not designed. January 1, 2019. management
  109. Defining policy, process and programs. December 30, 2018. management
  110. Notes on Structure and Interpretation of Computer Programs. December 29, 2018. programming review book
  111. 2018 in review. December 27, 2018. writing blog
  112. "Paying Technical Debt at Scale - Migrations" December 13, 2018. infrastructure speaking talks
  113. Infrastructure planning: users, baselines and timeframes. December 9, 2018. infrastructure management
  114. Notes on The Timeless Way of Building November 24, 2018. book review architecture
  115. Quick tutorial on using GraphQL with Python. November 18, 2018. graphql python
  116. Headcount dilemmas. November 15, 2018. management
  117. Speaking at QCon SF 2018 about migrations. November 5, 2018. speaking
  118. Talent distributions. November 4, 2018. management
  119. Landing in the JET Program. October 15, 2018. stories jet japan
  120. Capturing resources. October 14, 2018. management
  121. Quick blogging update for October 2018 October 13, 2018. writing
  122. Notes on The Pyramid Principle. October 1, 2018. book review
  123. System dynamics in a jupyter notebook. September 30, 2018. systems jupyter
  124. Career narratives. September 26, 2018. management career
  125. Saying no. September 23, 2018. management
  126. Work the policy, not the exceptions. September 23, 2018. management
  127. Modeling a hiring funnel with Systems library. September 18, 2018. systems-thinking hiring
  128. Introduction to systems thinking. September 4, 2018. management systems-thinking
  129. Notes on A Philosophy of Software Design. September 3, 2018. architecture review book
  130. Designing interview loops. September 2, 2018. management hiring
  131. Communities of learning. September 1, 2018. management
  132. Time management: the leadership meta-problem. August 27, 2018. management
  133. Problem exploration, selection and validation. August 20, 2018. management product
  134. Introducing SREs, TPMs and other specialized roles. August 13, 2018. management
  135. Career levels, designation momentum, etc. August 11, 2018. management
  136. Designations, levels and calibrations. August 10, 2018. management
  137. Make your peers your first team. August 8, 2018. management
  138. Digg v4 @ Internet History Podcast August 6, 2018. digg podcast
  139. Presenting to executives. August 6, 2018. management
  140. Your hiring funnel. August 1, 2018. management hiring
  141. Scaling consistency. July 30, 2018. management
  142. Book recommendations. July 24, 2018. management book review
  143. Succession planning. July 23, 2018. management
  144. Identify your controls. July 21, 2018. management
  145. Opportunity & Membership. July 17, 2018. management inclusion
  146. Service cookbooks. July 15, 2018. infrastructure
  147. Sizing engineering teams. July 14, 2018. management
  148. Selecting project leads. July 12, 2018. management inclusion
  149. Writing strategies and visions. July 9, 2018. management leadership
  150. Braindump on approach to writing a technical book. July 8, 2018. writing
  151. Guiding broad change with metrics. July 6, 2018. metrics management leadership
  152. Goals and baselines. July 5, 2018. metrics management
  153. Digg's v4 launch: an optimism born of necessity. July 2, 2018. stories digg
  154. My rails for engineering leadership. July 1, 2018. leadership management
  155. Accelerate's definition of developer productivity. June 27, 2018. infrastructure devtools
  156. The briefest of media trainings. June 24, 2018. management
  157. A case against top-down global optimization. June 23, 2018. management
  158. Infrastructure migrations @ Interestings June 22, 2018. podcast infrastructure
  159. Staying on the path to high performing teams. June 17, 2018. management
  160. Where to stash your organizational risk? June 13, 2018. management
  161. Experiment with distributed finite state machines. June 2, 2018. infrastructure go
  162. You can't reason about big balls of mud. May 23, 2018. architecture infrastructure
  163. Consider the team you have for senior positions. May 19, 2018. management hiring
  164. Setting organizational direction. May 9, 2018. management
  165. Model, document and share. April 26, 2018. management
  166. Migrations: the sole scalable fix to tech debt. April 15, 2018. infrastructure management
  167. Reflections on the Systems & Papers. April 14, 2018. retrospective
  168. The Redis Protocol is pretty great. April 10, 2018. redis protocols infrastructure
  169. Some of my favorite technical papers. April 7, 2018. infrastructure software-engineering
  170. Close out, solve or delegate. March 29, 2018. management
  171. Managing in the growth plates. March 21, 2018. management
  172. Infrastructure engineering @ Inside Intercom March 20, 2018. podcast infrastructure
  173. Notes from "Good Strategy, Bad Strategy." March 1, 2018. management review book
  174. How I write group emails at work. February 17, 2018. management
  175. Refactoring Ruby programmatically. February 13, 2018. ruby devtools
  176. Seth Godin's The Dip. February 11, 2018. review book
  177. Product management in infrastructure engineering. February 6, 2018. infrastructure product management
  178. Global secondary indexes. January 30, 2018. infrastructure storage
  179. Experimenting with content and distribution. January 27, 2018. writing
  180. Inclusion in the first shift. January 23, 2018. management
  181. Vulnerability. January 20, 2018. management
  182. The physics of Cloud expansion. January 16, 2018. infrastructure cloud
  183. Async processing with sync semantics? January 15, 2018. infrastructure data
  184. Cold sourcing: hire someone you don't know. January 8, 2018. management hiring
  185. Roles over rocket ships, and why hypergrowth is a weak predictor of personal growth. January 2, 2018. management career
  186. Engineering management stuff I learned in 2017. December 29, 2017. infrastructure management
  187. Analyzing cross-service requests with Apache Beam. November 26, 2017. python infrastructure data
  188. From lambda to kappa and dataflow paradigms. November 22, 2017. architecture
  189. Tools for operating a growing organization. November 18, 2017. management
  190. Sketching out failure injection on Kubernetes. May 20, 2017. k8s
  191. Simple Continuous Deployment on GKE with gke_ci May 18, 2017. k8s gke deployment
  192. Trying out Google Container Engine May 14, 2017. k8s gke
  193. Providing pierceable abstractions. May 7, 2017. architecture
  194. Options for orchestrating periodic tasks. April 30, 2017. architecture k8s
  195. Increment has launched. April 13, 2017. increment writing
  196. Notes from fifth blog rewrite April 2, 2017. blog
  197. Running an engineering reorg March 17, 2017. management reorg
  198. Partnering with your manager March 13, 2017. management
  199. Technology Inheritance March 7, 2017. software-engineering
  200. Infrastructure between cost center and ego trip March 5, 2017. infrastructure architecture management
  201. Ways Engineering Managers Get Stuck March 3, 2017. management
  202. Braindump on Load Generation December 18, 2016. architecture load testing braindump
  203. Finding Managerial Scope October 31, 2016. management
  204. Usable QA Environments October 24, 2016. architecture qa
  205. Serverless: Gatekeeping and Profit Margins October 16, 2016. architecture serverless
  206. Productivity in the age of hypergrowth. October 10, 2016. management
  207. You Should Take More Vacation October 1, 2016. management
  208. Acing Your Architecture Interview September 27, 2016. interviewing
  209. Fail Open and Layer Policy September 20, 2016. architecture
  210. Thoughts on Envoy's Design September 18, 2016. architecture
  211. QoS, Cost & Quotas September 11, 2016. architecture scaling
  212. Running a Humane Interview Process June 9, 2016. management hiring
  213. Healing a Burned Out Team May 29, 2016. management burnout
  214. Wherein I Rewrite My Blog a Fifth Time May 20, 2016. blog
  215. Your Philosophy of Management May 7, 2016. management
  216. Adding Value as an Engineering Manager September 26, 2015. management
  217. Developing service oriented architectures. June 1, 2014. infrastructure architecture
  218. Building a Software Deployment Pipeline March 30, 2014. architecture software-engineering deployment
  219. Irrational Exuberance's Fourth Coming March 24, 2014. blog
  220. Company Culture and Managing Freedoms February 9, 2014. management software-engineering
  221. War Card Game in Python December 2, 2012. python
  222. Reflection on RethinkDB December 2, 2012. rethinkdb
  223. Kill Your Heroes, Stop Doing it Harder November 25, 2012. software-engineering management
  224. Configuration Driven Behavior November 25, 2012. architecture software-engineering
  225. Extraction: Get Metadata from HTML Documents November 23, 2012. extraction python
  226. Social Hierarchies in Engineering Organizations November 4, 2012. management software-engineering
  227. Creating Multi-Worksheet Excel Docs with xlwt November 4, 2012. python excel
  228. Building Technical Leverage November 4, 2012. software-engineering architecture
  229. Hosting a Paper Reading Group October 28, 2012. management software-engineering
  230. Why Pagination Was Hard at Digg August 25, 2012. digg
  231. Slack and Hope for Middle Management August 25, 2012. management
  232. Digg v4's Architecture and Development Processes August 19, 2012. digg architecture
  233. Writing, Analytics and Analysis April 10, 2011. blog analytics sisyphus
  234. Storing Bounded Timeboxes in Redis April 7, 2011. python redis
  235. Using Flot.js with the Digg Streaming API April 6, 2011. digg digg-streaming-api flot javascript
  236. Introduction to architecting systems for scale. April 4, 2011. infrastructure architecture
  237. How to Filter Bots From Analytics April 3, 2011. analytics
  238. Don't Make Me Defend Your Claims March 30, 2011. usability
  239. IE's New Infrastructure and Writing Workflow March 28, 2011. sisyphus redis git
  240. Irrational Exuberance's Third Rebirth March 27, 2011. sisyphus lifeflow blog
  241. Articles and Series March 27, 2011.
  242. Coding Projects March 27, 2011.
  243. Being Defensive January 22, 2011.
  244. Python Default Parameter Value Gotchas September 11, 2010. python
  245. Python Datastructures Backed by Redis September 5, 2010. python redis
  246. DjangoDash and Drinkfindr September 4, 2010. django
  247. Time to Load Redis Snapshots August 23, 2010. redis
  248. Notes on Redis Memory Usage August 22, 2010. redis
  249. SuperFamily Relationships with Lazyboy May 23, 2010. python cassandra lazyboy
  250. Tailing in Python May 16, 2010. python
  251. Callbacks Are An Informal Pipeline March 7, 2010. javascript node-js
  252. Porting Django's urlpatterns to Node.js March 6, 2010. javascript node-js
  253. Retiring and Releasing Codernote.com February 20, 2010. django
  254. The Day I Broke Production February 14, 2010. erlang stories
  255. Looking For a New Agenda February 7, 2010.
  256. Log Collection Server with Node.js January 30, 2010. javascript node-js
  257. Debugging Crashes With Small Scripts January 23, 2010. erlang
  258. A Python-Markdown Extension for Embedding Graphviz January 16, 2010. python markdown
  259. Formatting Multipart Formdata in Erlang January 10, 2010. erlang
  260. A Photo Album with Python and PIL January 4, 2010. python pil
  261. Refactoring & Testing Our Dynamo Clone January 2, 2010. erlang distributed-systems
  262. Quick Notes for Starting 2010 January 1, 2010.
  263. Crash on Compiling App With MKMapView December 31, 2009. iphone
  264. Nagios Monitoring for Erlang December 30, 2009. erlang
  265. Replicating receive-after in an Erlang gen_server December 13, 2009. erlang
  266. Durable Writes & Consistent Reads November 30, 2009. erlang distributed-systems
  267. Hands On Review of the Dynamo Paper November 30, 2009. erlang distributed-systems
  268. Recurring Events and Message Passing November 25, 2009. actors erlang clojure agents concurrency
  269. Scalable Scraping in Clojure November 24, 2009. screen-scraping clojure agents concurrency
  270. A Couple of Clojure Agent Examples November 22, 2009. actors clojure agents concurrency
  271. Writing Files in Clojure November 16, 2009. clojure
  272. Reading Files in Clojure November 15, 2009. clojure
  273. Setting Up TLA+ Tools on OS X October 31, 2009. tla
  274. Comments on "Why Engineers Should Consider Formal Methods" October 20, 2009. computer-science software-engineering
  275. Money or Meaning: Spending Our Wealth of Time October 11, 2009. essay
  276. Cleaning up erlang_markdown October 10, 2009. markdown erlang
  277. A Failed Stack-based Markdown Interpreter September 27, 2009. markdown erlang
  278. Proposal for Authenticating Web Callbacks September 20, 2009. web-callbacks
  279. Generating RSS feeds via BeepBeep September 20, 2009. beepbeep
  280. How Pitance Versions Documents in CouchDB September 17, 2009. couchdb pitance
  281. Erlang Brush for SyntaxHighlighter September 15, 2009. erlang pitance syntaxhighlighter
  282. Pitance: Template and Snippet Infrastructure September 13, 2009. beepbeep pitance
  283. Load Balancing Across Erlang Process Groups September 12, 2009. erlang
  284. Changing Mimetypes for Text Responses in BeepBeep September 3, 2009. beepbeep
  285. Paper Review of "Hints On Computer System Design" August 21, 2009. computer-science software-engineering
  286. Paper Review of "A Transaction Model" August 18, 2009. computer-science software-engineering transactions
  287. Success and Dancing Shoes July 31, 2009.
  288. Several Approaches to Versioning Files in PHP July 28, 2009. php
  289. Distinguishing Strings from Lists in Erlang July 24, 2009. erlang
  290. Freebase Hackday and Image Game July 12, 2009. acre freebase
  291. BeepBeep, CouchDB and a Trivial Blog July 9, 2009. erlang couchdb beepbeep
  292. Using Ajax with the BeepBeep Microframework July 6, 2009. jquery erlang beepbeep
  293. Getting Started With BeepBeep July 5, 2009. erlang beepbeep
  294. What Do Django People Search About? June 17, 2009. django
  295. YUI Dialogs, IE z-index and Tragedy June 16, 2009. fail yui
  296. Feedback Loops in Software Development June 1, 2009. software-engineering
  297. Recycling Hacker Fear-Mongering May 31, 2009. news
  298. Skew, The Frontend Engineer's Misery April 28, 2009. software-engineering
  299. OS X Textfield Encoding (maybe) Issue April 1, 2009. fail
  300. Findjango Redesign & Slides for django-nyc March 25, 2009. slides springsteen findjango
  301. How To Remotely Admin Servers Via Twitter March 22, 2009. python
  302. Findjango, A Week of Progress March 16, 2009. django findjango
  303. Making Django Apps Run On and Off GAE March 10, 2009. django google-app-engine
  304. Technical Debt and Peanut Butter Jars March 10, 2009. reflection software-engineering
  305. Findjango: A Django Search Vertical March 9, 2009. django springsteen findjango
  306. Solango and Tomcat 6 on Ubuntu Intrepid March 6, 2009. django ubuntu solango
  307. Simplified django-springsteen Deploy on GAE March 5, 2009. google-app-engine springsteen
  308. Deploying django-springsteen on Google App Engine March 5, 2009. django google-app-engine springsteen
  309. Reranking Results in django-springsteen February 26, 2009. django boss springsteen
  310. django-springsteen and Distributed Search February 25, 2009. django boss springsteen
  311. Leaving DreamHost February 23, 2009. dreamhost slicehost
  312. Depicting Human Relationships February 21, 2009. processing
  313. Smaller Header, JobSyndicate, Printable Articles February 19, 2009. blog
  314. Measuring Single and Multi Server Performance February 18, 2009. apache nginx mod_wsgi experiment
  315. Rewriting Parameterized URLs with Nginx February 16, 2009. nginx
  316. Overview of Single vs. Multi Server Architecture February 16, 2009. apache architecture nginx
  317. When psycopg2 Can't Import tz February 13, 2009. fail postgresql
  318. The Django and Ubuntu Intrepid Almanac February 13, 2009. django ubuntu memcache postgresql apache nginx mod_wsgi
  319. Visually Representing Word Structures February 10, 2009. processing
  320. Using Threadpools in Python February 10, 2009. python
  321. Setting up CouchDB-Lucene on OS X February 6, 2009. couchdb lucene
  322. We're All Sinners and Cosiners February 6, 2009. processing
  323. Circle and Line Diaspora February 5, 2009. processing
  324. Spiral and Square February 5, 2009. processing
  325. Visualizing Keyterms with BOSS and Processing February 4, 2009. boss processing
  326. Cull Lingering Erlang Heart Processes February 4, 2009. erlang
  327. Hard and Soft, Fluffy and Brittle February 3, 2009. software
  328. Simple Unittesting in PHP February 1, 2009. testing php
  329. Stripping Illegal Characters from XML in Python January 25, 2009. python
  330. Huge CSV and XML Files in Python January 22, 2009. python
  331. A Filter to Display Neighbors in a List January 20, 2009. design django
  332. Genetic Programming: A Novel Failure January 19, 2009. computer-science genetic-algorithms
  333. Genetic algorithms: cool name & damn simple. January 2, 2009. computer-science genetic-algorithms
  334. Moving Into 2009 January 2, 2009.
  335. Django-Portfolio: Organize and Display Projects December 29, 2008. django
  336. The Subtle Joys of Generic Methods December 11, 2008. common-lisp language-design python
  337. A Command Line Tool for Loading CouchDB Documents December 9, 2008. python couchdb
  338. Full-Text Search in CouchDB Using... CouchDB December 8, 2008. couchdb
  339. Blogging as People December 6, 2008. writing
  340. Intro to HTTP::Server::Simple::CGI December 5, 2008. perl
  341. Finally Waving The White Flag to Objective-C 2.0 December 4, 2008. objc
  342. Fixing What Ails LifeFlow December 3, 2008. lifeflow
  343. Prevent Cron Cancer With a File-based Mutex December 3, 2008. perl
  344. Parallel HTTP Requests in Python December 2, 2008. python
  345. Reading XML Files on the iPhone November 30, 2008. objc iphone
  346. A Different Approach to local_settings.py November 28, 2008. django
  347. XML::Twig for Large XML Files in Perl November 20, 2008. perl
  348. Slides from django-nyc on 11/18/2008 November 19, 2008. django slides
  349. Python-Brightkite for... you get the idea November 16, 2008. python
  350. Introducing a Tutorial and touchDefense November 11, 2008. cocos2d monocle-studios touchdefense
  351. The Blogging Hypochondriac November 8, 2008. thoughts writing
  352. The Fate of Pop and Hip-Hop in 2008 November 7, 2008. music
  353. XML::Simple for Non-Perlers November 7, 2008. perl
  354. You Only Learn the First Time November 6, 2008. writing
  355. Bad Ideas and Regular Expressions in Templates November 5, 2008. django templates
  356. Deploying Django with Fabric November 4, 2008. django python fabric
  357. Development to Deployment in Django November 3, 2008. django
  358. Creating Slideshows with Cocos2d iPhone October 29, 2008. cocos2d iphone
  359. Customize site style by user with django-userskins October 27, 2008. django
  360. User Registration Apps for Django October 25, 2008. django
  361. Releasing Kappa Source (PyObjC Twitter Client) October 23, 2008. pyobjc source
  362. Advice to Programmers in College October 22, 2008. writing
  363. Touch Detection in Cocos2d iPhone October 20, 2008. objc cocos2d iphone
  364. Being a Local Maximum October 19, 2008. writing contract
  365. HSS and YUI Compressor in AYM CMS October 19, 2008. aym-cms
  366. R.I.P. Your Resume Site to Awesome October 18, 2008. python aym-cms
  367. Taming AuditTrail Proliferation October 16, 2008. django
  368. Releasing Source for Mahou October 16, 2008. google-app-engine boss cappuccino
  369. Choosing Between AuditTrail and Django-Rcsfield October 15, 2008. django
  370. Setting Up Django-Rcsfield October 15, 2008. django python
  371. Restricting User Signups in Django October 12, 2008. django
  372. Failing a Contract October 11, 2008. fail writing contract
  373. The Magical Source of YUI Get's Power October 3, 2008. javascript yui
  374. Notes on Cocos2d iPhone Development October 3, 2008. cocoa cocos2d iphone
  375. Suffer Less By Using Django Dev Server as a Proxy September 30, 2008. django prototyping
  376. Writing for Consumption September 29, 2008. writing
  377. Starting Again, Keeping It Simple September 27, 2008. reflection
  378. As-You-Type Slug Uniqueness Validation September 26, 2008. jquery django python
  379. Layers of Authentication September 25, 2008. django
  380. Custom Django Views for Happier Ajax September 24, 2008. jquery django javascript
  381. Using Automator to Scale Images Horizontally September 22, 2008. os-x
  382. Redesign of Lethain.com September 21, 2008. design
  383. Intro to Unintrusive JavaScript with Django September 21, 2008. jquery django javascript
  384. A One-Stop AYM CMS Solution September 17, 2008. aym-cms
  385. Making Static Dynamic Again; AYM CMS September 15, 2008. django aym-cms
  386. Intricate Static Websites With Django Templates September 15, 2008. django python
  387. Sparklines.js Port to Python September 13, 2008. python sparklines-js
  388. Yes, You Do Care About Cappuccino September 12, 2008. cappuccino
  389. Extending Mahou; Gotchas and Snippets September 12, 2008. google-app-engine boss cappuccino mahou
  390. Extracting Data From Google Analytics Reports September 11, 2008. python
  391. Extending Classes in Cappuccino September 7, 2008. cappuccino
  392. Writing Mahou; a Cappuccino Image Search September 6, 2008. google-app-engine boss cappuccino mahou
  393. Startups and Assembly Lines September 5, 2008. entrepreneurship essay framing
  394. Migrating the 'This Week in Django' Concept September 5, 2008. django
  395. Poor Wireless Connectivity for MacBook September 4, 2008. fail os-x
  396. Naming and Casing Convention in PyObjC September 4, 2008. pyobjc
  397. Introducing Kappa, a Twitter Client September 3, 2008. os-x kappa
  398. I Live in New Jersey September 1, 2008. nj
  399. Dynamic Ad Targeting With django-monetize August 29, 2008. django django_monetize
  400. Transcending Search-as-You-Type Stickiness August 29, 2008. design ui
  401. Epic PyObjC, Part 5: Resources and Farewell August 27, 2008. python os-x cocoa pyobjc
  402. Epic PyObjc, Part 4: Drag & Drop, Multiple Nibs August 26, 2008. python os-x cocoa pyobjc
  403. Epic PyObjC, Part 3: Browsing, Caching, Indicating August 25, 2008. python os-x cocoa pyobjc
  404. Epic PyObjC, Part 2: Adding a Library & Bindings August 24, 2008. python cocoa pyobjc
  405. An Epic Introduction to PyObjC and Cocoa August 22, 2008. python cocoa pyobjc
  406. Writing to Application Support in PyObjC August 22, 2008. cocoa pyobjc
  407. Writing Titles Under Ninety-Five Characters August 20, 2008. fail
  408. Deleting From NSOutlineView With the Delete Key August 20, 2008. cocoa pyobjc
  409. How to Use Selectors in PyObjC August 19, 2008. pyobjc
  410. An Introduction to Using CouchDB with Django August 18, 2008. django couchdb
  411. Global Popularity of Programming Languages August 14, 2008.
  412. An Introduction to Compassionate Screen Scraping August 10, 2008. python screen-scraping
  413. A Syntax Coloring Template Filter for Django August 9, 2008. django python
  414. A Year Later, Home From Japan August 9, 2008. japan
  415. Python Content Scraper for OneManga.com August 8, 2008. python screen-scraping
  416. Reading "The Nudist on the Late Shift" in 2008 August 7, 2008. review entrepreneurship
  417. Cocoa Drag and Drop text into the Dock Icon August 6, 2008. objc cocoa pyobjc
  418. How to Write a Wrapper Library August 4, 2008. design
  419. BossArray for list-like Yahoo search results July 28, 2008. python boss
  420. Replacing Django's ORM with SQLAlchemy July 23, 2008. django
  421. Replacing Django's Template Language With Jinja2 July 22, 2008. django jinja
  422. An Introduction to Django's Loose Coupling July 22, 2008. django
  423. Reflections on a Year of Blogging and Japan July 21, 2008. japan reflection
  424. 小学校と教える授業の最後の日 July 18, 2008. jet japan
  425. Last Day of Elementary School and Classes July 18, 2008. jet japan
  426. Stripping Reddit From HackerNews With BOSS Mashup July 12, 2008. python boss
  427. Polishing Up Our Django & BOSS Search Service July 12, 2008. django boss
  428. Search Recipes for Yahoo's BOSS in Python July 11, 2008. python boss
  429. Yahoo's Build your Own Search Service in Django July 10, 2008. django boss
  430. Release of LifeFlow 0.91 July 7, 2008. lifeflow
  431. Advice for ALTs Considering a Second Year July 7, 2008. jet japan
  432. A Thursday: Elementary School July 2, 2008. jet japan
  433. An Introduction to a Week in Japan July 2, 2008. jet japan
  434. ReST, Textile and HTML in Markdown July 1, 2008. lifeflow markdown
  435. Updates to Sparklines.js June 30, 2008. javascript processing-js sparklines-js
  436. Sparklines in Javascript With Sparklines.js June 26, 2008. javascript processing-js sparklines-js
  437. JSON, Object Oriented Views, and Starting a Real App June 22, 2008. django python
  438. Ambush Code Review Learns Code Diffs June 18, 2008. django google-app-engine
  439. Overview of Using Django on the Google App Engine June 17, 2008. django google-app-engine
  440. A Sunday Project: Ambush Code Review June 16, 2008. django google-app-engine
  441. Up to Speed June 15, 2008. django
  442. A Django Anti-Pattern, Rolling Your Own REST June 13, 2008. django rest anti-pattern
  443. Minimalism June 11, 2008. django python
  444. Working on LifeFlow's Public Face June 11, 2008. django lifeflow
  445. Release of LifeFlow Version 0.90 June 10, 2008. django lifeflow lifeflow-editor
  446. Deployment Scripts With BeautifulSoup June 9, 2008. python ptd
  447. Processed Tower Defense 1.0 June 9, 2008. javascript ptd
  448. Things I'll Miss in Japan June 8, 2008. jet japan
  449. Strangest JavaScript Bug I've Ever Seen June 6, 2008. javascript
  450. Looking for Recycling's Lost Sex Appeal June 3, 2008. japan environment
  451. Updates to Processed Tower Defense May 28, 2008. javascript processing-js
  452. May in Review May 27, 2008. jet japan
  453. Processing.jsの使い方 May 26, 2008. javascript processing-js
  454. Spoken Languages, Blub, and Convenience May 25, 2008. language-design thoughts
  455. Music From the iTunes Store, 1 May 21, 2008. music
  456. Improvements to LifeFlow Editor May 21, 2008. lifeflow lifeflow-editor
  457. Updating Processing.js Graphics via Ajax May 20, 2008. javascript processing-js
  458. Design of Processed Tower Defense May 18, 2008. javascript processing-js
  459. Three Processing.js Examples May 14, 2008. javascript processing-js
  460. Using Javascript to Control Processing May 11, 2008. javascript processing-js
  461. Getting Started with Processing.js May 10, 2008. javascript processing-js
  462. Our Yellow Woods, and a Story May 7, 2008. haiku poem
  463. Writing Join in Erlang May 4, 2008. functional erlang
  464. Photographing Japan May 4, 2008. japan photo
  465. A Picture of a Couple May 3, 2008. japan photo
  466. Spring Haiku and Tanka May 3, 2008. haiku tanka
  467. Thoughts on Dating Erlang April 30, 2008. functional erlang
  468. Haiku for an April April 20, 2008. haiku
  469. Designing Elesma April 13, 2008. cocoa elesma
  470. A Week In The Job April 12, 2008. jet japan
  471. Failed Night Time Pictures of Sakura Blossoms April 5, 2008. japan
  472. A Brief Winter Hike April 5, 2008. hiking japan
  473. Opening Files With Associated App in Cocoa April 5, 2008. objc cocoa
  474. Tip Your Hat To Accessors And Mutators March 12, 2008. object-oriented
  475. Handling Files With CoreData March 12, 2008. objc coredata cocoa
  476. Catching Up On Some Thoughts March 10, 2008. jet japan
  477. Tools, Languages, and Squeak March 1, 2008. squeak
  478. Quick Reflections on JET in Haiku February 27, 2008. jet japan
  479. Assigning One To Many Relationships in CoreData February 24, 2008. objc coredata cocoa
  480. Spring Doesn't Come in February, But Snow Does February 24, 2008. jet japan
  481. On Writing February 19, 2008. thoughts writing
  482. Filtering Arrays in Objective C February 15, 2008. functional objc
  483. Teaching Elementary Classes as an ALT February 14, 2008. jet education japan elementary
  484. My First Sickday in Japan February 13, 2008. jet japan
  485. Midnight Philosophy in The Garden of Good and Evil February 12, 2008. thoughts
  486. Seeking Some Music I Can't Find February 11, 2008. music idm
  487. Some Biased Analysis of Music Videos February 4, 2008. music
  488. Using Our Own Software February 4, 2008. thoughts software
  489. Using Optional Parameters in Django Urls February 4, 2008. django python
  490. Technical Aspects of the Life Flow Editor February 3, 2008. django lifeflow lifeflow-editor
  491. Introducting the LifeFlow Editor February 3, 2008. lifeflow
  492. Why Was The Syllabus Born? January 28, 2008. education
  493. On Hegemony and an Anti-Capitalist Bias in European Textbooks January 26, 2008. education
  494. Hot Water Is Broken January 26, 2008. japan
  495. 5. A Chartered Bus to Downtown Tokyo January 25, 2008.
  496. Standard Workflow for Publishing With LifeFlow January 24, 2008.
  497. Replacing the Karma Social Model with Whuffie January 22, 2008. thoughts
  498. Catching Lessons From Spam January 22, 2008. lifeflow spam
  499. Translating Entries into Other Languages with LifeFlow January 22, 2008. lifeflow translations
  500. A Historical Perspective on the JET Program in 2008 January 22, 2008. jet
  501. On The Causes and Cures of Malware January 21, 2008. os-x microsoft
  502. Failures of Proactive Communication & Other Generic Complaints January 20, 2008. jet
  503. かかった年と新しい年の取り返し January 19, 2008.
  504. 生きて変わる January 19, 2008.
  505. Opinionated Programming Languages, The Huddled Masses, and Elitism January 19, 2008. language-design scheme java community
  506. Lesson Plan: My Winter Vacation January 16, 2008. english jet lesson-plan
  507. New Style for Including Resources in Entries on LifeFlow January 15, 2008. lifeflow
  508. Adding Arbitrary Mods to LifeFlow January 15, 2008. lifeflow
  509. Changes from Living January 13, 2008. thoughts
  510. Introduction to Kamioka-cho, Hida-shi, Gifu-ken, Japan January 10, 2008. jet japan kamioka
  511. Odors from Shoes Curious in OS X 10.4 January 10, 2008. shoes ruby
  512. Driving on the Left Side January 9, 2008. jet japan
  513. Don't Repeat Yourself for Bloggers: Dynamic Blog Context in LifeFlow January 9, 2008. blog lifeflow markdown
  514. Cleanly Extending Python Markdown with Syntax Highlighting January 9, 2008. python markdown
  515. Update to Lethain.com January 7, 2008.
  516. Customizing LifeFlow Quickly with Skins January 7, 2008. lifeflow skinning
  517. Installing a Development Deployment of LifeFlow, a Django Blog Solution January 7, 2008. blog django lifeflow install
  518. Reflections on the old year, and the new one January 6, 2008. jet japan thoughts
  519. BluePrint CSS makes LifeFlow look better, and easier to customize January 6, 2008. lifeflow blueprint
  520. Music Recommendations & Snow Pictures January 5, 2008. japan kamioka winter
  521. Implementing Threaded Comments in LifeFlow January 4, 2008. django lifeflow
  522. Visiting Kiyomizudera January 3, 2008. japan travel
  523. Status Update for LifeFlow January 3, 2008. lifeflow
  524. Accolades for Pygments 0.9 January 3, 2008. python
  525. Actors in Common Lisp January 3, 2008. actors common-lisp
  526. Packaging of Renu Contact Solution January 1, 2008. japan
  527. Miyajima and Hiroshima December 29, 2007. japan travel
  528. Designing My Future Home December 29, 2007. architecture
  529. Another Breakfast With You December 29, 2007. food
  530. Another Slight Mistake... December 27, 2007. blog
  531. Merry Christmas 2007 December 24, 2007. food
  532. Moving Writings to Separate Flow December 24, 2007. blog
  533. Two-Faced Django Part 7: PyFacebook and FBJS Ajax December 17, 2007. facebook pyfacebook django
  534. Upgrading from 256 to 512 megs of ram December 16, 2007. slicehost
  535. Two-Faced Django: Live install December 16, 2007. pyfacebook django dreamhost
  536. Two-Faced-Django Part 6: PyFacebook December 12, 2007. facebook pyfacebook django
  537. Two-Faced Django Part 5: JQuery Ajax December 11, 2007. jquery django
  538. 4. Airplanes December 9, 2007. writing
  539. Two-Faced Django Part 4: The Webapp December 9, 2007. django
  540. Two-Faced Django Part 3: Newforms December 4, 2007. django newforms
  541. Two-Faced Django Part 2: Models and Django Testing December 4, 2007. django testing
  542. Two-Faced Django Part 1: Building a project that exists simultaniously on Facebook and the web December 4, 2007. pyfacebook django
  543. 3. Shuttle Busses December 2, 2007. writing
  544. On Education, Self-Responsibility and Manure December 2, 2007. education
  545. 2. Traffic Jams December 1, 2007. writing
  546. 1. Beginnings December 1, 2007. writing
  547. 0. Introduction December 1, 2007. writing
  548. Using JQuery with Django for Autocomplete Fields November 30, 2007. jquery django
  549. Using PyFacebook without the Facebook middleware November 30, 2007. facebook pyfacebook django python
  550. Human Error November 24, 2007.
  551. "You Are Beautiful At All Times" by Yppah November 5, 2007. yppah music review
  552. Context is a Parameter in Calculating Truth November 5, 2007. pirsig thoughts
  553. Those Annoying Habits November 5, 2007. jet japan
  554. Defining Your Web Aesthetic October 24, 2007. design
  555. Introducing my Japanese Kitchen October 21, 2007. jet japan
  556. Hiking Tengaisan October 21, 2007. jet hiking japan
  557. Reliable Mealtime Friends October 20, 2007. food japan
  558. Grocery Shopping in Japan October 19, 2007. food japan
  559. Getting Cold in Kamioka October 18, 2007. japan
  560. Teaching Adult English Classes October 18, 2007. english adult education japan
  561. Getting started with Shoes on OS X October 15, 2007. shoes ruby
  562. Expectations and Reality for the lowly ALT October 14, 2007. jet japan
  563. FAQ about JET October 13, 2007. jet
  564. A Few Quick Updates to Site October 12, 2007. blog
  565. Back in Action October 10, 2007.
  566. Eating Cornflakes August 20, 2007. jet japan
  567. Leaving Tokyo, Arriving in Kamioka August 20, 2007. jet japan
  568. From America into an American Bubble: The Flight to Japan August 9, 2007. jet japan
  569. JET Pre-Departure Orientation July 29, 2007. jet japan
  570. Picture from Hotel Room July 29, 2007. japan tokyo
  571. Heading toward Atlanta July 26, 2007. jet japan
  572. Applying to the JET Programme July 19, 2007. jet japan
  573. Failure of Implicit Conventions: Determining Function Destructiveness July 18, 2007. functional language-design
  574. "Building Scalable Web Sites" by Cal Henderson July 17, 2007. review scaling
  575. Dreamier Dream Server with Nginx July 17, 2007. django slicehost ubuntu memcache postgresql apache nginx
  576. Apache/Lighttpd Confusion July 17, 2007. apache lighttpd
  577. Adding Social Bookmarking To a Django App July 14, 2007. django python
  578. Syntax Highlighting with MarkDown, and a pinch of Automagick for Django July 14, 2007. django python
  579. Music Video? Movie? The 'Once' Dilemma July 14, 2007. movie once
  580. Extracting Models From Django Datadump July 13, 2007. django python
  581. Creating my Dream Server for Django July 13, 2007. django lighttpd memcache postgresql slicehost ubuntu
  582. New Look for LifeFlow, Deployment on Dreamhost July 12, 2007. lifeflow
  583. "Puddle City Racing Lights" by Windmill July 12, 2007. music review windmill
  584. YouTube Scalability July 8, 2007. scaling
  585. Stability Issues July 5, 2007. fail
  586. How to Migrate Data Across Model Changes July 1, 2007. django python
  587. Writing Custom Contexts for Django July 1, 2007. django python
  588. Examining Web Analytics to Implement (repost) June 21, 2007. writing
  589. A Django Middleware for Google Analytics (repost) June 14, 2007. django
  590. Anti-Objects and Reflexive Decisions (repost) June 7, 2007. ruby writing
  591. A Comp. Sci Degree is What You Make Of It (repost) June 5, 2007. writing
  592. Is the JVM the "next assembly"? I hope not. (repost) June 4, 2007. writing java
  593. Reflections on Django (repost) June 1, 2007. django writing
  594. Good to Great, Paul Graham and Ayn Rand (repost) June 1, 2007. writing
  595. Finding Our Programming Flow (repost) April 7, 2007. writing