All Posts

The complete list of posts, in reverse chronological order.

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