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