Smashing Magazine
I have written a series of articles for renowned web-dev/graphic design network Smashing. The first of these, frequently found in early search result pages in Google, sought to clear up confusion over various jQuery methods, such as parents() vs. closest().
- Commonly Confused Bits of jQuery
- Image Manipulation with jQuery and PHP GD
- 10 Oddities and Secrets About Javascript
Pudding CMS
Pudding is a CMS I built, and continue to develop. Several sites already run off it. It is primarily designed for the PHP developer, though once the basic architecture of a site is set up it is very easy for non-developers to add or modify site content.
Iterative content - blog entries, products, whatever - is at the heart of Pudding, and is stored in 'modules' set up by the developer. The developer has full control over the fields and look of the form that is used to add content to the module, which fields are used to display the iterative content when browsing or searching it, and so on. It's really quite powerful, and all about customisability.
- Friendly URLs (/category/product/id etc)
- Native support for virtual paths (/products/some_sort_of_product-12345)
- User-defined modules - user defines all fields that make up the form to enter/edit module's data
- Caching system, with capability to except certain parts of page from caching
- Transformation of iterative content one of three ways - entries tags, PHP or XSL
- Easy set up of feeds
- User groups, each with different permissions
- Auto-generation of 'navigation blocks' based on user-specified template
- Restricting access to pages or folders depending on user account type
- etc...
Espresso Education
I lead front-end development at Espresso Education, an e-learing company based in Hammersmith, London. Their content is used by thousands of schools in the UK, US, Canada and Sweden. Some of the projects I have led development on include:
- localisation: the (mostly) algorythmic transformation from British to US or Canadian English via JavaScript. (This sounds easy at first - change S's to Z's etc - but it's not; 'cinema' should become 'movie theater', but not in the sentence 'French cinema'. One of hundreds of caveats...). The ultimate REGEXP project.
- JS loader: central JS loader responsible for evaluating what else needs to load, and when, and loading it
- numerous carousels, JS-powered games
- server-side XSL in the Unify CMS which the firm uses
- PHP spider which pulls down an entire site, re-jiggs it somewhat, and saves a local, offline version
.NET magazine
In Summer 2011 I was approached to write an article for .NET magazine, a monthly designer-developer magazine sold throughout the UK. I wrote a four-page introduction to regular expressions in Javascript.
It was pitched at elementary-intermediate JS developers who are perhaps too used to relying on jQuery. It began by selling the concept of REGEX and how powerful it can be, before introducing them to some of the key functions and components used in building and employing REGEX, backed up by code examples.
I am currently (March 2012) writing a second article for them.
And a bit about me
I'm a Javascript developer originally from Nottingham but now living in Wandsworth, London. I specialise in native JS, jQuery, AJAX, XML/JSON and XSL, though I also have a background as a PHP developer.
I am a classically-trained pianist and musician by education. I discovered the incredible music and life of Dmitry Shostakovich during A-level music, which inspired me to the extent that I moved to Russia for four years, living in the city of Nizhny Novgorod (formerely Gorky) and working as a developer. I speak Russian.
If you're interested, , his 'comeback piece' after vicious criticism by Stalin of an earlier work. This is a false triumph; it fooled Stalin, who hailed Shostakovich's return to the fold, but the joke was on him. Shostakovich later said it was pretty obvious the 'triumph' was forced. In his own words (though there is some doubt he said it)
"I think it is clear to everyone what happens in the Fifth. The rejoicing is forced, created under threat, as in Boris Godunov. It's as if someone were beating you with a stick and saying, 'Your business is rejoicing, your business is rejoicing, your business is rejoicing,' and you rise, shaky, and go marching off, muttering, 'Our business is rejoicing, our business is rejoicing.'"
I adore house music. To those who quickly dismiss it, you are wrong and naiive. At the centre of house music are traits found throughout classical music such as minimalism, liet motif and, above all, ostinato. I once wrote a musicological analysis (and defence) of a piece of trance music to demonstrate its compatability with comparisons to classical music. House music is not something you like, it's something you feel, deep within you. It is life affirming, peaceful, spiritual and keeps you young.
I am also a former tennis coach and an avid ice hockey player (though I currently lack a team... any offers!?)