Talks
Ruby on Rails Extreme Crash Course
A talk I have given in December 2007 to convert 9elements to Ruby on Rails. Intended to present the basics of Ruby and Rails in about 3 hours.
Git
An introductory talk on Git given at Barcamp Ruhr 2 in March 2009 (German only).
Metaprogramming Ruby
Talk given at Railscamp Germany 3 in Münster in 2010 about the mechanics behind Ruby’s metaprogramming capabilities (German only).
Advanced Git
A talk about Gits data structures and graph-oriented nature, combined with practical tips for using rebase given at Barcamp Ruhr 4 in March 2011.
AngularJS Introduction
An introductory talk about AngularJS. A HTML5 presentation done in reveal.js and spiced up with my own little jsfiddle clone.
Articles and Texts
Some longer articles I have written in places other than this website.
Getting started with Ruby on Rails
An article I wrote for Smashing Magazine in March 2009, outlining the basic ideas behind Ruby and Rails, intended to provide enough orientation for interested programmers to educate themselves. Pretty outdated by now, but still useful to get a rough overview.
A Thin Web Application Framework based on Server-side JavaScript
My CS diploma thesis, written in 2009. It describes an architecture for a web application framework based on proven principles of the web and provides a sample implementation in server-side JavaScript. I wrote it just as the ServerJS/CommonJS working group started. These guys have been steadily marching forward since and made tremendous progress, so the code is horribly outdated.
Open Source
You can find all of my open source code at http://github.com/janv/.
REST in Place
REST in Place is an AJAX Inplace-Editor that talks to RESTful controllers. It requires absolutely no additional server-side code if your controller fulfills the following REST preconditions:
- It uses the HTTP PUT method to update a record
- It delivers an object in JSON form for requests with “Accept: application/json” headers
The editor works by PUTting the updated value to the server and GETting the updated record afterwards to display the updated value. That way any authentication methods or otherwise funky workflows in your controllers are used for the inplace-editors requests.
Haskell-NXT
Haskell-Nxt is a library to control Lego Mindstorms NXT Bricks from Haskell. Since the nature of the communication with the Brick is stateful, the library consists almost entirely of IO monads.
Haskell-NXT was my first piece of Haskell software and probably has a lot of rough edges. I wrote it for a first attempt at finding a topic for my diploma thesis.
HAML-Coffee
HAML-Coffee was a HAML parser that understands coffeescript. It generates a javascript file containing templates that can be rendered to HTML. Those templates can be used in a backbone.js application or anywhere else. It was heavily inspired by Tim Caswells haml-js.
We developed this at 9elements because we used to love HAML, we used to love CoffeeScript and we didn’t want to have a media break in our toolchain.