Post-It #32

Counting those Stephen Colberts, new spacesuits, stem cell research tripling mice life spans, and the mystery of the dark night sky explained.

One of the great satirists of our time: How Many Stephen Colberts Are There?: An enjoyable look at one of my favorite satirists. Towards the end there’s a short excerpt from the long list of his “exploits” — it’s quite astounding, really.

It’s Buzz Lightyear! NASA’s Z-1 spacesuit prototype looks familiar. What most people don’t know is that design-wise, the current line of NASA’s hard-vacuum-capable space suits is roughly 40 years old. Fourty years! And people laugh about Russian Soyuz tech…

Let’s grow really old. Old Mice Made “Young”—May Lead to Anti-Aging Treatments:

To [stem-cell expert Johnny Huard’s] astonishment, the treated mice lived an average of 71 days—50 more than expected, and the equivalent of an 80-year-old human living to be 200, he said.

The scientists suspect that the young stem cells the mice were injected with secreted something that influenced the host bodies in a good way, causing slowed aging. They are still puzzled at what that mysterious secretion is.

Why is the sky dark at night? Interesting question, answered by the MinutePhysics people:

Post-It #31

Your favourite new Dropbox tool, gun control in Japan, why Germany is still on top, Python-less docco, Instagram, and a video short about Earth seen from space.

I’ve built a thing you can buy. It’s called Servus and is a quick-upload Dropbox tool for Mac that supports custom themes for your uploads’ preview pages. There is a 14-day trial, and until the end of days I have the aptly named APOCALYP-SALE 2012 going on. ;)

A Land Without Guns. How Japan Has Virtually Eliminated Shooting Deaths - The Atlantic: A fascinating look at the differences between gun acceptance, law and control in the US and Japan.

We’re doing fine! The U.S. Could Learn from Germany’s High-Tech Manufacturing: Why Germany is still going strong. It’s interesting to read a take of someone from the outside.

A pure JS docco implementation. doccoh is good ol’ docco minus the dependency on pygmentize (which is Python) — instead doccoh relies on highlight.js. I like it because it’s much easier to install in a “pure” node.js/npm environment. Works as advertised.

And that’s what you get for free. The Atlantic on the Instagram “privacy” monetization. This is why I try to pay for things I really like and use heavily — Pinboard, Dropbox, Evernote, to name but a few. If you’re outraged about the Instagram news, then I suggest you bookmark Hendrik’s comprehensive timeline on any free, commercial service ever for future reference.

Overview. A 19 minute short about “astronauts’ life-changing stories of seeing the Earth from the outside – a perspective-altering experience often described as the Overview Effect.” It’s worth your time, I think.

Blocking those ads on Xbox Live

Building a fire-and-forget ad blocker using OpenDNS.

I am an avid Xbox Live user. More to the point, I’m an avid Xbox Live Gold account owner for a number of years by now.

So, I’ve paid for the console, I’m paying for all my games, and I pay an ongoing monthly fee for the connectivity, experience, whatever you want to call it. Still, Microsoft —proprietor of this fine service— thinks it’s entirely sensible to put ads in the frontend, or show Kinect ads before videos.

Screenshot dashboard ads

I disagree.

So I’m using OpenDNS to block their ad servers on my Xbox for good. Here’s how.1

First up: I’m using a router, and both my Xbox and my main computer are getting their internets from it. Since both of them go through the same router, they share the same external IP address. If your setup is the same, this is what to do.

What you’ll do

First, you’ll install the tiny OpenDNS client tool on your main machine so your OpenDNS account always knows about your current external IP.

Then, you’ll configure your 360 to use OpenDNS’ DNS server, so it’ll adhere to your OpenDNS settings (blocked domains etc.).

Setting up your Mac or PC

  1. Create a free OpenDNS account.
  2. Download the OpenDNS Updater for your main machine. (There are official clients for both Windows or OS X.)
  3. Go to OpenDNS’s settings page and create and/or select your home network.
  4. Install the Updater and connect it to your OpenDNS account. Make it auto-run on startup.
  5. On the settings page for that network, set your “Web Content Filtering” level to whatever (mine is at “None”), but add the following individual domains to the “Always block” list:
    · g.msn.com
    · rad.msn.com
    · rpt.rad.msn.com
    · global.msads.net
    · msnvidweb.vo.msecnd.net

