Latest Entries

Homeserver weekend project

Within the last weekends I spent some hours building an home server to serve files and to let our Macs do encrypted, wireless backups using TimeMachine [Howto]. It also became a wireless router [Howto] with a miserable latency and throughput - but good enough to act as a fallback.
As hardware I reanimated a Via Epia M10000 Mini-ITX board with a 1000 MHz Nehemiah CPU and mounted it in a new Mini-ITX chassis with a fanless external 60 Watt power supply. As the system harddisk I used my iPod mini’s 4 GB MicroDrive using a IDE adapter for about 10 Euros. It is quiet, way faster than I thought and can be dumped to a DVD using a CardReader. I think it’s good to have backups of the system you store your backups on. The shared files and time machine backups are stored on a large external USB drive, also easy to backup.
The operating system is Linux (for sure), I installed Ubuntu Server 8.10 and ran into the first issue right after rebooting the fresh installation: The Via Nehemiah CPU does not support all commands the current i386 kernel needs, sudo apt-get linux-generic fixes the problem by installing a generic kernel. Another problem was the noise of the CPU fan, that I finally replaced with a more silent fan. The temperature inside the small case is okay to not worry about burning the flat, but not surprisingly higher than it was before. After a bit of researching I found out that the CPU supports speedstepping in 66 MHz steps from 532 MHz to 997 MHz, and decided that the lowest is fine for me. To enable speedstepping, install cpufrequtils sudo apt-get install cpufrequtils, load the longhaul module by typing sudo modprobe longhaul or forever by adding longhaul directly to /etc/modules, and set the frequency to your preferred value in Hz cpufreq-set -f 532000. The lower the frequency, the lower the power consumption and the heat is. On demand speed stepping using cpufreq -g ondemand didn’t work for me, if I’ll ever do real computing on the box I’ll probably write a cronjob to run every minute and set the frequency due to last minutes load average value that you can check with the following command cat /proc/loadavg | awk '{ print $1 }'.

Update:
I wrote a python script to set the frequency on demand. You can download it here: http://pastebin.com/f2e46125.

Redmine and Python

Redmine is an open source web application written in Rails. I would call it a collaboration suite: It ships with project management tools (including a calendar, gannt charting and time tracking), a wiki, a document store, a file store, an issue tracker, a message board, source browsing functionality for various (distributed) version control systems, 2.0ish activity streams and ATOM feeds, and some other things you will be happy to see. What I really like, beside the user interface, which is nice and clean, is that you can deactivate all those features on a project level (and reactive if you need them).

One thing I missed was code highlighting for Python when browsing the source. It’s much easier to read highlighted, colored code, but as I said, it’s a Rails app and Rails developers tend to like Ruby.

Being lucky I found the blog post of Jake Wharton describing how to switch the syntax highlighting engine in an older version of Redmine to Pygments, that has already been installed on my Mac and can otherwise be installed using

sudo easy_install pygments

To ease things up a bit, I cloned the repository of Redmine’s 0.8 stable release and changed the code, the stylesheet and some views due to Jake Wharton’s instructions. You can download it here or clone the Mercurial repository using

hg clone http://www.bitbucket.org/fabian/redmineforpythonlovers/

Have fun!

05.01.People: Pythonic art with NodeBox

Using NodeBox is fun. I wrote TodaysPeople, a Python script that lets tagthe.net extract names of people that are mentioned on the wikipedia page of the current date and renders them in a nice typo on the canvas. The native resolution of the images below is 1920×1200, in case you need a new wallpaper for today.

05.01.People

05.01.People

05.01.People

05.01.People

Ob Lutz Heilmann mir helfen kann?


Web2Expo Berlin start-up lessons

About a week ago I was attending the Web 2.0 Expo Europe in Berlin, a conference discussing the current and the future web from four major perspectives: “Development”, “design and user experience”, “strategy and business” and “marketing and community”. Being a freelance web developer and co-founder of a web start-up, I found myself taking seat in all tracks but “marketing and community” quite balanced, trying to get interdisciplinary recommendations and the lessons from successful players. Cross-posting in Hannes’ start.up blog, here’s what I found was the essence for his target audience, me:

First off, recapitulate if your idea is innovative and not a clone of sth. already existing. Check your competition. If yours is close to a competitor’s idea, make sure you’re able to explain what makes the difference. If there’s no difference, don’t waste you’re time. Or don’t waste your life, some of the speakers tended to speak more emotional. Think about your team. Are you a team? “Business plans and conditions change, people don’t change that fast”, to quote an investor. Be able to take feedback and listen. “Why does anybody care? Why will real people use it, not only your coder friends?”, Reshma Sohoni (Seedcamp). Be focussed. Be enthusiastic and passioned, and be able to share it. Be globally visible. Think about other markets than North America and other languages than english. In terms of internet users, Asia almost doubles North America, followed by Europe. Build network effects.

