All Posts

The complete list of posts, in reverse chronological order.

  1. What's in Your Kit? 2026
  2. Pinned Tabs in Zen Browser
  3. Migrating from Logseq to Trilium
  4. Fediverse Rules of Engagement
  5. Eleventy Migration Notes
  6. Links (16 July 2025)
  7. Links (22 April 2025)
  8. Webhooks as a (Systemd) Service
  9. Migrating xoxo.zone to OVHcloud
  10. XOXO 2024
  11. Marshall Turner Moulton, 1928-2022
  12. Introductions
  13. Hollybank Road
  14. ACNH: Removing a Deleted Profile's House
  15. Kingswood 2461
  16. Hades: There is No Escape
  17. Vim Template Files and :keepalt
  18. ACNH: Starting my Garden
  19. PC Build March 2020 Edition
  20. Recovery
  21. XOXO 2019
  22. Twitter vs. Mastodon: On Abandoning the Titanic
  23. Including Remotes in Team Offsites
  24. Tracking Cash with You Need a Budget
  25. 2018 Retrospective
  26. Ansible Playbook: Reboot Servers
  27. Easier Drone Deploys with Docker Images
  28. TaskPaper 3: Child-aware Archiving
  29. Ansible, Postfix, and Mailgun
  30. Termux for Android
  31. Miracle Cube Timer
  32. Goodbye, Burrito
  33. My Ansible Holy Grail: Bootstrapping a VPS
  34. PC Build (December 2016 Edition)
  35. Goats in the Machine
  36. Open Letter to Maggie Hassan
  37. Love Each Other
  38. How "Oldschool" Graphics Worked
  39. OK Uber, that's not creepy or anything
  40. Bullshit
  41. Priorities
  42. Early Adoption
  43. Feminist Frequency: Twitter, Conspiracies, and Information Cascades
  44. Showing Up
  45. Forest: Stay Focused, Be Present
  46. Debian Release Nicknames
  47. Ansible 2.0 Released
  48. 2016
  49. pigz: parallel gzip
  50. A Night In with Shia
  51. Morgamic: Reorgs: Choose Wisely
  52. FIDO U2F Security Key
  53. IFTTT and Taskpaper TODO Workflow
  54. Freedom of Panorama
  55. Upcoming: RFID on Raspberry Pi
  56. Remote Control via BitTorrent Sync
  57. 2015
  58. Fresh Starts
  59. Simple Firefox Content Scripts
  60. PC Build (Fall 2014 Edition)
  61. Smells
  62. Monday Focus
  63. When Consoles Die
  64. Family Restrooms
  65. How to Be a Girl by gendermom
  66. "Brothers" web series on Indiegogo
  67. Ice King's Search History
  68. Unproxy Gmail Images
  69. The Message is Clear
  70. Yeah, Thank You, Bye
  71. Things I Will Miss About Brooklyn
  72. Cookie Clicker
  73. Streaming MP4 with Nginx
  74. Computer Dark Ages
  75. Biking in Brooklyn
  76. Google Reader Discontinued
  77. I Know That Subway Stop!
  78. Marked: Overriding Styles
  79. Open Tech NYC 2013 Notes
  80. Mean Beef Stroganist
  81. Adventures in Git: Deploy on Push
  82. Google Reader Sunset
  83. Moved to Pelican
  84. Journal from the Terminal
  85. Trends in iOS Icon Design
  86. Dropbox for iOS: Version Conflict
  87. Transit Markers in Apple Maps
  88. Adventures in Git: Move Commits from `main` to New Branch
  89. Page Rank after SSL Migration
  90. Two-factor SSH to Ubuntu 11.04 with Google Authenticator
  91. Defining INI Entries for PHP Scripts
  92. Level Up
  93. Filesystem Events on Mac OS X
  94. Vintage NYC
  95. Starstruck
  96. Feedback Loop
  97. Keeping Up
  98. IRC Clients
  99. Hearts, Park Slope
  100. New Page: Mac OS X Setup Guide
  101. Impersonation by Gravatar
  102. Drawing ACS-mode boxes in the terminal with Ruby
  103. Rasmus on Interpolation vs. Concatenation
  104. You Can Take It With You
  105. Trillium
  106. Spring Toad
  107. Spotted salamander
  108. Google on the iPhone
  109. Test Post
  110. Experiment: Digital Permanence and Ownership
  111. Amongst the Tall Trees
  112. I get to
  113. Git Subtree Merges, Orphaned Branches, and GitHub
  114. Transforming Business
  115. State of PHP 2012
  116. Being Nice
  117. On Internationalization
  118. Preware Ubuntu 11.04 Chroot Script
  119. SOPA Protests
  120. There's Always a New Tweet
  121. Conferencing in Boston
  122. iTerm 2 Skinny Fonts: Solution
  123. Is the Earth Special?
  124. Locked Files in Mac OS X
  125. jsRender: Passing Variables to Nested Templates
  126. UC Davis and the Pepper Spray Incident
  127. Webpages as Screen Savers in Mac OS X
  128. PHP 5.4 Changes
  129. Where Are My Pills?
  130. Nest Harvesting
  131. Updated: Amazon S3 for WordPress
  132. Use openssl to Issue Raw HTTP Requests
  133. Google+ for Google Apps
  134. WordPress Network Plugin Management
  135. mysqlhotcopy: error 24
  136. Installing CPAN Modules without Root
  137. Better Local Dev Hostnames with Dnsmasq
  138. Automatic Ellipsis with CSS
  139. Zoom.it API REST Considerations
  140. REST APIs and Security in PHP
  141. Responsive Design Quick Tips
  142. Liquid Televison
  143. Demarked
  144. WordPress MU Domain Mapping Patches
  145. Filesystem Caching without Cruft in PHP
  146. Saving WordPress Media to Amazon S3 (Teaser)
  147. Welcoming Harper Hawke
  148. Google Chrome 13 "Pretty Print" Scripts
  149. webOS 3.0.2 Changes
  150. Merlin Mann on Marketplace of Ideas
  151. Python and PHP: Giving a Rat's Ass
  152. PHP, symlinks, and the realpath cache
  153. World of Warcraft: TCG Card Numbering
  154. Portal 2: Now with More Portals
  155. Subversion and "Skipped '.'"
  156. Google Apps Transition
  157. Sprint AIRAVE installed
  158. Migrating to PHP 5.3: call_user_func_array()
  159. Private Information
  160. On Frameworks
  161. Sprint AIRAVE
  162. New Hampshire HB240: Approval Voting
  163. sf.net Passwords Reset
  164. Locking Down rsync Over SSH
  165. prettyPrint for JavaScript
  166. Light Reading
  167. How Not to Serve Ads
  168. Thinking About Testability
  169. Testable Factories
  170. Running gitweb in FastCGI Mode
  171. Ubuntu 8.04 on Linode: Cloning and Upgrading to 10.04
  172. Makefile for CSS and JS Minify/Compress
  173. Cron Output in Google Reader
  174. Appify: Wrapping Shell Scripts as Applications in Mac OS X 10.6
  175. WordPress Stack Exchange Goes Live
  176. WordPress StackExchange
  177. Cataclysm Beta
  178. WordPress Themes and the GPL
  179. Blizzard To Post Real Names on Forums
  180. WordPress 3.0 Released
  181. Google Background Images
  182. Growing Up
  183. Ads vs. Content
  184. The Killer Technology
  185. Cool Dude in Shades
  186. Raised Garden Bed
  187. Upgrading to Snow Leopard
  188. The iPad is OK… Sometimes
  189. Subversion: Missing Features
  190. My Browser is Sentient
  191. Ding III
  192. Tunneling Everything through SOCKS5
  193. Removing All Partitions in Mac OS X
  194. Information Gathering
  195. Video in the Browser
  196. Bash Completion
  197. Firefox Personas
  198. On Entropy
  199. Palm Pre Countdown in your Mac OS X Dashboard
  200. Live in the Past
  201. Waiting for the Palm Pre
  202. Google Search Options
  203. The Incredible Shrinking RAM
  204. Managing Money with Buxfer
  205. Please Insert Quarter
  206. A Vim of a Different Color
  207. Google Documents and Google Apps
  208. PHP 5.3.0 Changes
  209. XKCD: Students
  210. Local Documentation: PHP, Django, jQuery
  211. 16.7 Exabytes
  212. Open Letter to Don McIver
  213. World of Warcraft Tooltips Redux: phpBB 2 and Wowhead
  214. Variable Variables and Arrays
  215. Baby Food
  216. Death Knight Primer
  217. Mug Shot
  218. A Cunning Disguise
  219. Space
  220. JavaScript Bookmarklets
  221. Ani DiFranco - Red Letter Year
  222. VMware Fusion 2
  223. Smarter Parsing with Smarty
  224. Stupid VMware Tricks
  225. ADOdb, MySQL, and Transactions
  226. Google: Search Result Editing
  227. Vim, Terminal.app, and the Delete key
  228. IE "Operation Aborted" and jQuery
  229. Guitar Zero
  230. Google Doctype: Firefox Quick Searches
  231. Thunderbird and Vim
  232. Announcing Marshall Leif
  233. Abusing screen(1)'s Default Shell
  234. Moving On
  235. Python Indentation and Vim
  236. Expiring Trees in Dirvish
  237. SXSW Six-word Reviews: Textutils Edition
  238. The Business of Being Born
  239. Ani in Concord 2/28/2008
  240. ASCII Art Spam
  241. test.txt: PHP Exploit in Server Logs
  242. Apropos
  243. SVN Repository Explodes, No Serious Injuries
  244. Linking to E-mail Messages
  245. Psychedelic TV, Courtesy of Netflix
  246. Changes
  247. Leopard: SMB Easter Egg
  248. World Usability Day New England 2007
  249. The Blow in Boston
  250. Flickr Updates (23 September 2007)
  251. Custom Template Blocks in Django
  252. The Twig is now Closed
  253. On Burning Men
  254. Alpha Five Updates: Syndicated Feed
  255. Moving from Qmail to Postfix
  256. Vacation, Interrupted
  257. Logitech V270 Bluetooth Mouse
  258. Make Up Your Mind
  259. Jumping Ship
  260. Flickr Updates (17 June 2007)
  261. Improving Network Performance on Mac OS X
  262. Siege
  263. User-Agent?
  264. Statistics
  265. Flickr Updates (28 May 2007)
  266. Adobe "Customer Service"
  267. Me vs. Puzzle Quest
  268. New color scheme?
  269. War on Tourists
  270. Giving Feedback
  271. OO.o Calc: Skipping Days
  272. Power's Out
  273. UDP DoS?
  274. Sixohthree.com qmail fixed
  275. SlackBuilds.org: Community Package Scripts
  276. Merging PDFs in Linux
  277. Number 8!
  278. Downtime
  279. Slackware: Daylight Saving Update
  280. RIT Falling Behind
  281. World of Warcraft: New Models on the Horizon?
  282. You Are Not Prepared
  283. Friday Randomness
  284. I've never wanted a mobile phone
  285. Server Move
  286. Handling Spam II: Follow-up
  287. My Country
  288. Handling Spam II: Revenge of the Spam
  289. Burning Crusade Cinematic Intro
  290. Ani DiFranco in Concord
  291. Public Service Announcement
  292. Rest in Peace
  293. [Ding]x2
  294. Web Icons: "Silk"
  295. View from the Top
  296. Sunset
  297. Creating eReader Books
  298. Upcoming: Portal
  299. Websites that Changed My Life
  300. Company are Doing Stuff
  301. Penny-Arcade Redesign
  302. Public Service Announcement
  303. Broadening Horizons: RF Online
  304. Greasemonkey & Opera
  305. E3 2006
  306. Secret Language
  307. Google Sitemaps and WordPress 2.0
  308. World of Warcraft: Ajax item tooltips
  309. Cross-post: Warcraft item links in macros
  310. Monkey See
  311. Background Noise
  312. Hey look, it's winter
  313. Opera for Nintendo DS, & Misc.
  314. 4096 Color Wheel
  315. Ding!
  316. Anyone for static Warcraft?
  317. WoW: Stargate SG-1 Tribute
  318. Blog? What's that?
  319. Fall Updates, 2005 Edition
  320. Banshee
  321. MediaWiki Calendar Template
  322. WordPress via Subversion
  323. Zip Technology
  324. JavaScript Anagram Helper
  325. Better to Just Get High
  326. Penny-Arcade @ MIT
  327. The More Things Change...
  328. Moving Out
  329. Quote Test
  330. Saving Music Videos in iTunes 5.0 for Windows
  331. In the Trenches
  332. WordPress Upgrade
  333. Controlling Spam
  334. Flickr Calendar View
  335. Twist that Knife
  336. Taming Google
  337. Pat Robertson & Amtrak?
  338. In Debt, and Indebted
  339. Lunch Money
  340. Custom Plates
  341. Exploring Flickr
  342. It's the Thought That Counts
  343. Brought to you by the number 1™
  344. Handling Spam
  345. Man Convicted for... Something?
  346. Travelog: To Jen and Back
  347. Font Resource
  348. Aggressive Advertising
  349. Thunderbird Display Errors
  350. Microsoft Intelligence
  351. That Crushing Feeling, and Tangled Webs
  352. Sunday Miscellaneous: eBay Detective and Others
  353. Must Read
  354. Politics-by-Numbers
  355. Python as Calculator
  356. Massive Experiences
  357. Loading title, please wait...
  358. Linguistic Profile
  359. Ergodex DX1
  360. Audio Excellence
  361. Leakage
  362. Phisher Fishing
  363. Firefox Packages on Slackware
  364. Accidental Absence
  365. Post-Boskone Post
  366. News to Me
  367. Memorex Black CD-R Changes
  368. New CD II
  369. Related Feeds (Supposedly)
  370. Thoughts on rel="nofollow"
  371. Targeted Ads in RSS
  372. HTML Labels & Netscape 7.0
  373. Backup Musings
  374. Useless Spam?
  375. If This Pad Could Talk...
  376. Modern-Day Propaganda
  377. Internet Alphabet
  378. Saving iTunes Music Store Videos in Windows
  379. Prior Art
  380. Bash Tips: Set Remote Variables
  381. Dockadd, Revealed
  382. Free Fone, Friend
  383. Six Degrees
  384. Life's Little Pleasures
  385. HTML Under the Microscope
  386. Well, that was fast
  387. Hello Blog
  388. On Playing Half-Life 2
  389. What's that I smell?
  390. Tweakin' the Feeds
  391. Firefox 1.0 Released
  392. Snowflakes
  393. Is a Recount in Order?
  394. Just a Reminder
  395. Ani Fall Tour '04
  396. To Have, or Have Not
  397. POV-Ray Fumblings
  398. CS:S Physics Fun
  399. Comment Spam Update
  400. A Source of Entertainment
  401. Total Lunar Eclipse, Right Now
  402. Help from Unlikely Places
  403. Working Stiff
  404. Couldn't Resist
  405. Subversion Wiki Updates
  406. Unlocking iTMS Tracks
  407. CompactFlash Price Drops
  408. May I Have Another?
  409. Web Dynamics
  410. Thursday Miscellaneous
  411. The Downside of AdSense
  412. Righteous Babeage
  413. Comment Spam
  414. Being Ultra Semantic
  415. Dynamic Pages with JavaScript and the DOM
  416. MySQL Backups with Subversion
  417. Random though
  418. Escaping JavaScript for PHP
  419. Speaking of Coding...
  420. Moving On
  421. More Subversion Reading
  422. Dust Settling
  423. Free Words
  424. Under Control
  425. Alternate Dimensions
  426. July Updates
  427. Gere on AIDS
  428. On HTML Butchering
  429. Ani DiFranco, Live in Buffalo
  430. Happy Birthday to You
  431. Misguided Hierarchies
  432. Bash Tips: Giving Feedback
  433. Ani DiFranco: Official Bootleg Series
  434. Ximian Connector: First Thoughts
  435. Fahrenheit 9/11 in Theatres Friday
  436. Cory Doctorow DRM talk
  437. Food Costs
  438. State Speed Limit
  439. One Week Later
  440. Surgery Tomorrow
  441. May Update
  442. Kaboom
  443. Darkpole
  444. Bash Tips: SCP Compatibility
  445. Sunday Miscellaneous
  446. The Stylus is So Yesterday
  447. Spring Update
  448. Too Good to Pass Up
  449. Variable Web Content
  450. Offline IMAP in Entourage
  451. Snowy Sunday
  452. Hacker Culture
  453. Musical paranoia
  454. Virii Lie
  455. Bash Tips: Wildcards
  456. With a "D"
  457. Thinking of the Big Picture
  458. Wiki way
  459. Stylin'
  460. Linux Trucking
  461. Align Along a Line
  462. A Faker in our Midst
  463. School Days
  464. New CD
  465. You Should Read This
  466. ISO, and You?
  467. Painting With Light
  468. New Haircut
  469. Unemployment Starts at Home
  470. I should blog...
  471. Of Scripts and Such
  472. Winding Down
  473. More Spam, Please
  474. ACGT, If You Please
  475. New Toy
  476. Blast From the Past
  477. In Other News
  478. More Information in my Pocket
  479. Miscellaneous Hackery
  480. Fall Updates
  481. Ninja Power vgextend!
  482. Still Playing Roles
  483. Metadata Rhymes with Metadata
  484. Pocket-sized Internet
  485. I Think I'm Alone Now
  486. Bash Tips: Testing Arguments
  487. The Word is "Excess"
  488. Only in New Hampshire
  489. Getting There From Here
  490. What'd I miss?
  491. On Bragging
  492. The Lure of Data
  493. Summer of Three Day Vacations
  494. A Lone Echo Post
  495. Dock Annoyances
  496. Bash Tips: Automatically Go Root
  497. Lock Your Doors
  498. Internet Explorer fumbles.. he's down!
  499. Chevron Seven Locked
  500. No News is Good News?
  501. TODO
  502. Those "Game" Things
  503. Movie Night: Matrix Reloaded
  504. Summer Plans
  505. Blogs and Spam: The Next Revolution
  506. Goodbye, Boss
  507. DBMS Updates
  508. Will Intern for Food
  509. FlexibleType
  510. Tracking Comments
  511. Thin Client Update
  512. SpamAssassin, Procmail, and Fetchmail, Oh My
  513. ITX PC Build
  514. Static Blogrolling
  515. This is My Life
  516. Of Indoor Swimming Pools
  517. Microsoft is Pain
  518. Family Tech Support
  519. Spring has Sprung
  520. OK, Real Quick...
  521. Bwerp Server Move
  522. Activism (or Lack Thereof)
  523. Be Green
  524. Mmm.. Web Development
  525. More Blog Ignoring
  526. Pings at last!
  527. Making Plain Text Useful
  528. Why ESR is an Anarchist
  529. Recommended Reading
  530. Lonely, Lonely Blog
  531. Mapping the Blogsphere
  532. Sticker Yer Blog
  533. Welcome to China, Here's Your Firewall
  534. You've Got to be Kidding..
  535. Movie Night: Star Trek: Nemesis
  536. Movie Night: Hawk & Amélie
  537. Mmm, Vacation
  538. I Hope My PC Forgives Me
  539. You Are Being Lied To
  540. Making Windows Bearable
  541. Productivity?
  542. Palm Goodies
  543. Tim O'Reilly on Piracy
  544. Overheard
  545. What is "dotdotdot"?
  546. Server Move
  547. A Blog is Born