At this point your OpenDNS account will a) always know your home network’s current IP address and b) block MS’ ad servers. Your network won’t be affected by this, tho, as it doesn’t actively use OpenDNS.

Setting up your Xbox 360

  1. On your Xbox, go to the Settings page/panel → System → Configure Network.
  2. Select your active network connection and go to the DNS settings.
    Screenshot Network Configuration
  3. Set the DNS setting to “manual”, then the primary DNS server to 208.67.222.222 and the secondary DNS server to 208.67.220.220.
  4. On saving these settings, your Live account will be logged out. Just log in again.

That’s it. Your Xbox is now using OpenDNS’ DNS servers — and its blocking capabilities configured by your account; your desktop machine will auto-update your OpenDNS account with your IP address. A perfect match.

If the dashboard is still showing ads, clear the 360’s cache or wait a day or two for the ads to expire.

Disclaimer: works for me, YMMV, I take no responsibility. Moo.


  1. I didn’t come up with the idea myself: there’s a reddit post on the topic that predates my post by about 9 months. [return]

Apple users are from Mars, Android users are from Venus

It’s the godsdamn console wars all over again, I swear.

So today Apple might/will/should announce the iPhone 5. Which, of course, means there’ll be a hilarious avalanche of delightful “art” by curiously insecure1 Android users, just like this one:

Sheep running towards a badly photoshopped Apple Store

Haha, it’s funny because it’s utter bullshit.

I guess Apple users are from Mars, Android users are from Venus!!!1 Or something. Bloody hell, I’m already sick and tired of the predictable Apple user bashing.

It’s not just that many conscious Android users I’ve met don’t understand what I like about iOS, it’s that they don’t want to hear why. Not all of them, mind. Just …many. You prefer Android? Great, your choice, have fun. Me, I like iOS better. That doesn’t make me retarded or a sheep or a mindless drone.

But your willful ignoring my reasons, preferences and ability to decide make you look like a proper fuckstick. The door swings both ways, of course: rabid iOS fans are no better.

And when I talk with those people, it becomes clear that their minds are so set on “the one true OS/device/whatever” that they’re convinced the other side has nothing new or better to offer. Also, that the other side is nothing but braindead drones following a cult. But that is a ridiculous notion, especially when talking about iOS and Android.

Different people look for different things: favourite screen sizes, how multitasking is handled, whether or not there should be hardware buttons, how configurable everything is etc. And that’s how it’s supposed to be. Just remember that maxing out, rooting or skinning your Android handset won’t make you Neo; much like how meticulously re-ordering the icons on your iPhone doesn’t mean you’re the goddamn Batman Jony Ive.

You’ve made a hardware/software choice. Congratulations. My guess is it was the right one for you. Now live with it, own it. And please understand that your choice won’t improve retroactively by belittling others. The other party is not at fault, so suck it up, you pussies.

If you can’t grok that: Go die in a fire, you righteous cunts.


  1. If they’re not insecure at all, why do they feel the need to LOL at people who chose differently? [return]

Post-It #30

Bash one-liners, Flickr vs Yahoo!, low-innovation internet, draft posts in jekyll, a great zombie-related short.

This is useful. “Bash One-Liners Explained” is laying out in some detail the hows, whats and whys of bash’s power in a number of examples. Part I deals with files, and I’ve learned a few new tricks! Bookmarked.

This is depressing. I started at Yahoo just a few months after Yahoo! had snatched up Flickr, and I remember being happy about them doing it, for they were “the good guys”. I remember the delicious acquisition shortly afterwards, too. I also remember what happened then, or better, what didn’t happen, and how we were all a bit confused by the stalling. So Gizmodo’s “How Yahoo Killed Flickr and Lost the Internet” was enlightening.

This is sad. “When Will this Low-Innovation Internet Era End?”, asks HBR’s Justin Fox. I think that’s a damn good question. Related: Doug Humphrey’s “we will still need an Internet, once we are done putting the Entertainet in place”. (Via Tim O’Reilly on G+.)

This is practical. I was complaining about Jekyll not allowing for real draft posts, but then I found a simple way around that particular problem. Works for me, but as always, YMMV.

