HomeEvan LeckliderA blog about software developmentBuilding JavaScript with MakeDec 20, 2019 in JavaScript , MakeDecorating Ruby's Net::HTTP for Fun and ProfitSep 22, 2016 in HTTP , RubyArray-like Objects in Ruby with ForwardableMar 17, 2016 in RubyBetter Low-Level Error Handling with PumaDec 10, 2015 in Puma , RubyStrong Parameters in SinatraDec 8, 2015 in Ruby , Security , SinatraParsing GET Parameters in JavaScriptDec 1, 2015 in JavaScriptSimple JavaScript InternationalizationDec 1, 2015 in I18n , JavaScriptTransparent Proxy Detection in JavaScriptNov 16, 2015 in JavaScript , SecurityCustomizing Native Form ValidationAug 18, 2015 in JavaScriptDumb Grids with SusySep 29, 2014 in CSS , SusyCross-Site Request Forgery Prevention in SinatraAug 21, 2014 in CSRF , Security , SinatraAnimating TurbolinksJul 11, 2014 in CSS , JavaScriptMailMate's Default SearchJan 1, 2014Octopress is a Little ScaryDec 30, 2013My Fastmail SetupNov 4, 2013Leaving GmailOct 30, 2013Making Nginx & WordPress ScreamOct 10, 2013 in Cache , Nginx , PHP , WordPressBuilding Trello CyclesOct 3, 2013 in CoffeeScript , JavaScript
A blog about software development
Dec 20, 2019 in JavaScript , Make
Sep 22, 2016 in HTTP , Ruby
Mar 17, 2016 in Ruby
Dec 10, 2015 in Puma , Ruby
Dec 8, 2015 in Ruby , Security , Sinatra
Dec 1, 2015 in JavaScript
Dec 1, 2015 in I18n , JavaScript
Nov 16, 2015 in JavaScript , Security
Aug 18, 2015 in JavaScript
Sep 29, 2014 in CSS , Susy
Aug 21, 2014 in CSRF , Security , Sinatra
Jul 11, 2014 in CSS , JavaScript
Jan 1, 2014
Dec 30, 2013
Nov 4, 2013
Oct 30, 2013
Oct 10, 2013 in Cache , Nginx , PHP , WordPress
Oct 3, 2013 in CoffeeScript , JavaScript