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!

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.

Announcing clj-base64

Published at: Tuesday 20 April 2010 at 16:22
Categories: clojars, clojure, english
Comments: 2 pieces

I’ve justed released a small clojure library called clj-base64 for encoding and decoding data using the Base64 coding scheme. The code’s at github (and gitorious) and a pom and jar have been pushed to clojars.

Lein it up:

(defproject..
  :dependencies [..
                 [clj-base64 "0.0.0-SNAPSHOT"]]..

And use it:

(use 'remvee.base64)
(encode-str "I 8> clojure!")        ; => "SSA4PiBjbG9qdXJlIQ=="
(decode-str "SSA4PiBjbG9qdXJlIQ==") ; => "I 8> clojure!"

Enjoy!

EXIFR 1.0.0

Published at: Wednesday 07 April 2010 at 22:11
Categories: english, exifr, programming, ruby

After 4 years EXIF Reader finally reaches it’s first major-version-day. It has been pretty stable for a while now and the API didn’t change in any painful way since the first release.

So here it is: version 1.0.0.

  gem install exifr

Enjoy!

Thanks to Makoto Kishimoto, Mark Lundquist, Victor Bogado, Forian Munz and other people I forgot to record in the CHANGELOG for sending me patches and test images.