The $2375 Amazon AWS mistake

When I got to GitHub, I checked my application.yml, and it was online with my [Amazon S3] API keys… Crap! I reverted the last few commits, and deleted all traces from GitHub. I was able to clean it up within about 5 minutes and no one else knew about the repo. After a close call, …

Mavericks Multiple Screens vs Jumping Dock

When working with Dual/Multiple Screens in OS X Mavericks and having “Displays have separate spaces” switched on, I noticed that the dock would unpredictably switch monitors from time to time. Fed up with this I spent a Google Search Coupon on the issue and guess what: it’s not a bug, it’s a(n undocumented) feature. To …

Bioluminescent Forest

The projection mapping “bioluminescent forest” is made by artists Friedrich van Schoor and Tarek Mawad. The artists spent six weeks in the forest fascinated by the silence and natural occurrences in nature, especially the phenomenon “bioluminescence”. They personified the forest to accentuate the natural beauty by creating luring luminescent plants and glowing magical mushrooms that …

Playing Quake on an oscilloscope

The XY-mode of an oscilloscope is pretty straightforward. Two voltages specify the horizontal and vertical position of the ray, so by varying these as a function of time you can draw shapes. Basically you output a set of 2D points with coordinates in range [-1, 1], view it in XY-mode on the oscilloscope and Bob’s …

U.S. Midterm Elections 2014 Maps

Why are we so confident these are the most detailed maps you’ll ever see from the 2014 Senate elections? Precincts are the smallest level of geography for publicly-reported election results. There were more than 175,000 precincts in the United States in 2012, fifty times the number of counties. The maps here show precinct-level results, where …

Syncing Data With Firebase Using Ionic Framework

$scope.list = function() { fbAuth = fb.getAuth(); if(fbAuth) { var sync = $firebase(fb.child(“users/” + fbAuth.uid)); var syncObject = sync.$asObject(); syncObject.$bindTo($scope, “data”); } } Once syncObject is bound to $scope.data, which is provided by AngularFire, data will be synchronized consistently in three ways (UI, $scope.data, and Firebase): Calling $scope.data.todos.push({title: result}); will update the UI and also …

Chrome Extension: Video Speed Controller

Speed up, slow down, and rewind any HTML5 video with quick shortcuts. HTML5 video provides native APIs to accelerate playback of any video, but most implemented players either hide or limit this functionality. This extension fixes that, plus more… Because time is money 😉 Video Speed Controller →

MapIt – Map geographical points to administrative areas

MapIt is useful for anyone who has the co-ordinates of a point on Earth, and who needs to find out what country, region, city, constituency, or state it lies within. It’s also great for looking up the shapes of all those boundaries. Above is a screenshot using the coordinates of my hometown Deinze. Data also …

SWAPI — The Star Wars API

$ curl -X GET http://swapi.co/api/people/1/ { "name": "Luke Skywalker", "height": "1.72 m", "mass": "77 Kg", "hair_color": "Blond", "skin_color": "Caucasian", "eye_color": "Blue", "birth_year": "19 BBY", "gender": "Male", "homeworld": "http://swapi.co/api/planets/1/", "films": [ "http://swapi.co/api/films/1/", "http://swapi.co/api/films/2/", "http://swapi.co/api/films/3/" ], "species": [ "http://swapi.co/api/species/1/" ], "vehicles": [ "http://swapi.co/api/vehicles/14/", "http://swapi.co/api/vehicles/30/" ], "starships": [ "http://swapi.co/api/starships/12/", "http://swapi.co/api/starships/22/" ], "created": "2014-12-09T13:50:51.644000Z", "edited": "2014-12-10T13:52:43.172000Z", "url": "http://swapi.co/api/people/1/" } …