Not your average zombie short. This is good: “Spoiler” is a gripping, really well made short movie about “normal life” after mankind dodged the zombie outbreak bullet. No splatter, just intense and emotional story telling.

The Big Blog Move Of 2012, Part 2

The Saga continues, or: Goodbye Calepin, hello Jekyll.

A few weeks ago word got around that Calepin, the Dropbox-based blog service I used, was going to close soon.

Luckily, all my posts were plain text files on my Mac already (well, Markdown files), so I was much calmer this time around as I knew it wouldn’t mean as much work as last time.

Still, it meant I’d have to move yet again, and after looking around without finding anything that suited me1, I hunkered down and tried to come up with a setup that wouldn’t annoy me (much). After a few minutes I decided to go with jekyll, “a simple, blog aware, static site generator”, as the site says. Eats Markdown files, poops out static HTML pages, works for me.2

Of course, moving from a site like Calepin means having to start over with the entire design; back when I moved to Calepin I had felt happy about not having to make any design choices, and I was fond of its minimalist approach – no fluff, just text, I liked that. I would stick with that idea.

As I am lacking any skill when it comes to original design I tried to find out what I liked about the look of some other blogs I read. So I drew a good amount of inspiration from these sites and apps:

Thank you, guys! :)

Then I came across Oliver Reichenstein’s rather good iA post, “Sweep the Sleaze”, which made me think about all those damn social buttons. Initially I had considered adding some bare-bones sharing mechanisms to the site, but that article gave me pause. Those things are everywhere, but how often had I actually used them? Not very often – my Twitter client is open anyways, and I guess yours is, too. So if you want to share something you read here3, you’d probably know how to do it anyways, and very likely have your favourite tools at hand, to boot. Rule of thumb: If you can’t be bothered to copy and paste a link, chances are high it’s not that important/hilarious/awe-inspiring anyways. And frankly, not everything I say or write will make you want to wring your hat in your hands, gasping with amazement. Yes, yes, no, don’t say it – I know it’s true. So there.

Also, after taking a peek at my logs I noticed almost no visitor cared about my tag pages or categories, so I did away with those as well. Thus, there’s only post pages like this one and overview pages.

In terms of CSS, I’ve decided to use Skeleton as the foundation, which is a minimal set of CSS rules for responsive design – meaning the site will look good on a big desktop monitor as well as on an iPhone screen.

HTML-wise, I looted some ideas from my friend Mike’s site, among them his rather clever use of microformats – the address tag implementation on mikewest.org made me nod very, very approvingly.4 Thanks, Mike!

The fonts are served by Typekit and Fontdeck. Why not just one of them? Well, funny story. I signed up for Typekit’s $25/yr “Personal Plan” – and only then I realized my beloved Proxima Nova wasn’t available in that plan. Of course, upgrading to the $50/yr “Portfolio Plan” would give me access, but well, fuck that. Fontdeck’s “pay as you go” idea made more sense in that situation, as I could purchase/rent Proxima Nova for a mere $10/yr. So that’s what I did. Of course Fontdeck doesn’t offer the Le Monde fonts, so that’s where Typekit comes in. It’s all a bit weird, really.

To the server, then! Ah yes, but a few weeks ago I had cancelled pretty much all my old personal server hosting, and hadn’t gotten around to look for a new one. But you know who’s good at hosting? Heroku! Their pricing starts at “free”, and I figured said free level would have plenty juice to serve a static site. 16 lines of code later I knew I was right.

So, that’s it.

It’s working, and I’m reasonably proud of my wee blog. I still want something Dropbox-based, and in a way, I already have parts of it. My “raw” post files reside in a Dropbox folder, but to publish them I have to hit the terminal, which is a bit of a downer. There’s a high chance I might end up doing something about this at some point in the future. We’ll see.

But maybe I’ll write some blog posts first.

If you want to comment, allow me to direct your attention to the intentionally absent comment form below, and then to the links in the sidebar. If you want to, you know how to reach me.


  1. Sorry, Scriptogr.am – you’re pretty and appealing, but your lack of custom routes/slugs would mean all my old blog post URLs would 404, and I can’t have that. [return]
  2. One big downside of Jekyll: the concept of “drafts” is foreign to it. Luckily, I found a super-easy way around that. [return]
  3. Haha, yeah… I know. ;) [return]
  4. Pictured: Approving nods. Pictured: Approving nods. [return]

