Blog Archives
From 2002 to 2013, wonko.com was a blog. These days I do my blogging on Medium. My old pre-Medium blog posts are archived here. Many of them are stupid. I'm sorry.
- Crass: A Ruby CSS Parser
- Add the tools your toolbox lacks
- On working remotely
- rawgithub.com
- How to run Continuum (SubSpace) on a Mac
- Pie Trip Down Under
- Video: When Not to Use YUI
- Respawn
- When Not to Use YUI
- Speeding up SmugMug Search
- Feeling smug
- On Leaving Yahoo!
- Extending JavaScript natives
- Google+ Pages don't make any sense
- Connecting the dots
- Apathetic
- Simple makefile to minify CSS and JS
- Steve Jobs on programmer productivity
- Why loading JavaScript over SSL from a third-party CDN is a bad idea
- There's more to HTML escaping than &, <, >, and "
- Larch 1.1.0 released
- Sanitize 2.0.0 released
- Introducing YUI 3 AutoComplete
- Privileges, rights, and the slippery slopes that surround them
- "No thanks, I've already had cancer, just feel me up or whatever."
- Why I will avoid flying from now on
- Achieving Performance Zen with YUI 3
- What's happening at Yahoo!
- Dissection of a recruiter email
- On the YUI Blog: Mobile browser cache limits: Android, iOS, and webOS
- Steve Jobs on privacy
- How to succeed at privacy
- YUI!
- Ruby script to retrieve and display Comcast data usage
- Read about Storage Lite on YUIBlog
- Monkeypatch to fix Ruby Net::IMAP + Dovecot response parsing bug
- Sanitize 1.2.0 released
- Etherpad source includes JSMin, which Google Code doesn't allow
- JSMin isn't welcome on Google Code
- History Lite: A lightweight Ajax browser history module for YUI 3
- Sanitize 1.1.0 released
- Context clues
- Backup software comment roundup: people love to hate Mozy
- LazyLoad 2.0.0 released
- Chase followup: the check's in the mail
- Chase will keep taking your money after your account is closed
- Yahoo! Search Pad: Using client-side storage to improve user experience
- VistaPrint condones spam, but doesn't approve of my mothering skills
- The Adventures of Qubit: Episode III
- Vitriol never helps
- The Adventures of Qubit: Episode II
- The Adventures of Qubit: Episode I
- Larch 1.0.1 released
- A decade of wonko.com
- On second thought...
- Switching Portlands
- Larch mailing list
- HTPC bliss with a Mac Mini and Plex
- Larch syncs messages from one IMAP server to another
- Pretty JSLint output for TextMate
- Sanitize 1.0.6 released
- It's never easy
- Working from home
- Old Search Assist interaction screencast from Designing Web Interfaces
- Sanitize 1.0.5 released with a security fix
- Screenshot tour of Thoth
- Sanitize 1.0.4 released with a security fix
- Sanitize 1.0.3 released with a security fix
- Seven things
- How to compile and install Ruby 1.9.1 on Mac OS X Leopard
- Chase is confused
- Sanitize: A whitelist-based Ruby HTML sanitizer
- Snow!
- Tracking Change.gov revisions using git
- Trogdor: Burninatingly fast search using Yahoo! BOSS
- How to prevent race conditions when loading CSS with the YUI Get Utility
- jsmin.rb 1.0.1 released
- My car is titleless
- So long, Dash
- Inquisitor now available for Firefox and IE
- Going home
- Thoth 0.2.1 released
- Thoughts on the Dash Express
- Like a record
- Optimizing Yahoo! Search for the iPhone
- Yahoo! Search brings Search Assist, SearchMonkey, and more to the iPhone
- Enough already with the email newsletters
- Why you probably shouldn't use cookies to store session data
- Try to use one var statement per scope in JavaScript
- LazyLoad 1.0.4 released
- How to install the MySQL/Ruby gem on Mac OS X Leopard
- UPS has invented time travel
- PlayStation 3 video store is a disappointment
- Monkeypatch if you must, but do it responsibly
- New look
- FedEx has invented either invisibility or time travel or both
- Privnote's developers are confused
- War Rocket Ajax Mark II
- Mouse interference
- Thoth 0.2.0 released
- Out of site
- Kudos to Apple for not supporting IE6 with MobileMe
- Job hunting tip: don't stalk your interviewers
- IM conversation of the day
- Listening habits
- Indiana Jones and the Kingdom of What the Fuck
- Customer service
- SearchMonkey launch party at Yahoo! HQ
- Why it's a bad idea to make a browser part of the OS
- Ramaze is beautiful
- Bee mystery
- WordPress still sucks
- The Worst Journey in the World
- Thoth 0.1.4 released
- Thoth 0.1.3 released
- Evil Gmail quota
- blink tag compatibility script
- CrashPlan status report: still awesome
- Thoth 0.1.2 released
- More on the Safari 3.1 keypress change
- Safari 3.1 breaks keypress events
- Thoth 0.1.1 released
- Riposte is now Thoth
- Are you awesome? Yahoo! Search wants you.
- ilovewonko.com
- IE8 might not suck after all
- jsmin-php 1.1.1 released
- Sketchy recruiting tactics
- Poetry gets results
- Dash not-so-express
- Blu-ray wins
- Let the code speak for itself
- A few more details on Thoth and Ramaze
- Same old skin, shiny new guts
- Microsoft to push IE7 as an automatic update
- Quicken Online rocks
- Code aesthetics
- Why I lack sleep
- Lazyweb: please fix my broken eyeballs
- Xbox Live is a delicate flower
- WordPress sucks
- Header photos
- Internet Explorer 8 doesn't matter
- War Rocket Ajax takes a hit
- Gaia Online is doing awesome things with LazyLoad
- Why Assassin's Creed fails
- Rock Band is almost perfect
- Ports freezes suck
- Our first earthquake!
- Moving forward
- Ruby script to sync email from any IMAP server to Gmail
- Gmail + IMAP == <3
- Location-based mailing addresses suck
- Portal rocks on toast
- Things you may not have noticed about Yahoo! Search Assist
- SftpDrive rocks
- Headlights: a beginner's guide
- FedEx has graciously donated my new speakers to someone else (update: resolved!)
- Team Fortress 2: still vaporware
- Grub horror
- CrashPlan: the backup tool for the lazy paranoid
- Warhawk is the first killer game for the PS3
- Content-aware image resizing
- Movie theatres are deprecated
- Levitz sucks
- New YUI Compressor tool released
- badparking.org
- Improving e's performance
- The sad state of text editors on Windows
- Yahoo! oneSearch is now enhanced for the iPhone
- Things that suck about the iPhone
- Evil rodent
- The JavaScript Module Pattern
- The death of privacy
- JyteKeys adds hotkeys to Jyte
- My boring-ass commute
- Google Code doesn't want me anymore
- Painless JavaScript lazy loading with LazyLoad
- recharge plz
- Lightning: 1, Jesus: 0
- An inconvenient bill
- First impressions of Yahoo!
- Minify 1.0.1 released
- A faster JSMin library for PHP
- The people who answer the phones at Oregon's Salem DMV office rock
- Minify combines, minifies, and caches JavaScript and CSS files on demand to speed up page loads
- A series of hexadecimal numbers for your enjoyment
- Equifax has refused to put a fraud alert on my credit report
- T-Mobile's cell coverage sucks
- Remote JavaScript includes without the performance penalty (part 2)
- Remote JavaScript includes without the performance penalty (part 1)
- How to make Postfix and SpamAssassin play nicely when using SPF
- I spoke too soon
- Residential broadband in the Silicon Valley sucks ass
- I love E
- Top five reasons why losing your wallet the day before starting a new job and renting a house while relocating to a new state is lots of fun
- No millions for me
- Just my luck
- SF Bay Area bandwidth
- Comment spammers are easy to fool
- Yahoo!
- JyteBot
- No God of War II for me.
- The glasses, they do nothing!
- How not to write a JavaScript trim function
- Mozy makes good
- It turns out Mozy isn't so hot after all
- George Lucas is a moron
- Consolas is rocking my world
- Smokin' Aces
- Carbonite responds
- Mozy > Carbonite
- My favorite film score of all time
- You got grammar
- An email to Carbonite CEO David Friend
- Flickr and EXIF location data
- AIM protocol change breaks Miranda
- Acunetix SiteAudit: The preferred website security auditing service of lesbians, ninjas, and farm animals
- iPhone confusion
- iPhone? Yes please.
- PlayStation 3 impressions
- HD DVD is worth it
- The Bounty (the movie)
- The Bounty
- The Wii is mine
- Four-and-a-half out of five senses ain't bad
- A lesson in parking lot etiquette
- Net::Amazon::S3 0.1.0
- Crackup 1.0.1
- Best. Bond. Evar?
- My Christmas list
- Crackup 1.0.0
- Slashdot overflows its comments table
- Sony Engrish
- Pelican swallows pigeon
- Wasted coffee
- Crackup: Crappy Remote Backup
- I want to taste New Coke
- Lederhosen
- "Click here to add a description"
- Plan my vacation
- Amazon S3 doesn't make a good first impression
- Video demonstration of reverse teamkilling
- Google Reader++
- Jetpants turns one (and has its first cancellation)
- WordPress VIP Hosting is a ripoff
- Reverse teamkilling
- The Flickr API hates me
- Jetpants is profitable!
- Aspirin is 80 times more deadly than terrorism
- Half Ass Road is a closely-guarded secret
- The Mystery of Half Ass Road
- Post CDXLVI, in which I succumb to the pleadings of my inner speed demons and purchase another WRX
- Dirac Angestun Gesept
- How to block "INVESOTR ALERT!" image spam with SpamAssassin
- The difference between a div and a span
- DenySSH: Block SSH brute force attacks using PF
- Postfix
- How to gain a customer in one easy step
- What's with UPS lately?
- Time to switch hosting providers
- Sidekick app #2: Alarm Clock
- Developing for the Sidekick 3
- Sidekick 3 first impressions
- Picasa, SmugMug, and Flickr
- Superman Returns
- How not to get a job
- Treasure!
- A coffee conundrum
- Remo Williams delivers
- MediaWiki is an ugly mess
- Oregon is trying to kill your children
- Ebola: a review
- Nothing to write
- Clipboard Inspector
- Welcome to the land of the free...
- Ebola book
- FIOS denied
- Xbox 360 impressions
- FIOS install scheduled!
- FIOS inches closer
- Google Calendar
- Spam statistics
- The world's most ergonomic trackball has been discontinued
- Headshot! Praise the Lord!
- What Would ***** Do?
- Sun: 1, wonko: 0
- Seven years of wonko.com
- My WRX is famous
- GuiltBSD
- Someone give the President a cookie
- I've got a fever, and the only prescription is more tags
- V for Vendetta
- Blogs are better than resumes
- The secret of the NES Zapper
- A referrer spam technicality
- On badly written programming articles
- Loren can actually cook now
- My new Alienware Sentia m3400
- DVD
- Ah, employment. We meet again.
- Cooking with Brunslo!
- Audioblogging, podcasting, whatever
- Temperature regulation
- Why I've avoided Ruby on Rails
- Powdered sugar is bad, mmmkay?
- Censorship shmensorship
- What's with all the blurry license plates?
- Why online video sales won't take off (yet)
- It is now a federal crime to annoy someone online in the US
- King Kong
- Ah, unemployment. We meet again.
- Dating a stereotype
- <3 WoW FTW!
- PHP's developers finally learn why namespaces are a good idea
- How not to get hired by Google
- Mission: Xbox 360
- I hate you, PayPal
- I'm addicted to information
- Agh agh agh Ghostwheel is dying
- Little Blue Car
- Civilization IV
- 5 things I hate about Ruby
- All the leaves are brown, etc.
- ReferrerCop.org
- Dogs, or: why I can't get any damn sleep
- Murder simulators
- ReferrerCop 1.0.4
- My sick ear
- My sick relatives
- WordPress's idea of SQL injection security: addslashes
- Day of Defeat: Source
- A Simple and Elegant PHP/MySQL Web Application Framework, Part 3: My God, it's Full of Objects!
- A Simple and Elegant PHP/MySQL Web Application Framework, Part 2: Getting Started
- A Simple and Elegant PHP/MySQL Web Application Framework, Part 1: The Problem
- ReferrerCop 1.0.3
- Jetpants to the rescue
- Screw this DSL shit, I'm pulling out the big guns
- Listen carefully, IMDB: popup ads piss people off
- Odditorium or Warlords of Mars
- Arr you or arr you not a pirate?
- Comment spam defeated by...a cookie?
- Some kid, or: why my apartment complex sounds like whiny screeching death
- Dogs, or: why my apartment complex smells of poop
- I couldn't resist; validmyass.org is now a reality
- Valid XHTML my arse
- wonko.com gets a facelift (and liposuction)
- Somebody Else's Problem
- Jesus fucking shit we're all dead
- Mozilla Firefox 1.5 Beta 1 Release Candidate?
- Listen up spiders: I hate you
- Final Poseidon status update (plus whining)
- Flickrfied photoblog
- Packet loss
- Back from Hawaii (with lots and lots of pictures)
- What should I do with intertron.org?
- Impeccable timing
- WRX accident #5
- How not to win back the hearts of web developers
- Zoom zoom.
- Box office slump? Yeah, and Bill Gates is on welfare.
- Big Damn Heroes
- Monkeys get an Ebola vaccine; the rest of us are still screwed
- Say goodbye to referrer spam with ReferrerCop
- Serenity
- Let's not get too hasty now
- Poseidon performance
- No Pants Day!
- The future of Poseidon
- The Hitchhiker's Guide to the Galaxy
- Serenity Trailer
- Downloading music is okay! Just don't upload.
- Wikipedia knows the shit
- Luecke
- "How dull it is to pause, to make an end..."
- "To sail beyond the sunset, and the baths of all the western stars..."
- MozUpdate is dead
- In which we learn that wonko is an evil, cold-hearted young whippersnapper
- Enough already with the fan films
- Hooray for pi
- A brief comparison of cross-platform GUI toolkits (from Ruby's perspective)
- Love, thy name is Ruby
- Seeing poor performance using PHP's echo statement? Here's why.
- Speakeasy is being poopy
- MusicSync
- T-Mobile website still chock full of SQL injection vulnerabilities
- The Zutons; The Secret Machines; Medeski, Martin & Wood
- Kasabian
- Comcast vs. Speakeasy
- XMLHttpRequest, savior of the Internets
- National Pie Day
- T-Mobile's response
- Amazing new super-ultra-hyper video compression technology! It sounds so good it MUST be true!
- Pie Trip 2.5
- An email to T-Mobile
- In which wonko bravely ventures into the unknown territory of his television's labyrinthine service menus and emerges victorious, if a bit sore
- Christmas loot
- In which I defeat the draconian Christmastime security measures of the apartment office and claim my rightful property without sustaining a single injury
- Random encounter with the ghost of Barry White
- All I want for Christmas
- The WRX takes another hit
- Fireants
- Half-Life 2. Finally.
- Lime: Lightweight Mobile Email
- Valve Software, Half-Life 2, and Steam
- I can see clearly now
- My defective eyeballs
- Ack
- Yahoo! News predicts the future, calls election for Bush
- Marie Callender's yummy frozen dinners
- I am connected!
- No DSL for me
- Fire sauce reserves dwindling...must...replenish...
- Foot-biting attack kitten of DOOM
- A new apartment
- A wildly productive Sunday
- A wildly productive Saturday
- Digital audio bliss (complete with blue LED)
- Gmail has stolen my heart
- George Lucas on altering classic movies
- Back from the dead
- After much gnashing of teeth, Gentoo has finally won me over
- A whole sentence (fragment) all about me
- Post CCXLVII, in which wonko confesses a secret crush on Rebecca Pidgeon
- New feature: Photoblog
- A Qubit, by any other name
- Nokia 6600 (or: the fruits of SMS spam)
- SMS Spam (thanks, T-Mobile)
- Speed + water = fun and bruises
- Independence Day 2004 (with Eric and Notorious R.O.S.S.)
- Loren Bruns: Future President?
- Spider-Man 2 (plus: delicious pie)
- Ghostwheel's growing pains
- For want of a $10 bill
- Fun with Windows Media Encoder, or: Free cable TV for wonko
- War Kayaking
- Thoughts on alcohol and drunkenness
- Pie Trip II: Grandma's House to Portland
- Firefox 0.9 rocks my socks
- Franz Ferdinand
- Pie Trip II: The Video
- Pie Trip II: Dollywood to Grandma's House
- Pie Trip II: Oshkosh to Dollywood
- We're back
- Not quite dead yet
- Pie Trip II: Portland to Wisconsin
- Pie Trip II begins!
- A Succinct Guide to Trench Wars Badassery
- The most entertaining author what ain't dead yet
- Pie Trip II: Pre-production
- An Artsy Black and White Film
- Replay: for fast-acting relief from symptoms of regret and apathy.
- Wonkette
- Using XSLT as a PHP template engine
- Software maintenance woes
- The shortfalls of imapproxy, or: wonko looks a gift horse in the mouth
- Four Days of the Condor, or: wonko plays it safe
- I want FreeBSD to bear my children
- April Fools (plus: wonko gets a bike)
- Happy birthday wonko.com
- Window destroys door; wonko forced to exercise
- Lucida v0.1 released
- Pie Trip II Trailer
- Memory (and my lack of it)
- Post-release movie alterations, or: Why, Nicholas Meyer, why?
- Homing pigeons beat DSL for overall bandwidth
- Play Zork and other Infocom classics over IM
- MailFeed: Read your email via RSS
- Unreal Tournament 2004: Now available at a store near you (but not Best Buy)
- Bush's misleading and illegal tendencies, or: This ain't no blowjob
- Spartan is good stuff; can't wait for Sky Captain
- Brunslo is my hero, but he smells of vinegar
- Pittock Mansion
- Ryan's Anti-Virus Recipe
- On blogging
- Day Three: In which I am introduced to Big Brother
- Day Two: In which I learn that day one was just an introduction to an introduction
- Day One: SAS is big. Really big. No, really really big.
- Silly questions relating to air travel
- Some thoughts on ergonomics
- A helpful tip
- Why can't I just have nightmares like normal people?
- Phoenix -> Firebird -> Firefox
- Movie Round-Up: February 3, 2004
- wonko discovers Patrick O'Brian (thank you Peter Weir)
- Once more unto the breach, dear friends...
- wonko's Big East Coast Adventure, Part III
- wonko's Big East Coast Adventure, Part II
- wonko's Big East Coast Adventure, Part I
- Ghostwheel Filesystem Benchmarks
- Name wonko's new God-box
- Bill of Rights (void where inconvenient)
- Movie Round-Up: January 19, 2004
- m0n0wall, how do I love thee? Let me count the ways...
- Best WRX EVAR
- Best weather EVAR
- Uptime down the drain
- Movie Round-Up: January 5, 2004
- Sleep
- Something or nothing?
- Buy this game
- Running: Not a Good Idea
- Pageophobia
- Measuring ambient temperature using your CPU's built-in thermistor
- MozUpdate 1.4.0
- Why movies cost so much, or: If Kevin Smith can do it, I can do it
- Ebola vaccine! Ebola vaccine! We're saved!
- Two movies, one sucked
- A story of garbage and pies
- Hollywood Crack Exchange
- I hate this bug
- Sitcom loneliness angst
- Boss mode
- Microsoft is from Mars, open source is from Venus
- I found Jebus on Halloween
- X-file of the week: Qubit's bug infestation
- How to eliminate EXCEPTION_ACCESS_VIOLATION errors when using SQL-DMO with VB
- The saga of my Indy DVDs, or: Inefficiency kills baby seals
- Qubit: Funkcat Fantastica
- Movie industry pirates own movies, blames consumers
- An otherworldly evening rain
- It's the future! Just look at the hospitals!
- Bowling for Hypocrisy
- iTunes, meet Windows
- Bad puppy, no treat
- Using Netstumbler with a Netgear WG511 PC card
- Kill Bill Volume 1
- Take my government. Please.
- I wish I lived in Alaska
- Bubba Ho-tep
- LazyFTP
- What'll it be, Comcast? Paper or no paper?
- m0n0wall
- Life, I have been thinking again, and I think that I am not impressed.
- Future, here I come
- RIAA gets a taste of their own medicine
- Kensington Microwave Finder
- Intarweb, here I come
- Hello sparks, goodbye computer
- How to lose a customer in one easy step
- Moving, dinnertime conversation, and things
- Our nonexistent haunted house
- House of Leaves
- Make Ryan Rich
- A house for wonko
- Disappearing DNS-based Blackhole Lists
- W32/Sobig.F wants me to go to college
- The "How Stupid Are You?" Stare
- A Subaru WRX and a Curvy Mountain Road
- The Pie Trip
- The Pie Trip Diaries, Days 3 & 4: August 12th and 13th, 2003
- The Pie Trip Diaries, Day 2: August 11, 2003
- The Pie Trip Diaries, Day One: August 10, 2003
- Yay for self-service
- Pie trip underway; Still in Oregon
- Beach trip, pie trip, happy happy wonko
- Prorated bandwidth on demand
- Pie trip canceled; help me save my vacation
- Mark Olver: Stupendous Badass
- PCEZ: Worst. ISP. Ever.
- I could make movies. Or I could just watch them...
- Hello ducklings. I am kitten.
- Thumbsucker
- The Pie Trip: Planning Stages
- Battle Royale
- wonko's Guide to Awkward Social Encounters, Chapter XXXIV
- The incredibly obvious secret to good storytelling
- The good toothbrush conspiracy
- Name wonko's new kitty
- Life, or something not quite entirely unlike it
- Todo: A cure for procrastination?
- Verdict: Guilty as charged
- I want a pony
- Don't dream and drive
- Sidekicked Sidekick
- The 25th hour, or: Why the work day should end at lunchtime
- Earthquake or lack of food?
- Mozilla's Microsoftian legal tactics, or: Why I'm full of hate
- A Tale of Two Toilets
- Why I write software in my spare time
- Hand me that baby, I need to make an illegal left turn
- Dot: A Review
- Brain partitioning for fun and profit, or: How to have fun all the time and still get paid
- Four years of wasted bandwidth
- A lively fireside chat on April Fool's Day
- Webcams and eyeballs
- i am gorilla fling poo far fly poo fly yay poo good
- Fighting the omnipresent media bias
- Flash! Ah-ahh! He'll save every one of us!
- Books every self-respecting geek needs to read
- Fruit flies like a banana
- Universe == doughnut
- User karma: myth or reality?
- How I learned the secret of the pendulum from Japanese playground equipment
- Throw out your old IM client. Miranda kicks its ass.
- Steal from the rich and sell on eBay
- The source shall set you free
- Thermostat malfunction fries office workers, dog
- Mozilla Mail redirect bounty
- Take that, insurance company
- Three cheers for Uncle Sam
- I do not speak Elbonian
- My morning commute, or: Why I hate invisible traffic cops
- A sink and a urinal
- Don't Panic
- Christian alternative music world, meet Ryan Grove
- A nifty link button compliments of punchcard
- Ebola: the driving force behind the Axis of Evil
- Microsoft Man Number One
- Move along, nothing to see here
- Software engineer fails to properly operate field
- Software engineer fails to properly operate bridge
- Software engineer fails to properly operate ground
- Software engineer fails to properly operate toilet
- Software engineer fails to properly operate ham
- Software engineer fails to properly operate cake