Musings and scribbles
- What’s in a name? Jul 5, 2020
- Clean Code in JavaScript Feb 9, 2020
- Hobbyist to Engineer Feb 1, 2019
- Teaching the web platform: theories and observations Mar 21, 2016
- Good Interview Vibes Mar 14, 2016
- The User; The Programmer; Aug 17, 2015
- Email aliasing in Google Apps Apr 7, 2015
- Fuzzy Scoring Regex Mayhem Mar 7, 2015
- Perpetual Obsolescence, Candy & Grit Jan 30, 2015
- Software industry myths Apr 6, 2014
- Montaigne, on software Jan 4, 2014
- What is React? Dec 31, 2013
- The Value of Testing Dec 16, 2013
- A thousand listeners… Nov 20, 2013
- There is no directive Aug 18, 2013
- Straight-up interpolation Aug 12, 2013
- Semantic HTML is dying Aug 4, 2013
- “Free Culture” Resources Aug 1, 2013
- Abstracting The Web Worker: Operative Jul 18, 2013
- Cargo-culting in JavaScript May 25, 2013
- Sonic & The State Of Spinners Mar 31, 2013
- How to deal with bad code Mar 23, 2013
- Building SIML: A new markup language Mar 17, 2013
- Permissive user input validation Jan 27, 2013
- Who maintains your JS? Jan 5, 2013
- JS adolescence Nov 13, 2012
- Character saving trickery and bitwise revelations Aug 30, 2012
- What JS devs seem to care about Aug 27, 2012
- IIFE argument madness Jul 6, 2012
- Replacing text in the DOM… solved? Jul 3, 2012
- HTML7 arrives! Jun 8, 2012
- Move that parenthesis! May 6, 2012
- Zerg rush in JavaScript Apr 27, 2012
- The insecurity of being wrong Apr 9, 2012
- jQuery EventEmitter Apr 7, 2012
- The pursuit of free knowledge Mar 21, 2012
- Programming exchange feedback Mar 11, 2012
- Programming skill exchange (survey) Mar 4, 2012
- Ordering variable declarations Mar 1, 2012
- Intellectual property Jan 22, 2012
- Using proxies to mimic existential-operator behaviour Jan 1, 2012
- Making APIs is hard Dec 22, 2011
- Beware of passion voids Nov 22, 2011
- Rampant Callback Syndrome Nov 20, 2011
- JSAPI.info Nov 1, 2011
- Terse JavaScript 101 – part 2 Oct 29, 2011
- Truthy & Falsey Oct 19, 2011
- Terse JavaScript 101 – part 1 Oct 18, 2011
- The Absolute Silence Oct 16, 2011
- Is negativity a problem? Oct 13, 2011
- GiveCampUK 2011 Oct 1, 2011
- Subclassing jQuery Sep 11, 2011
- JavaScript and DOM API fuss Aug 28, 2011
- Sonic – looping loaders Aug 26, 2011
- Amazon Kindle: review Aug 12, 2011
- `.match()` trick Jul 10, 2011
- JavaScript interview questions Jun 7, 2011
- Farewell to Isara, Nong Khai and Thailand Apr 27, 2011
- It was all fiction… Apr 17, 2011
- BUJS #1 – getParameterByName Mar 1, 2011
- Isara’s new management system Feb 20, 2011
- Isara + CodeIgniter = ? Jan 3, 2011
- What am I doing? Dec 8, 2010
- Detect IE in JS using conditional comments Aug 20, 2010
- Dear .NET Jul 26, 2010
- Replacing text in the DOM… it’s not that simple! Jul 7, 2010
- Creating fairies Jun 1, 2010
- Questioning non UI events Apr 29, 2010
- Another JavaScript quiz Apr 27, 2010
- Library foundation code Apr 26, 2010
- 76 bytes for faster jQuery Mar 31, 2010
- Labelled blocks, useful? Mar 23, 2010
- Sorting elements with jQuery Mar 19, 2010
- jQuery: Novice to Ninja Feb 26, 2010
- Double bitwise NOT (~~) Feb 15, 2010
- Under jQuery’s bonnet Jan 31, 2010
- jQuery Lint Jan 18, 2010
- Cross-domain requests with jQuery Jan 12, 2010
- jQuery code smells Jan 5, 2010
- Macros in jQuery Dec 26, 2009
- Gapless wall of images Dec 20, 2009
- Easing in jQuery 1.4a2 Dec 19, 2009
- Simple pulse plugin for jQuery Dec 16, 2009
- Who won a jQuery cookbook!? Dec 11, 2009
- The jQuery Cookbook Dec 8, 2009
- Anti-patterns in the making Dec 4, 2009
- Introducing “SiteTraverser” Dec 2, 2009
- Getting fancy with easing Nov 20, 2009
- JavaScript is the icing! Nov 16, 2009
- Partial loop “unrolling” Nov 13, 2009
- Achieve jQuery enlightenment Oct 31, 2009
- Pong, and what it taught me Oct 29, 2009
- JSON is not the same as JSON Oct 17, 2009
- JavaScript comment removal – revisited Sep 11, 2009
- jQuery plugins are broken! Sep 10, 2009
- Contextual SCRIPT tags Aug 31, 2009
- Satisfy that selector! Aug 20, 2009
- Express yourself! Aug 19, 2009
- JavaScript: Bad Practices Aug 17, 2009
- Third party JavaScript – an improvement Aug 11, 2009
- Introducing “mini” Aug 9, 2009
- Zakas’ JavaScript performance tips Aug 8, 2009
- jQuery.fn.map enhancement Aug 7, 2009
- Fun with jQuery’s “animate()” Jul 26, 2009
- Avoiding DOM flickering Jul 23, 2009
- Trying to learn Java Jul 22, 2009
- Recursive “pretty date” Jul 19, 2009
- Closures in JavaScript Jul 16, 2009
- String.prototype.extract Jul 14, 2009
- Take a stand against IE! Jul 12, 2009
- Special scroll events for jQuery Jul 10, 2009
- How to avoid switch-case syndrome Jul 4, 2009
- Retaining a reference, the simple way Jun 27, 2009
- “wordwrap” for JavaScript Jun 26, 2009
- Monitoring DOM properties Jun 23, 2009
- Zoomer component for sale! Jun 17, 2009
- Metadata within HTML comments Jun 15, 2009
- It’s just an API Jun 9, 2009
- Best practices & JSLint Jun 7, 2009
- “prettyPrint” for JavaScript Jun 5, 2009
- Fastest way to build an HTML string May 29, 2009
- Table rows as clickable anchors May 25, 2009
- Removing comments in JavaScript May 24, 2009
- Custom JavaScript with “parseScripts” May 21, 2009
- jQuery plugin detector May 17, 2009
- I’m on Github! May 16, 2009
- “Grayscaling” in non-IE browsers May 11, 2009
- Konami Craziness May 9, 2009
- Function’less event handlers in jQuery May 6, 2009
- Asynchronous innerHTML Apr 25, 2009
- A better data selector for jQuery Apr 23, 2009
- Deep copying of Objects and Arrays Apr 22, 2009
- Really easy speed testing Apr 19, 2009
- Fixing “:focus” in Internet Explorer Apr 16, 2009
- Introducing: JSHTML Apr 14, 2009
- “Prototypal chainability” Apr 13, 2009
- Find and replace text with JavaScript Apr 5, 2009
- Readability, a noble cause Apr 1, 2009
- ‘Events’ interface for jQuery Mar 31, 2009
- Learning jQuery 1.3, the book Mar 30, 2009
- Regular Expressions in JavaScript, part 2 Mar 23, 2009
- Using YQL with JSONP Mar 21, 2009
- Don’t use “!important” Mar 20, 2009
- Screencast #2 – Creating the colour-fader Mar 19, 2009
- New code-view feature Mar 14, 2009
- A framework-agnostic model Mar 11, 2009
- Preventing an unintended exit Mar 10, 2009
- Looping in JavaScript Mar 3, 2009
- ‘tweetFromFile’ PHP Class Mar 2, 2009
- Fun with Getters & Setters Mar 1, 2009
- Usability & Animation Feb 26, 2009
- Element data/storage Feb 21, 2009
- Parsing URLs with the DOM! Feb 19, 2009
- Things you may not know about jQuery Feb 19, 2009
- Random & Unique! Feb 14, 2009
- ‘animateToSelector’ jQuery plugin Feb 10, 2009
- JavaScript Abstractions Feb 8, 2009
- Playing with Ubiquity Feb 7, 2009
- Shuffling the DOM Feb 4, 2009
- Clear a field on focus Feb 3, 2009
- Why create a jQuery plugin? Feb 2, 2009
- Getting the real time in JavaScript Jan 29, 2009
- Regex Selector for jQuery Jan 28, 2009
- New jQuery plugin: ‘imgPreview’ Jan 26, 2009
- Getting a fully qualified URL Jan 21, 2009
- Clickjacking Twitter Jan 20, 2009
- Word Jumbling ‘Experiment’ Jan 16, 2009
- jQuery ‘delay’ plugin Jan 13, 2009
- Checking types in JavaScript Jan 12, 2009
- Screencast #1 – Event Delegation in jQuery Jan 12, 2009
- Guilty Until Proven Innocent Jan 10, 2009
- Debug jQuery events with ‘listHandlers()’ Jan 8, 2009
- Graceful degradation still matters! Jan 8, 2009
- Preloading images from a directory Jan 7, 2009
- Get document height (cross-browser) Jan 6, 2009
- The perfect document overlay Jan 5, 2009
- Regular Expressions in JavaScript Jan 4, 2009
- Highlighting text with JavaScript Jan 3, 2009
- 2009 predictions Jan 2, 2009
- Tacky page fading ‘trick’ Dec 31, 2008
- Test for an external link Dec 30, 2008
- Debugging with $.log() or log() Dec 30, 2008
- Passing a function to jQuery’s CSS() method Dec 30, 2008
- jQuery: $(elem).with(); Dec 30, 2008
- New jQuery plugin: “Fly Off Page” Dec 27, 2008
- Create a TinyURL with JSONP Dec 24, 2008
- Cross-domain requests with JSONP? Safe? Dec 24, 2008
- A lack of progression? Dec 17, 2008
- Extending jQuery’s selector capabilities Dec 11, 2008
- Bookmarklet: ‘Let me Google that for you’ Dec 1, 2008
- New template: PIXELLE Nov 27, 2008
- iNettuts with Cookies! Nov 20, 2008
- What I’ve been reading Nov 19, 2008
- Random word generator Nov 17, 2008
- Little Enhancements Nov 6, 2008
- Some jQuery Shortcuts Oct 31, 2008
- Solving Twitter’s URL posting issue Oct 25, 2008
- JavaScript libraries vs. Usability Oct 18, 2008
- Reflection on poverty Oct 14, 2008
- My first “real” job Oct 5, 2008