Make sure your data can be distributed. Expose data using RESTful Web Service. Offer different content representations, at least JSON or XML. Offer syndication formats like RSS or ATOM whereever you can. “The most successful apps are fundamentally powered by data.”, Dion Hinchcliffe. He mentioned later on, that distributing data doesn’t need to be a freebie - You can meter API usage and charge for usage. Or add ads to the API results. With a good API you might be able to care about the data only and crowdsource the user interfaces. Yes, interfaces. Plural. Mobile web is emerging! User experience matters. Let the experience be excellent. Think about the ease of sharing experience in the social web, both the good and the bad. And favorize simplicity. As Albert Einstein, who was unfortunately not attending the expo, said: “Make everything as simple as possible, but not simpler.”.

Use open standards. OpenID for user authentication, OAuth for API authorization. Microformats describe your content semantically. Use OpenSocial if you’re running a social network site. Apache Shindig helps you here.

Technology: Be agile. Use what works well for you. But I still think you really have to know the tools out there, I’m not a big fan of the “It’s a problem when it’s a problem”-approach. Beside relational databases, the document based expando databases emerge with Apache’s CouchDB, Amazon’s SimpleDB and Google’s BigTable, build to scale. You have to at least think of scaling and fundamental design decisions early. Build you’re architecture message driven and use servers like Amazon EC2 instances to react on altering needs and to stay cost-effective. Pay as you go. Have a look at Google’s App Engine, which cuts off system administration and lets you deploy in the google cloud. And have a look at its restrictions.

Have fun!

“Mobile usability”




"Mobile usability"

Originally uploaded by blogsportgruppe (fabian&sillie)

Der erste Eintrag meines “visual strangeness” Sets, in das ich versuche, Eindrücke mit meinem nagelneuen iPhone einzufangen. Number One: “Mobile usability”. Exakt mit diesem blauen Kästchen melden in Wien Fußgänger ihren Wunsch der Überquerung der Straße an. Das Betasten des weißen Kreises genügt, und der Vorschlag, die Ampel grün zu schalten wird mit einem Aufleuchten des unteren Hinweistextes und einem Piepen quittiert. Seit nunmehr zwei Monaten fahre ich täglich an dieser Ampel vorbei, und seit etwa dieser Zeit überfahre ich sie unrechtmäßig und genervt nach ein paar Minuten, Tendenz in den Sekundenbereich fallend. Genug Zeit, um die Umgebung wahrzunehmen - und nun entdeckte ich den Clou - Der Fahrradfahrer soll halt drücken. Parkhausprinzip. Ich bin so begeistert von dieser simplen Idee, dass ich das Vorbild für den gesamten Autoverkehr Wiens einführen würde. Induktionsschaltung ist 1.0, getarnte Touchkästchen sie die Lösung. Weniger CO2 Emissionen, Sit-Ups für alle und neue Perspektiven im Dienstleistungsbereich für die Print-Inder.

Virtuelle Passbilder

Die Freundin und ich haben uns heute auf faceyourmanga.com virtuelle Passbilder (”Avatare”) zusammengeklickt. Erkennt ihr uns? Ja? Na dann los, wir wollen Euch sehen! SillieFabian

“Tausche” eine deutsche Bundestagswahlstimme gg. eine österreichische Nationalratswahlstimme

Als in Österreich lebender Deutscher darf ich in Österreich nicht auf nationaler Ebene wählen, wohl aber in Deutschland. Das bedeutet, die mich direkt betreffende Politik kann von mir zumindest nicht durch eine Wahlstimme beeinflusst werden, die für mich nahezu irrelevante in Deutschland aber schon. Das ist nicht nur frustrierend sondern auch einfach nicht nachvollziehbar - zumindest nicht innerhalb der EU.

Einfachste aller Lösungen: Ich überzeuge eine(n) in Deutschland lebende(n) Österreicher(in) bei der kommenden Nationalratswahl von meine Präferenz und bin dafür sehr sehr offen gegenüber seiner/ihrer Präferenz bei der nächsten Bundestagswahl. Ein unrechtmäßiger Stimmentausch ist das selbstverständlich nicht, nur eine recht fixe Überzeugungsarbeit. Bei Interesse bitte melden.

Erste eVideo Online-Konferenz 2008: Spaß beim Lernen?

Mitte September findet die erste Online-Konferenz 2008 des/unseres eVideo-Projektes statt! In zehn Sessions werden zusammen mit geladenen Fachexperten Themen rund um e-Learning, Web und Games erörtert. Das Konzept ist durchaus mit einem Barcamp vergleichbar - die Teilnahme ist kostenlos, es gibt eine begrenzte Teilnehmerzahl und das Ziel ist der aktive Dialog, Passivität ist unerwünscht (drastisch formuliert kippt Passivität den ganzen Sinn genau so wie die Registrierung und Nicht-Teilnahme). Update: Beschränkung haben wir aufgehoben, trotzdem ist ein Dialog wünschenswert :)
Nähere Informationen im eVideo-Blog.

Hi Pod!

Klinke mich für einen Monat aus dem iPhone 3G Wahnsinn aus und spiele solange einfach mit meinem neuen Kompensations iPod touch - selbstverständlich mit der neuen Software. Eventuell gefällt er mir ja auch so gut, dass das nächste Telefon gleich ein Android wird.



Copyright © 2004–2009. All rights reserved.

RSS Feed. This blog is proudly powered by Wordpress and uses Modern Clix, a theme by Rodrigo Galindez.