About Archive Tag Cloud Translations RSS

Will Larson

An picture of Will Larson

I'm Will Larson, and I am a programmer. I graduated from Centre College in 2007 with a Bachelors of Computer Science. Since then I worked for a year teaching English in Japan, and am now an independent contractor. You can see an informal resume here.

You can reach me at lethain@gmail.com.

Entries written by Will Larson

  1. What Do Django People Search About?
  2. YUI Dialogs, IE z-index and Tragedy
  3. Feedback Loops in Software Development
  4. Recycling Hacker Fear-Mongering
  5. Skew, The Frontend Engineer's Misery
  6. OS X Textfield Encoding (maybe) Issue
  7. Findjango Redesign & Slides for django-nyc
  8. How To Remotely Admin Servers Via Twitter
  9. Findjango, A Week of Progress
  10. Making Django Apps Run On and Off GAE
  11. Technical Debt and Peanut Butter Jars
  12. Findjango: A Django Search Vertical
  13. Solango and Tomcat 6 on Ubuntu Intrepid
  14. Simplified django-springsteen Deploy on GAE
  15. Deploying django-springsteen on Google App Engine
  16. Reranking Results in django-springsteen
  17. django-springsteen and Distributed Search
  18. Leaving DreamHost
  19. Depicting Human Relationships
  20. Smaller Header, JobSyndicate, Printable Articles
  21. Measuring Single and Multi Server Performance
  22. Rewriting Parameterized URLs with Nginx
  23. Overview of Single vs. Multi Server Architecture
  24. When psycopg2 Can't Import tz
  25. The Django and Ubuntu Intrepid Almanac
  26. Visually Representing Word Structures
  27. Using Threadpools in Python
  28. Setting up CouchDB-Lucene on OS X
  29. We're All Sinners and Cosiners
  30. Circle and Line Diaspora
  31. Spiral and Square
  32. Visualizing Keyterms with BOSS and Processing
  33. Cull Lingering Erlang Heart Processes
  34. Hard and Soft, Fluffy and Brittle
  35. Simple Unittesting in PHP
  36. Stripping Illegal Characters from XML in Python
  37. Huge CSV and XML Files in Python
  38. A Filter to Display Neighbors in a List
  39. Genetic Programming: A Novel Failure
  40. Genetic Algorithms: Cool Name & Damn Simple
  41. Moving Into 2009
  42. Django-Portfolio: Organize and Display Projects
  43. The Subtle Joys of Generic Methods
  44. A Command Line Tool for Loading CouchDB Documents
  45. Full-Text Search in CouchDB Using... CouchDB
  46. Blogging as People
  47. Intro to HTTP::Server::Simple::CGI
  48. Finally Waving The White Flag to Objective-C 2.0
  49. Fixing What Ails LifeFlow
  50. Prevent Cron Cancer With a File-based Mutex
  51. Parallel HTTP Requests in Python
  52. Reading XML Files on the iPhone
  53. A Different Approach to local_settings.py
  54. XML::Twig for Large XML Files in Perl
  55. Slides from django-nyc on 11/18/2008
  56. Python-Brightkite for... you get the idea
  57. Introducing a Tutorial and touchDefense
  58. The Blogging Hypochondriac
  59. The Fate of Pop and Hip-Hop in 2008
  60. XML::Simple for Non-Perlers
  61. You Only Learn the First Time
  62. Bad Ideas and Regular Expressions in Templates
  63. Deploying Django with Fabric
  64. Development to Deployment in Django
  65. Creating Slideshows with Cocos2d iPhone
  66. Customize site style by user with django-userskins
  67. User Registration Apps for Django
  68. Releasing Kappa Source (PyObjC Twitter Client)
  69. Advice to Programmers in College
  70. Touch Detection in Cocos2d iPhone
  71. Being a Local Maximum
  72. HSS and YUI Compressor in AYM CMS
  73. R.I.P. Your Resume Site to Awesome
  74. Taming AuditTrail Proliferation
  75. Releasing Source for Mahou
  76. Choosing Between AuditTrail and Django-Rcsfield
  77. Setting Up Django-Rcsfield
  78. Restricting User Signups in Django
  79. Failing a Contract
  80. The Magical Source of YUI Get's Power
  81. Notes on Cocos2d iPhone Development
  82. Suffer Less By Using Django Dev Server as a Proxy
  83. Writing for Consumption
  84. Starting Again, Keeping It Simple
  85. As-You-Type Slug Uniqueness Validation
  86. Layers of Authentication
  87. Custom Django Views for Happier Ajax
  88. Using Automator to Scale Images Horizontally
  89. Redesign of Lethain.com
  90. Intro to Unintrusive JavaScript with Django
  91. A One-Stop AYM CMS Solution
  92. Making Static Dynamic Again; AYM CMS
  93. Intricate Static Websites With Django Templates
  94. Sparklines.js Port to Python
  95. Yes, You Do Care About Cappuccino
  96. Extending Mahou; Gotchas and Snippets
  97. Extracting Data From Google Analytics Reports
  98. Extending Classes in Cappuccino
  99. Writing Mahou; a Cappuccino Image Search
  100. Startups and Assembly Lines
  101. Migrating the 'This Week in Django' Concept
  102. Poor Wireless Connectivity for MacBook
  103. Naming and Casing Convention in PyObjC
  104. Introducing Kappa, a Twitter Client
  105. I Live in New Jersey
  106. Dynamic Ad Targeting With django-monetize
  107. Transcending Search-as-You-Type Stickiness
  108. Epic PyObjC, Part 5: Resources and Farewell
  109. Epic PyObjc, Part 4: Drag & Drop, Multiple Nibs
  110. Epic PyObjC, Part 3: Browsing, Caching, Indicating
  111. Epic PyObjC, Part 2: Adding a Library & Bindings
  112. An Epic Introduction to PyObjC and Cocoa
  113. Writing to Application Support in PyObjC
  114. Writing Titles Under Ninety-Five Characters
  115. Deleting From NSOutlineView With the Delete Key
  116. How to Use Selectors in PyObjC
  117. An Introduction to Using CouchDB with Django
  118. Global Popularity of Programming Languages
  119. An Introduction to Compassionate Screen Scraping
  120. A Syntax Coloring Template Filter for Django
  121. A Year Later, Home From Japan
  122. Python Content Scraper for OneManga.com
  123. Reading "The Nudist on the Late Shift" in 2008
  124. Cocoa Drag and Drop text into the Dock Icon
  125. How to Write a Wrapper Library
  126. BossArray for list-like Yahoo search results
  127. Replacing Django's ORM with SQLAlchemy
  128. Replacing Django's Template Language With Jinja2
  129. An Introduction to Django's Loose Coupling
  130. Reflections on a Year of Blogging and Japan
  131. 小学校と教える授業の最後の日
  132. Last Day of Elementary School and Classes
  133. Stripping Reddit From HackerNews With BOSS Mashup
  134. Polishing Up Our Django & BOSS Search Service
  135. Search Recipes for Yahoo's BOSS in Python
  136. Yahoo's Build your Own Search Service in Django
  137. Release of LifeFlow 0.91
  138. Advice for ALTs Considering a Second Year
  139. A Thursday: Elementary School
  140. An Introduction to a Week in Japan
  141. ReST, Textile and HTML in Markdown
  142. Updates to Sparklines.js
  143. Sparklines in Javascript With Sparklines.js
  144. Ambush Code Review Learns Code Diffs
  145. Overview of Using Django on the Google App Engine
  146. A Sunday Project: Ambush Code Review
  147. A Django Anti-Pattern, Rolling Your Own REST
  148. Working on LifeFlow's Public Face
  149. Release of LifeFlow Version 0.90
  150. Deployment Scripts With BeautifulSoup
  151. Processed Tower Defense 1.0
  152. Things I'll Miss in Japan
  153. Strangest JavaScript Bug I've Ever Seen
  154. Looking for Recycling's Lost Sex Appeal
  155. Updates to Processed Tower Defense
  156. May in Review
  157. Processing.jsの使い方
  158. Spoken Languages, Blub, and Convenience
  159. Music From the iTunes Store, 1
  160. Improvements to LifeFlow Editor
  161. Updating Processing.js Graphics via Ajax
  162. Using Our Own Software
  163. Using Optional Parameters in Django Urls
  164. Technical Aspects of the Life Flow Editor
  165. Introducting the LifeFlow Editor
  166. Why Was The Syllabus Born?
  167. On Hegemony and an Anti-Capitalist Bias in European Textbooks
  168. 5. A Chartered Bus to Downtown Tokyo
  169. Standard Workflow for Publishing With LifeFlow
  170. Replacing the Karma Social Model with Whuffie
  171. Catching Lessons From Spam
  172. Translating Entries into Other Languages with LifeFlow
  173. A Historical Perspective on the JET Program in 2008
  174. On The Causes and Cures of Malware
  175. Failures of Proactive Communication & Other Generic Complaints
  176. かかった年と新しい年の取り返し
  177. 生きて変わる
  178. Opinionated Programming Languages, The Huddled Masses, and Elitism
  179. Lesson Plan: My Winter Vacation
  180. New Style for Including Resources in Entries on LifeFlow
  181. Adding Arbitrary Mods to LifeFlow
  182. Changes from Living
  183. Odors from Shoes Curious in OS X 10.4
  184. Driving on the Left Side
  185. Don't Repeat Yourself for Bloggers: Dynamic Blog Context in LifeFlow
  186. Cleanly Extending Python Markdown with Syntax Highlighting
  187. Customizing LifeFlow Quickly with Skins
  188. Installing a Development Deployment of LifeFlow, a Django Blog Solution
  189. Reflections on the old year, and the new one
  190. BluePrint CSS makes LifeFlow look better, and easier to customize
  191. Music Recommendations & Snow Pictures
  192. Implementing Threaded Comments in LifeFlow
  193. Visiting Kiyomizudera
  194. Status Update for LifeFlow
  195. Accolades for Pygments 0.9
  196. Actors in Common Lisp
  197. Packaging of Renu Contact Solution
  198. Miyajima and Hiroshima
  199. Designing My Future Home
  200. Another Breakfast With You
  201. Merry Christmas 2007
  202. Two-Faced Django Part 7: PyFacebook and FBJS Ajax
  203. Two-Faced Django: Live install
  204. Two-Faced-Django Part 6: PyFacebook
  205. Two-Faced Django Part 5: JQuery Ajax
  206. 4. Airplanes
  207. Two-Faced Django Part 4: The Webapp
  208. Two-Faced Django Part 3: Newforms
  209. Two-Faced Django Part 2: Models and Django Testing
  210. Two-Faced Django Part 1: Building a project that exists simultaniously on Facebook and the web
  211. 3. Shuttle Busses
  212. On Education, Self-Responsibility and Manure
  213. 2. Traffic Jams
  214. 1. Beginnings
  215. 0. Introduction
  216. Using JQuery with Django for Autocomplete Fields
  217. Using PyFacebook without the Facebook middleware
  218. "You Are Beautiful At All Times" by Yppah
  219. Context is a Parameter in Calculating Truth
  220. Those Annoying Habits
  221. Defining Your Web Aesthetic
  222. Introducing my Japanese Kitchen
  223. Hiking Tengaisan
  224. Reliable Mealtime Friends
  225. Grocery Shopping in Japan
  226. Getting Cold in Kamioka
  227. Teaching Adult English Classes
  228. Getting started with Shoes on OS X
  229. Expectations and Reality for the lowly ALT
  230. FAQ about JET
  231. A Few Quick Updates to Site
  232. Eating Cornflakes
  233. Leaving Tokyo, Arriving in Kamioka
  234. From America into an American Bubble: The Flight to Japan
  235. JET Pre-Departure Orientation
  236. Picture from Hotel Room
  237. Heading toward Atlanta
  238. Applying to the JET Programme
  239. Failure of Implicit Conventions: Determining Function Destructiveness
  240. "Building Scalable Web Sites" by Cal Henderson
  241. Dreamier Dream Server with Nginx
  242. Apache/Lighttpd Confusion
  243. Adding Social Bookmarking To a Django App
  244. Syntax Highlighting with MarkDown, and a pinch of Automagick for Django
  245. Music Video? Movie? The 'Once' Dilemma
  246. Extracting Models From Django Datadump
  247. Creating my Dream Server for Django
  248. New Look for LifeFlow, Deployment on Dreamhost
  249. "Puddle City Racing Lights" by Windmill
  250. YouTube Scalability
  251. Stability Issues
  252. How to Migrate Data Across Model Changes
  253. Writing Custom Contexts for Django
  254. Examining Web Analytics to Implement (repost)
  255. A Django Middleware for Google Analytics (repost)
  256. Anti-Objects and Reflexive Decisions (repost)
  257. A Comp. Sci Degree is What You Make Of It (repost)
  258. Is the JVM the "next assembly"? I hope not. (repost)
  259. Reflections on Django (repost)
  260. Good to Great, Paul Graham and Ayn Rand (repost)
  261. Finding Our Programming Flow (repost)