Greatest hits: writing
Here are some posts I’ve written on this site that I’m particularly proud of, either because of the topic matter or the high-quality discussion in the comments.
2023
- Sept. 12: Announcing my first proper album
2022
- Dec. 1: Adventures in generating music via ChatGPT text prompts
- Nov. 11: Thoughts on my first machine learning project
- Aug. 10: Let websites framebust out of native apps
2016
2015
- Dec. 8: How to use your U.S. phone number internationally
- March 9: Using automated screenshots to test <canvas> and user interfaces
2014
- Jan. 24: Why Chicago needs to stop playing by Silicon Valley’s rules
- Jan. 13: Adrian and Jacob retiring as Django BDFLs
2013
- Nov. 17: Google+ and YouTube tech disaster report
- Oct. 11: How to redirect domains using Amazon Web Services
- May 20: Why I left Heroku, and notes on my new AWS setup
- May 6: In defense of <canvas>
- Feb. 7: RIP EveryBlock
2012
- Aug. 15: Onto the next chapter
- June 5: The connection between Google Street View and driverless cars
- April 29: Moving Django to GitHub
2011
- Nov. 28: Back in the Django saddle
- Oct. 17: Introducing the YouTube Insult Generator
2009
- May 21: The definitive, two-part answer to "is data journalism?"
- May 18: Django tip: Caching and two-phased template rendering
2008
- Dec. 4: Goodbye hyperlocal, hello microlocal
- May 2: Request: Headless HTML rendering engine?
- Jan. 31: In memory of chicagocrime.org
2007
- July 6: Introducing templatemaker
2006
- Oct. 3: J-schools, computer science and the bigger picture
- Sept. 6: A fundamental way newspaper sites need to change
- May 15: Missouri j-school commencement speech
2005
- Aug. 3: Job change
- May 18: Announcing chicagocrime.org
- March 18: Microformats could describe online news intelligently
2004
- Dec. 6: 'Links via Feedster' on Washington Post and New York Times sites
- July 20: Site-specific browser extension: All Music Guide
- Jan. 5: Give online news stories a relative importance rank
2003
- Dec. 1: Tagging quotes in a news story
- Oct. 26: Wanted: Browser filter features
- Oct. 14: Mailinator changing '1 e-mail per person' mentality
- July 13: Lawrence weather site in all CSS
- June 17: Why news sites don't need specialized blog systems
- June 9: Wrapping up Find The Web Editor's Name And E-Mail Address Week
- March 27: Guidelines for fair, accurate online candidate chats
- March 26: Registration forms make it too easy to cheat
- March 17: A review of Web NCAA bracket interfaces
- March 10: Interview with Web optimization expert Andy King
- March 10: Standing up for standards
- Feb. 25: Covering elections on LJWorld.com
- Feb. 5: FOXNews.com advertising should be labeled in all browsers
- Jan. 2: The need for archives by citation
2002
- Dec. 20: Using 'smart' dates, today
- Dec. 17: How HTML acronyms and abbreviations can help online journalism
- Dec. 9: Trade it on Trodo
- Nov. 28: The Case of the Mysterious Date
- Nov. 26: A career move
- Oct. 31: Pull-quotes on Web pages
- Oct. 30: Link abundance gives false illusion of completeness
- Oct. 25: Page titles on news article pages
- Oct. 25: A follow-up on nytimes.com ad placement
- Oct. 24: Advertising placement at nytimes.com
- Sept. 19: Google News smarter than ever
- Aug. 27: A blind computer user's thoughts on news Web sites
- Aug. 27: News on the Semantic Web
- Aug. 24: Chicagotribune.com strike countdown
- July 11: Auto-refresh on news home pages