Home

June 19, 2011

Quick Guide for Passenger on Natty Narwhal

This is a short guide for installing Phusion Passenger and Ruby Enterprise Editition on Ubuntu Natty Narwhal. Depending on your machine this will take 30-60 minutes on a fresh Ubuntu install.


June 9, 2011

vTouch - Control Ableton Live in a Webbrowser

VTouch is a multitouch browser frontend for Ableton Live. Inside your webbrowser you can control clip triggering, volume, send and return levels, mute, solo, record states. This works also on the network, so you can connect your mobile phone, iPads or android tablets easily by just browsing to you local webserver.


June 6, 2011

Emacs Dark Theme

Recently I updated my Emacs setup and decided to go for a more minimal color theme. Especially on long coding nights you want a theme without distracting colors.


April 11, 2009

RackDAV - Web Authoring for Rack

RackDAV is Handler for Rack, which allows content authoring over HTTP. RackDAV brings its own file backend, but other backends are possible by subclassing RackDAV::Resource.


December 29, 2008

Viewing RI in a web browser

I’m a big fan of the Firefox keyword search. For example I have keywords for LEO, Wikipedia and Man pages. Sometimes I want to look up API documentation in Ruby and typing ri camelize into the address bar and viewing the documentation as web page seems to be quite natural for me. So I wrote a quick and dirty cgi, which calls RI and outputs HTML.


December 28, 2008

Kontrol - a micro framework

Kontrol is a small web framework written in Ruby, which runs directly on Rack. It provides a simple pattern matching algorithm for routing and uses GitStore as data storage.


December 26, 2008

Git Store - using Git as versioned data store in Ruby

GitStore is a small Ruby library, providing an easy interface to the version control system Git. It aims to use Git as a versioned data store much like the well known PStore. Basically GitStore checks out the repository into a in-memory representation, which can be modified and finally committed. In this way your data is stored in a folder structure and can be checked out and examined, but the application may access the data in a convenient hash-like way. This library is based on Grit, the main technology behind GitHub.


September 21, 2008

Using Javascript Templates for a Delicious Sidebar

Processing JSON data from an external source with Javascript templates is a natural fit. Create a template inside your HTML Document by adding class names and variables and write a few lines for fetching the JSON, that’s all. This tutorial is an example for my Javascript Template Engine called Patroon.


September 16, 2008

Patroon - a Javascript Template Engine (Part 2)

This post is an update to my initial post. Patroon has been improved and is now easier to use and uses a better algorithm internally.


September 15, 2008

Relax NG Schema for Adobe Flex 3

In the past Flex development on Emacs was not as it should be because of a missing Relax NG Schema, which is needed for nxml-mode to work properly. To improve the situation I developed a MXML Schema generator based on the XSD generator of Ali Mansuroglu. Now Emacs knows your Schema and can help you typing and validating MXML files.


September 13, 2008

Quick Guide for Passenger on Ubuntu Hardy

This is a short guide for installing Phusion Passenger on Ubuntu Hardy. This includes the installation of Ruby 1.8.6, Apache 2.2.8, MySQL 5.0.51a, Git 1.5.4 and Rails 2.1.1.


September 9, 2008

Patroon - a Javascript Template Engine

Patroon is a template engine written in Javascript in about 100 lines of code. It takes existing DOM nodes annotated with CSS classes and expand a data object according to simple rules. Additionally you may use traditional string interpolation inside attribute values and text nodes.


September 7, 2008

Commenting system with lightweight JSON store

As I wrote this blog engine, the need for a commenting system arose and I reflected about a small and simple commenting system with just a flat file JSON store. This is my solution, which can be used on any static page on a server with PHP support.


September 5, 2008

Shinmun, a small and beautiful blog engine

Shinmun is a minimalist blog engine. You just write posts as text files, render them to static files and push your blog to your server.


September 4, 2008

Emacs Completions with Hippie-Expand and Snippets

One of the most important features of a text editor is the completing of text inside a buffer. There a lots of packages for Emacs, which provide this feature in many different ways. I will show you, what I use to improve my life as coder.


May 10, 2007

Google-like Search Results Helper

Representing your search results in a user-friendly way is a common task among web developers. Google’s approach is dead simple but really effective. The matching text is highlighted and shown with its context. This can be implemented in less than 20 lines of code which you can include into you helper:


April 18, 2007

DRY Up Your Url Helpers

This tutorial shows you how to simplify url generation in combination with RESTful resources by extending the url_for helper. This approach will also work with nested routes and other helpers like form_tag and link_to.


April 10, 2007

Pretty RESTful URLs in Rails

Since Release 1.2 Rails knows to generate RESTful routes. Each resource is identified by an URI, which looks like /users/123 . It would be nice to have more readable URLs, which include the name of the user: /users/matthias-georgi. This is a short tutorial on making your urls pretty while retaining the REST approach.


April 8, 2007

Building a del.ico.us and flickr sidebar in 5 minutes

You need a del.icio.us sidebar which shows recent bookmarks or one of these nice flickr badges? This is really is easy as the Typo Weblog Engine already includes an flickr and del.icio.us aggregator.


April 4, 2007

Fast Auto-completion with Rails, Scriptaculous and JSON

Inspired by the excellent Rails Recipes book , I created an improved Auto-completion helper, which uses JSON and AJAX instead of a script tag for loading the completions. What we want to achieve is a search field, which pops up immediately, showing us a list of possible completions for our search word. Look at Google Suggest to get an idea.