Archive
2025
Rovyvon A5R flashlight diagram documentation graph graphviz study
TypeID in Lua Ansible Caddy Hatchbox Lobsters Lua TypeID nginx
TV Setup TV Tailscale home networking privacy video games
2024
Google Ad Injection Google ad injection
Streaming Weekly Lobsters Office Hours Lobsters Twitch stream
Discord vs IRC Rough Notes Discord IRC Libera Chat Lobsters
Wrapping Large-Scale Refactors large codebases practices refactoring
2018
NixOS on prgmr and Failing to Learn Nix docs nix prgmr
House Rules board games card games tabletop games
2017
Return Statement New York City Recurse Center
Lobsters Lobsters community moderation
Attending Recurse Center New York City Recurse Center
MiscPodcast PHP podcast project
Arithmetic Wrap in GMS2 gamedev gms2
Redshift With Cloudiness Adjustment bash redshift
2016
Hard Lessons email handmade.network
When maintaining a legacy Rails apps, drink every time... Rails humor
Queue Zero media podcasts queue yak shave
Vim: highlight word wrap column in insert mode vim
Should multiple Rails Apps and APIs share a database? ActiveRecord Rails
How side effects make ActiveRecord models unreliable ActiveRecord Rails side effects
2015
Advice for First-Time Attendees to MicroConf MicroConf
Battery Longevity batteries systemd
ActiveRecord Dangers Cheatsheet ActiveRecord Rails
Have You Seen This Cache? C Python Ruby cache memcached referential transparency
Replacing Ack with Ag ack ag searching vim
POP3 and SMTP via SSH Tunnels email privacy ssh tunnel
Chicago Code and Coffee code and coffee meetups
Finished Libraries TeX version numbers
Deleting Spam From sup Maildirs email spam sup yak shave
The Harmful Consequences of Postel's Maxim Postel's Maxim standards
Skyscrapers and Doghouses ActiveRecord Rails
Economics Doesn't Believe in Magic economics magic politics world design writing
Sizing Up My Queue Ruby media podcasts yak shave
Y Combinator News naming social news y combinator news
Acceptable Errors Chicago VC entrepreneurship science startups
Will knowledge change a decision you make? decision-making probability
Installing You Need a Budget 4 (YNAB) on Arch Linux Arch Linux Wine YNAB yak shave
An ActiveRecord Adapter ActiveRecord Rails side effects
What Comes After MVC RailsConf presentation
The Two Kinds of Integers Haskell Ruby abstractions assembly values
Create localhost Aliases for Different Projects DNS debugging domain names scar tissue yak shave
Case Sensitivity in In-Page Anchors HTML5 browsers fuck Internet Explorer yak shave
Dual-Booting Arch Linux on Lenovo X1 Carbon 3rd gen Arch Linux Lenovo Linux Windows Windows 8.1 X1 Carbon configuration hardware yak shave
Isolating Polymorphism Ruby encapsulation inheritance
2014
Type-Checking Interface in Ruby POODR Ruby boundaries experiment interfaces
Prefer: Censorship Firefox Mozilla censorship
Integration as Composition Chibrary composition design functional programming literate programming pointfree
Long-Term Travel Gear List2 gear
Builder Methods Ruby domain-driven design immutability testing validity
Two Designs for SequenceIdGenerator Chibrary Ruby design object orientation state
Distributed ID Generation and Bit Packing Chibrary bit packing bit twiddling concurrency design stemwinder
Ironwood, a Roguelike Game in 7 Days 7drl game design game development projects roguelikes
2013
Extracting Immutable Objects ListLibrary.net Ruby design design patterns email mailing lists object orientation
Random The Flag ctf game design randomness
Personal Workflow Trello procrastination productivity to-do yak shave
The Well-Sorted Version LaTeX Well-Sorted Version art books typesetting
Inheriting From Built-In Ruby Types ActiveRecord Ruby refactoring strings
Social Media for Programmers GitHub Hacker News Lobsters Reddit StackOverflow Twitter learning social media
Backpack Criteria backpack luggage travel
Why I Rarely Use HABTM Rails databases design lifecycle schemas
2012
Solving vs. Fixing vs. Introspecting bugs design introspection
FTL: Simulationism Lost FTL game design roguelikes
Open and Closed Platforms Ouya gaming iPhone smartphones
Legacy Bitmask Puzzle SQL legacy math puzzle
2011
Timing Allabrilyn Fantasy Adventure Game P so play we all
Breakdowns Allabrilyn Fantasy Adventure Game oaqn so play we all
Keeping Jim Busy Allabrilyn so play we all
Rewriting My Competitors Allabrilyn Fantasy Adventure Rails Ruby code smells metaprogramming sessions so play we all
Two Turnarounds Allabrilyn Fantasy Adventure Game so play we all
Recreating My Firefox Profile Firefox customization nerd pride yak shave
Small Steps Allabrilyn Fantasy Adventure
Craftsmanship Tour: New York Times New York Times craftsmanship tour idempotency journalism
Now Featuring Monsters Allabrilyn Fantasy Adventure Game MVC grue so play we all
SPWA Week 2: Funding and Forms PHP satisficing so play we all templating
SPWA Week 1 Response: Code Hassles and Kittens Allabrilyn Fantasy Adventure so play we all web games
SPWA Week 0 Response: A Strong Start Allabrilyn Fantasy Adenture Game oaqn so play we all web games
So Play We All browser games oaqn so play we all
Software Craftsmanship Tour: Aidan Rogers craftsmanship tour interfaces object orientation open question software development
Grind Without Progression in Die2Nite P collaboration experience game design grind prisoner's dilemma
Retracting my JungleDisk Recommendation JungleDisk backups tarsnap
Dropbox and Git Play Well Together Dropbox git how to version control
Craftsmanship Tour: Jim Ray Devise Rails craftsmanship tour git vim
Craftsmanship Tour: David W. Allen NearbyGamers craftsmanship tour graphs software craftsmanship
2010
XML Crash Course HTML Star Trek XML
Craftsmanship Tour: 8th Light 8th Light Clojure Groupon Java Limelight craftsmanship craftsmanship tour refactoring vim
Craftsmanship Tour: Obtiva Obtiva craftsmanship craftsmanship tour
Social Pastimes Facebook game industry social games
The Dog That Didn't Bark Sherlock Holmes TSA evidence rights security
Spreadsheet Errors bugs spreadsheets
Investing in Cloud Computing Amazon Microsoft Rackspace cloud computing investing
Travels of Indefinite Duration nomading travel
Reading 400 Feeds with Newsbeuter Linux feeds web
Sample Camera Pictures cameras photography
From Fixtures to Factories Mocha Rails Ruby factories factory_girl fixtures testing
This is Not A Productivity Post productivity sleep
Freemium and Segmentation f2p freemium pricing virtual currency
PHP Hex Map Graphics PHP hex maps image generation web games
Tracking Finances Though Benign Neglect budgeting habit money personal finance spreadsheets
Yomi vs. Nash Equilibria David Sirlin game design math yomi
One Fine Git Book: Pro Git book review git svn version control
Admitting Diminishing Returns productivity
Finish a Project productivity projects todo
Efficiency Replaces Autonomy capitalism game design graphic design metrics
Competition and Bluffing competition game design game mechanic poker
Game Influences (7/6): Warstorm Athenge Warstorm business models game design game influences verbs web games
2009
HTML is Your Markup Language Anyways BBCode HTML markdown markup languages
Inbox Zero email inbox zero mutt sup to-do
Survey of Conference Attendees
Serenity Green Firefly TV humor
Redirecting Users' URLs URLs human-readable web
JavaScript: The Good Parts Douglas Crockford JavaScript book review
Investigating Theme Spam PHP WordPress decoding obfuscation reverse engineering spam
Athenge Ops Playtested Athenge game design playtesting
Client Logging to AWS AWS EC2 Elastic MapReduce Hadoop S3 logging
City of Heroes as a Pastime City of Heroes David Sirlin Mission Architect NCSoft elder game min-maxing muds player-generated content
Karma, Farming and Play Styles Athenge farming game design karma spreadsheet games
Feedback and WeeWar's Game Design DiceAttack WeeWar feedback game design
Technology Trees Athenge Ikariam PBBGs directed acyclic graph dot game design game influences gating graphviz power scale technology tree web games
Game Influences (6/6): Kongai Athenge Civilization David Sirlin Kongai StarCraft game design game influences turn-based strategy web games yomi
Game Influences (5/6): X-Com Athenge X-Com abandonware game design game influences turn-based strategy web games
Game Influences (4/6): Counter-Strike Athenge Counter-Strike FPS game design game influences web games
Game Influences (3/6): Tactics Ogre Athenge Final Fantasy Tactics Tactics Ogre game design game influences tactical RPGs web games
The Farming Genre Athenge PBBGs game influences web games
Game Influences (2/6): WeeWar Athenge PBBGs WeeWar game influences strategy games web games
Game Influence (1/6): Ikariam Athenge Ikariam PBBGs game influences strategy games web games
As Difficult as Possible abstraction difficulty management outsourcing
The Game Industry IGDA crunch time game industry quality of life
Intention and Design Athenge Counter-Strike World of Warcraft darkfall game design intention markets systems
ListLibrary.net UI Design ListLibrary.net graphic design mailing lists user interface
A Spine of Trust Athenge betrayal game design prisoner's dilemma trust
Announcing ListLibrary.net ListLibrary.net mailing lists mud-dev mud-dev2
Command/Query Separation ListLibrary.net command/query separation email referential transparency threading
Worthy of Praise IMVU Twitter blogging quality snark
Done at the Post Barking Stapler Washington Post
Markoff's Gated Community Should Die in a Fire Markoff flame net neutrality rant walled gardens
Web Game Athenge game design web games
NearbyGamers To-Do List NearbyGamers Rails aggregation events groups news performance monitoring stores to-do
Small Plans ListLibrary.net RailsRumble Ruby gems mailing lists web
Linearization of the Playing Field EC2 S3 cloud computing competition
OpenOffice.org Losing Viability Django OpenOffice.org Rails community open source
Open Source Communities Django Rails community open source
Django vs Rails: The Dead-Tree Edition Django Rails books
Two Interactions With Amazon Amazon Amazon Affiliates EC2 customer service
Rules of Database App Aging databases design lifecycle schemas
Washington Post Update Django Washington Post politics work
Why I Write Tests bugs testing tests
Twitter and Ruby's Open Classes Habber Ruby Twitter metaprogramming open classes
You're Not Refactoring Extreme Programming TDD refactoring testing
2008
Authenticity Bonnie Tyler Total Eclipse of the Heart YouTube authenticity humor hurra torpedo music
Greasemonkey Scripts: Gamasutra and Arlington Library Arlington Library GamaSutra GreaseMonkey web
Deploying Crontab With Your Rails App Rails cron yak shave
Now Do You Know It Works? reliability testing verification
RailsRumble Postmortem AASM Bort ConfReader Paperclip RSpec Rails RailsRumble design haml open_id_authentication planning resource_this restful_authentication scheduling teamwork web
RailsRumbling Rails RailsRumble crunch experiment web
Don't Play Hurt environment motivation work workplaces
256-Color XTerms in Ubuntu 256 colors Ubuntu screen terminals vim xterm yak shave
14 Years to Unicode Google Unicode adoption enterprise
Rails URL Params as Types Rails URLs strings typing
WWW Will Never Die DNS GTLDs ICANN domain names web
Harkins's Law of Enterprise Software
Getting Git DVCS PeepCode VCS git source control
Finding Value in Bogosity Smalltalk football practice programming
Free Shipping From Amazon Merchants Amazon Amazon merchants feedback game design online shopping rating web
Improvement and the Hawthorne Effect 37signals Hawthorne Effect urgency work week
StackOverflow Sounds Pragmatically Postmodern
Turning Wordpress Categories Into Tags MySQL SQL WordPress automation insert into select
Functional Package Management functional programming nix nixos system administration
Finally, Sweet Success Super Mario Kart Super Nintendo end of suffering pinnacle of human achievement triumph everlasting
Pipe Viewer bash console pipes
Caching Dictionaries in Python vs. Ruby Python Ruby dictionaries metaprogramming
2007
Django Template Tag for Dictionary Access Django dictionaries hash templates
Painless Upgrade to Rails 2.0 ActiveResource NearbyGamers Rails Rails 2.0 Ruby TDD routing test testing tests upgrade web
Drifting Into Test-Driven Development TDD
Choose Your Candidate 2008 presidential campaign Washington Post WashingtonPost.com politics
An Academic Inconvenience of Python Python
Because Internet Explorer is a Failure, That's Why Firefox Internet Explorer browser support browsers failure support web
Keep Ruby Gems in Your Home Directory Ruby RubyGems gems install shared hosting
How To De-Asshole-ify Links CSS Firefox assholes design links user experience
Post: Politics and Blogs 2008 presidential campaign Clinton Obama Romney WashingtonPost.com blog directory blogs donations endorsements politics search search engine
Post: The Moby Quotient Washington Post WashingtonPost.com work
These Elves are People Club Penguin Habbo Hotel MetaPlace Washington Post World of Warcraft gaming journalism media mmorpgs online gaming puzzle pirates virtual worlds web web 2.0
Post: Politics Glossary Washington Post WashingtonPost.com politics work
WashingtonPost.com Washington Post WashingtonPost.com work
Simple Ruby Mocking Ruby dependency injection mocking mocks testing tests unit tests
Fixtures in Ruby Unit Tests Ruby fixtures testing tests unit tests
Adequacy is Inadequate certification motivation testing
Good Timing Hostway RegistryPro design sleep work
Flash Gaming Flash wasting time
Alphabetical Sorting SQL Without "The" SQL alphabetization lexical sorting sorting
Logging Internal Server Errors 500 errors Rails error handling errors internal server errors logging rescue
Discussion URLs: Opaque, Usable, and Readable ActiveResource RESTful Rails Ruby URLs human-readable named routes nested routes resources routes routing
Human-Readable ActiveResource URLs ActiveResource RESTful Rails Rails 1.1 Rails 1.2 URLs design human-readable named routes nested routes routes
Rails: Semicolons Out, Slashes In Rails URLs map mapping resources routes routing semicolon slash slashes
One Laptop Per Chicago Chicago Lucene OLPC Python Unicode grassy knoll pylucene
Add Feed Discovery Links Easily Rails Ruby atom auto_discovery_link_tag feeds
Colorizing Rails Test Output Rails Ruby color redgreen test
Epson Perfection V100 in Ubuntu Epson GIMP Linux Ubuntu hardware sane scanner scanning shell v100
Rails 1.2.1 Impression Barking Stapler Rails assert_select assert_tag web
Seeing Subversion Diffs for Commit Messages Subversion commit diff scripting
Capistrano Task to Load Production Data
Sociable 2.0 Released Sociable web
Sociable 2.0 Tomorrow Sociable
Which Vista Version? Apple Linux Microsoft OS X Ubuntu Vista
Sociable 2.0 Beta 2 Sociable WordPress
Announcing NearbyGamers Barking Stapler NearbyGamers Rails Ruby projects web
GET and POST variable hashes in Ruby on Rails Rails
2006
Making Valid XHTML Easier Rails Ruby xhtml
Dual-Head on the 13" Macbook Apple MacBook Ubuntu X Xorg dual-head edgy
Tidy Stylesheets in Rails CSS Rails Ruby design maintainability
Freshwater Live and TechCoffee Chicago Freshwater Rails entrepreneurship
344 Books Must Go Chicago books
Clean Up Your Mess Arkeia Cambrian House break crash jerk system administration wedge
ChiPy at Google BigTable ChiPy Chicago Google Code Python Selenium Subversion project hosting
Triple-boot Filesystem Layout Linux OS X XP
Bar Camp Chicago BarCamp Chicago
Flintstoning Toasters Cambrian House bash cron toasters
Cambrian House Party Cambrian House web work
Building Clean URLs Into a Site Apache PHP web
Ripping Unicode Python design graphics
Developing With Evil PHP Perl design humor web
Ripping Unicode at ChiPy Python design graphics
Building a Site With Clean URLs Apache PHP design web
Cambrian Development Cambrian House security web
Pre-Cambrian House Apache Cambrian House PHP security web work
It's, Like, Symbolic humor music
Strings are a Domain-Specific Language C Perl Python Ruby assembly
Django And The Disappearing Template Tags Django
Know a Good Linux Feed Reader? Linux feeds web
Sociable Makes Blogs Happy Sociable web
What a Blog Post is Missing English humor
Newsflash: You're Not Good Enough gender humor media
NDAs: Fear and Shame security work
Writing and Formatting English design web
Ruby Blocks and Blocks Ruby design functional programming pointfree
Sociable Is The New Black Sociable design web
GoJobby Launches - Web 2.0 Job Site web work
Think Outside the Euclidean Universe graphics humor math work
XmlHttpThrottleRequest humor web work
The Best Filler Ever Written humor work
Django Gets Transactions Django databases web
Versioning: The Next Big Thing Django databases math web