Hay Kranen's logo
  • Work
  • Blog
  • Newsletter
  • Wiki

  • Blog archives

english

  • How to know which Micro USB cables have data (and which ones can only charge) Sun 01 Nov 2020
  • How i fixed the PHP processes killing my server Sat 28 Mar 2020
  • The Booking.com Travel Agency Fri 30 Nov 2018
  • The ‘deaditors’ of Wikipedia Fri 15 Jun 2018
  • How software developers really spend their day Tue 16 Jan 2018
  • iOS 10 promises better video handling in Safari, but doesn’t deliver Thu 22 Sep 2016
  • Stapes.js 1.0.0 Tue 05 Jul 2016
  • Handling complex nested dicts in Python Sat 13 Feb 2016
  • What i do after a fresh Mac OS X install Sat 12 Dec 2015
  • The future and the tightrope: Fronteers 2015 Fri 09 Oct 2015
  • Tackling video and audio on the mobile web Sun 09 Aug 2015
  • A proposal for a perfect CMS Wed 08 Jul 2015
  • The Nonsensical Shirt Generator Mon 06 Jul 2015
  • Help a coder, even if you can’t code Mon 11 May 2015
  • HOWTO backup your Telegram chats (if you don’t fear the terminal) Tue 02 Dec 2014
  • Running a Python Flask app with nginx using uWSGI Sat 15 Nov 2014
  • What I learned from exhibiting Minecraft in a museum Mon 22 Sep 2014
  • Linked Data and the Semantic Web: GLAM’s betting on the wrong horse? Mon 19 May 2014
  • Feline mayors of the world, or: why Wikidata is awesome Thu 03 Apr 2014
  • Saying hello to Python: observations from a newbie Wed 12 Feb 2014
  • Wikipedian in Residence: the first two months Thu 05 Dec 2013
  • HOWTO mass-delete WordPress spam comments using phpMyAdmin Sun 17 Nov 2013
  • The problem with combining UMD (Require.js) modules and non-UMD modules Fri 10 May 2013
  • HOWTO use closure functions as array values in a class in PHP 5.4 Wed 13 Mar 2013
  • Stapes 0.7.0, and the end of create() Sun 13 Jan 2013
  • How to detect (-webkit) overflow scrolling without Modernizr Wed 07 Nov 2012
  • Stapes 0.6 is out Sun 14 Oct 2012
  • A simple Greasemonkey / Userscript to remove all Google Plus UI Sun 16 Sep 2012
  • A cached version of Crockford’s Object.create, up to ten times faster Tue 04 Sep 2012
  • Getting the element index in a SASS @each loop Mon 13 Aug 2012
  • Stapes 0.5.1 released Fri 20 Jul 2012
  • Javascript MVC tutorial: create a todo list using Stapes.js in less than 100 lines of code (part 2) Thu 19 Jul 2012
  • Javascript MVC tutorial: create a todo list using Stapes.js in less than 100 lines of code (part 1) Thu 19 Jul 2012
  • Stapes 0.5 released Mon 02 Jul 2012
  • haykranen.nl 3.0 Sat 23 Jun 2012
  • logrotate, virtual hosts on Apache and 100% CPU Tue 15 Nov 2011
  • Using the :first-of-type pseudoselector instead of :first-child Sat 08 Oct 2011
  • Fixing ‘OS Process Error’ in CouchDB Single Server for Mac OS X Wed 10 Aug 2011
  • HOWTO run multiple versions of Firefox side-by-side on Mac OS X Lion Thu 04 Aug 2011
  • Git: merging specific files from another branch Mon 18 Jul 2011
  • Basic HTTP authentication in Node.js using the request module Tue 21 Jun 2011
  • Silverlight browsers bugs Tue 07 Jun 2011
  • jQuery 1.5 and JSONP requests Fri 25 Feb 2011
  • Random Album Generator Wed 05 Jan 2011
  • Emulating HTML5 and behaviour using jQuery Mon 20 Dec 2010
  • Ricky Gervais on being an atheist Mon 20 Dec 2010
  • Europeana Open Culture Conference Thu 14 Oct 2010
  • Winter Wonder Land Sat 09 Oct 2010
  • Fronteers 2010 notes Sat 09 Oct 2010
  • Eventbug Wed 29 Sep 2010
  • Three new repositories on Github for JSON projects Tue 28 Sep 2010
  • Escaping dollar signs in PHP regular expressions Tue 07 Sep 2010
  • Objective best practices for WordPress plugin development Wed 01 Sep 2010
  • iReader plugin mimics Safari’s ‘Reader’ option almost to perfection Thu 19 Aug 2010
  • jQuery mobile Sun 15 Aug 2010
  • Javascript and sorting Thu 12 Aug 2010
  • Mozilla proposes a fullscreen API for HTML5 sites Thu 22 Jul 2010
  • HOWTO completely disable the auto-translate feature in Google Chrome Sat 17 Jul 2010
  • jsDynaLoad: Dynamic Javascript loader with multi-file support Mon 05 Jul 2010
  • How to use Javascript to make Freemarker errors less intrusive Fri 02 Jul 2010
  • Konami code using jQuery Fri 07 May 2010
  • WordPress 3.0 beta 1 documentation Mon 05 Apr 2010
  • Quake2 in a browser Sun 04 Apr 2010
  • Ten reasons why i’ve switched from Firefox to Google Chrome Thu 25 Mar 2010
  • HOWTO let it snow in Thu 24 Dec 2009
  • Rotate buttons don’t work in WordPress 2.9 Sun 20 Dec 2009
  • The Twol: now available as a terminal (cli) command Sun 20 Dec 2009
  • Music Sat 05 Dec 2009
  • Backup your tweets with BackupTweets Sun 11 Oct 2009
  • Introducing…The Twol Mon 28 Sep 2009
  • Reaction 1.0 released Sun 27 Sep 2009
  • The Creative Commons “Non-Commercial” report Tue 15 Sep 2009
  • Free Emoji iPhone characters without jailbreaking! Sat 07 Feb 2009
  • Flickrstreamr v0.3 released Sun 19 Oct 2008
  • Animals in my Dock Sat 11 Oct 2008
  • JSON viewer with URL support (in PHP+jQuery) Sun 05 Oct 2008
  • PHP Markov chain generator Sun 21 Sep 2008
  • First moving images of Piet Mondriaan Thu 28 Aug 2008
  • Why i love my MacBook Mon 25 Aug 2008
  • Additions and errata for Lonely Planet’s Romania guide Sun 17 Aug 2008
  • Remember the milk Sat 16 Aug 2008
  • Better than Time Machine: backup your Mac with rsync Mon 05 May 2008
  • The World’s 50 Best Works of Art Fri 14 Mar 2008
  • HOWTO download YouTube videos using Firebug Tue 11 Mar 2008
  • FlickrStreamr – an animated way to look at Flickr photos Sat 02 Feb 2008
  • HOWTO install and use FFmpeg on Mac OS X Leopard Wed 21 Nov 2007
  • Designing websites for Linux users lacking Arial Sun 08 Jul 2007
  • Is this a bird or somebody being drowned? Sun 14 Jan 2007
  • Copy-pasting from Microsoft Word into WordPress Mon 06 Nov 2006
  • Disabling WordPress from pinging it’s own entries Sat 07 Oct 2006
Hay Kranen's logo

I build things on the thin line between art, data, tech and narrative.

© 1998 - 2021

  • Work
  • Blog
  • Newsletter
  • Wiki
  • Donate
  • Podcast
  • Privacy
  • Twitter
  • Github
  • /now