Hazel Quick Tip: Automatically extract the actual installer from Adobe's Flash Player installer

Yo dawg I herd you like installers so we put an installer inside your installer so you can install while you install.

Oh hey, there’s a new Adobe Flash Player release for Mac. Wonderful. Naturally, the download package is a DMG file (a disk image); you double-click it after downloading, that’ll mount a new “drive”, and there’s the installer app. Unfortunately, the suave bastards at Adobe’s Mac division are too cool for school, so the installer app is not just a plain old Mac installer app, no siree. They wrote their own fat installer, which during the install process insists on you closing all your browsers OR ELSE.

A bit annoying, that.

But luckily, their own fat installer is basically just a bunch of fluff/clutter/bullshit around the actual 0ld sk00l installer. So, one could theoretically right-click the Install Adobe Flash Player.app after mounting the DMG, pick “Show Package Contents”, and poke around to find the real installer, the one that doesn’t annoy as much by not forcing you to close your browsers right away.

I’ve done this twice in the past, manually. Well, a new Flash Player release is out, so let’s automate this once and for all.

My weapon of choice in this case is the highly useful Hazel. It’s great for folder-based automation — it slices, it dices (…and I don’t get a kickback).

So, here’s what this new Hazel rule should do when I mount the download package install_flash_player_osx.dmg:

  1. Copy the actual installer (Adobe Flash Player.pkg) from inside the Install Adobe Flash Player.app to my ~/Downloads folder.
  2. Unmount the disk image.

Easy!

Step 1: in Hazel’s preference pane, link a new folder — “Volumes”:

  1. Click the “+” icon in the lower left corner.
  2. In the Finder selection window navigate to your “Macintosh HD” root (in the sidebar’s “Devices” section); it should contain a few folders, among them “Applications”, “System”, “Users”.
  3. It’s likely you won’t see “Volumes” because that folder is usually hidden. We need to make it temporarily visible now.
  4. We’re moving dangerously close to Matrix territory here, but stay calm, you’ve trained for this! Press Shift+Cmd+. (period). That’ll make all the folder contents visible.
  5. Find “Volumes”, click it, then hit the “Open” button in the lower right corner.

That was the first step: Hazel should now show “Volumes” in the left-hand side “Folders” list, which means she’s ready for you to add rules for that folder. Fortunately, we only need one rule here.

Step 2: Add that one rule.

  1. Click the “+” button in Hazel’s right-hand side “Rules” section.
  2. A new rules panel will appear.
  3. Enter something meaningful in the “Name” field, ex. “Flash Player: Copy actual installer to ~/Downloads and unmount”.
  4. In the second section, add a new condition for the file or folder being matched: (Name) (Is) (Flash Player).
  5. In the third section, add the action: (Run shell script) (embedded script). Click “Edit script” and paste the following code:

cp -r /Volumes/Flash\ Player/Install\ Adobe\ Flash\ Player.app/Contents/Resources/Adobe\ Flash\ Player.pkg ~/Downloads/ && osascript -e "tell application \"Finder\" to eject \"Flash Player\""

Here’s what it should look like:

Screenshot

If it does, click “OK”. You’re done!

That’s it. Try it out, go download Flash Player for Mac and double-click it (install_flash_player_osx.dmg). Hazel should do her fine work, and a few seconds later you should find the real installer —Adobe Flash Player.pkg— in your Downloads folder. And she’ll do that for every new release you download. Just double-click it and sit tight.

Here’s to Hazel. Helluva girl… helluva girl.

The Unfollow Manifesto

Ssssh, it’s okay. It’s not an insult.

At some point in the past I’ve decided to follow you on Twitter or any other social network, because you appeared to be a person whose postings I might be interested in.

But recently you’ve noticed me unfollowing you.

Now you’re confused/sad/angry. Don’t be. I am just following my three simple rules.

  1. You may unfollow me at any given time, because what I post might not be your cup of tea. It’s okay, no hard feelings. I won’t take that as an insult. (Really.) I assume we’re still cool outside of said service, unless of course I wrote some horrible shit that offended you, in which case I am probably sorry.

  2. I may unfollow you at any given time, because what you post might not be my cup of tea. It’s okay, tho. You shouldn’t take that as an insult. (Really.) You can assume we’re still cool outside of said service, unless of course you wrote some horrible shit that offended me, in which case you can probably go fuck yourself.

  3. If you take my unfollowing you as an insult, that’s your problem, not mine. (Really.)


