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