Bye bye Jobs, rest in peace mister Dennis Ritchie

Published at: Saturday 15 October 2011 at 14:12
Categories: english, rant
Comments: 1 piece

My first reaction to the news of Steve Jobs’ death was annoyance; here we go, a never ending stream of praise will hit the media “he changed the way we think about computers” and more nonsense like that. Then came the news of Dennis Ritchie’s death and nobody noticed. Hardly anybody I know even knows who he was, including people in the IT industry. Well, he is the guy who developed the C programming language, every time you touch something with software inside chances are astronomical there’s C code involved, and had great influence on UNIX, OSX is based on this work.

Everybody was still going on about how Steve gave them their pretty shiny laptop (in exchange for, on average, 2000 euros) and how happy it makes them everyday. Fact is: people like pretty shiny things and will more easily look passed their flaws. Our brains are wired to distrust ugly things and Steven Jobs turned that into gold. Now he’s being praised for his “contribution to the computing industry”.

He did make his contribution to the world, no doubt, but the scale is highly exaggerated in my opinion. Mister Ritchie on the other hand deserves much more credit. You, dear reader, are effected by his work right now, regardless of what brand of computer you’re using. That reminds me of a blog post by Linus Torvalds (google his name if you don’t know how he is), more than 90% of all your activity on the Internet touches his work and he was the nobody on the party and Warren Beatty is a star.

Rest in peace mister Dennis Ritchie.

EXIFR 1.1.1

Published at: Monday 12 September 2011 at 09:00
Categories: english, exifr, programming, ruby

I’ve added some convenience methods to access GPS because people really seem to want it. Is should be fully backward compatible with earlier versions;

EXIFR::JPEG.new('enkhuizen.jpg').gps.latitude  # => 52.7197888888889
EXIFR::JPEG.new('enkhuizen.jpg').gps.longitude # => 5.28397777777778

Enjoy!

NOS Tour de France live verslag op mobiel

Gepubliceerd op: zondag 17 juli 2011 om 15:06
Categorieën: android, clojure, wielrennen

Omdat de dekking van mijn provider nogal slecht is, ik daarom te vaak geen radio 1 kan ontvangen op mijn telefoon en de NOS Tour de France live pagina mobiel onvriendelijk is, heb ik tijdelijk een kleine webapplicatie gelanceerd welke het live verslag van de NOS pagina serveert. Dit verslag wordt elke 15 seconden automatisch geupdate.

Zo, ik kan weer rustig in de trein zitten tijdens de etappe finales.

nos-tour-commentaar (broncode)

Update: De tour is alweer afgelopen en deze webapplicatie draait dus niet meer.

Partial content for ring

Published at: Wednesday 09 March 2011 at 21:25

When streaming audio or video or serving largish files over HTTP you’ll eventually want to provide seeking resp. continue download capabilities to your application. I’ve cooked up some ring middleware to respond to partial content requests and mangle your application responses accordingly. It works well with the commonly used ring.middleware.file wrapper but do read the fine print.

Et voilá: ring-partial-content

Basic authentication for ring (and compojure etc.)

Published at: Monday 23 August 2010 at 21:26

I’ve always liked HTTP authentication (like basic and digest) over login pages because they look so.. technically savvy. Finally somebody who bothered to read an RFC to implement it and make me feel warm and welcome like peers do.

Okay, I must admit, it takes a customer just a couple of moments to request a logout button, which is a real pain to implement, if possible at all. And I wouldn’t want to login on something I care about from a public computer either. But it is very nice for web services!

Anyway here’s my implementation as ring middleware: ring-basic-authentication

elein.el: leiningen functions for emacs

Published at: Thursday 19 August 2010 at 19:41
Categories: clojure, english
Comments: 3 pieces

I’ve bundled my emacs leiningen convenience functions into a package and dropped it on github for other people to use. It’s a collection of interactive commands for common lein tasks used within a project; elein-clean, elein-deps etc.

Mosts of the commands basically run lein using the emacs compile function, with the exception of elein-swank and elein-reswank. These also handle (re)connecting slime.

Curious?

  • download elein.el
  • copy it somewhere in you emacs load-path
  • (require 'elein)
  • open up a file in a leiningenize project
  • M-x elein-version

I hope somebody finds this useful.