A copy of this “manifesto” (tongue in cheek, all aboard the manifesto train, choo-choo…) can be found on Github. Feel free to fork, share or ignore it. It’s okay. (Really.)

Post-It #29

Dev HTTP Client, Calepin closing, Facebook dick move #2754, shoelace knots, dubstep agriculture.

Bloody useful. Dev HTTP Client is a Google Chrome extension to “[e]asily construct custom HTTP requests, save them permanently, take advantage of variables and contexts.” Comes with lots of neat features such as response syntax highlighting (HTML/XML/JSON) and image previews.

Calepin is closing shop. The blogging service I use for this here blog is called Calepin, and I like it a lot (as mentioned before). Unfortunately, Jökull can no longer maintain it and so decided to close shop in June. He open-sourced the project, tho. If anyone wants to pick it up…

Being no stranger to the blogging game, I know all of my options, but I gotta say, Calepin’s concept (single files in Dropbox + push-button publishing via the website) really appealed to me more than the everything-in-Github-and-publish-via-Terminal way. I’d switch to Calepin-contender Scriptogram in an instant if they would allow for more flexibility in their blogs’ URL paths.

Better not use the word “book” there, pal. In the name of your new project, and if you’re a Facebook user, that is. As Ars reported a month ago, if you’re a FB user, you’ve agreed on a legally binding contract that prevents you from using several words in your own, non-FB projects. Nice to see they’re staying in character.

Fukken shoelaces, how do they work? There’s more than one way to tie a knot. I own some shoelaces that come undone rather easily (due to their teflon-like surface material), but tying them using the Ian Knot helps.

Hardcore l33t farming. Today’s extreme e-sports video (spoof) is delightful.

My Casual Office Fitness Routine

How to get super-ripped without leaving your chair.

TL;DR: I’m doing table push-ups in my coffee breaks.

I’ve mentioned on Twitter the other day that a few weeks ago I’ve started a rather casual office fitness routine. Some people were actually asking about it, so I think a quick blog post is in order.

First up: what I describe here works for me. YMMV. Okay? Cool.

Basically, my day job is to sit on my ass all day long, hunched over a laptop, typing like a rabid monkey. Occasionally I will lean back in my chair, stroking my chin approvingly/disdainfully while nodding either smugly/Blofeld’ish. Sounds familiar?

While it’s usually good work, it’s bad for my posture. My neck and shoulders were cramping up every now and then, and my manly torso muscles started camouflaging themselves with flabber.

So I started taking short 2-minute breaks every 30-45 minutes. I just get up from my desk and walk around. (There are apps that will remind you to do that; I went with Breaktime.) Standing up and getting my blood circulation going again is good, and it helps me thinking.

Now for the good part. To soften up my shoulders and neck again, I started doing table push-ups1. At first I was doing 10 per break, which was easy. A few days later, it felt silly, and I doubled that. Still easy.

It’s been almost 2 months since I started. By now I’m doing 250-300 push-ups every other day2. And yes, I’m doing it in the office. Since I’m neither huffing nor puffing nor breaking a sweat, I guess it’s cool for everyone involved and/or around me. No complaints so far. ;)

Those numbers might not sound much (or way too much, depending on where you’re coming from), but hey. Slow and steady wins the race, and I’m really not in a hurry. It’s not like I’m trying to do them all at once. (I couldn’t.)

And so, 8 weeks in, my shoulders and neck are much, much better than before. Also, I’ve lost some body fat and gained some muscle tissue. Again, no complains; my wife seems to approve, that counts for something. Sure, I could visit a gym and see a better outcome, but gyms are not for me, really. I’m a very important biznis person, I have no time for this shit.

So, yeah, good old-fashioned table push-ups. It’s a casual yet pragmatic approach to getting back into shape, and it actually does make me feel better. I won’t claim I invented it, but it works for me.


  1. A “table” or “chair” push-up means instead of flopping down on the floor you push away from a table or a chair. The higher the surface, the easier it is. [return]
  2. That’s about ten 2-minute breaks. I don’t smoke, so… [return]