Tag Archives: Technology

Geeking Out Again

I just can’t help myself: I have to geek out from time to time. And no, by geeking out I don’t mean reading comics or watching Star Wars. I mean BUILDING SOMETHING that is related to technology and, well, that is utterly useless most of the time ;) Here’s a video I made about my newest projects: pilight and pimorse.

pilight and pimorse let me control the lights in my apartment + they let you and everybody else in the world send out their personal messages in Morse code via the lights in my apartment!

Technically pilight and pimorse are centered around a Raspberry PI, which is connected to an 868-MHz radio via SPI and to my local network + the Internet. The 868 MHz signals control the three dimmer switches in my apartment. But enough of the tech talk, let’s send some stuff out into the world at http://pimorse.chschmid.com.

A Personal WWW Story

From time to time I just can’t resist: My website / blog (whatever it is) has to change. The time has come again and the result is what you are looking at right now. This recent facelift triggered me to dig through my personal archives and old back-ups to take a look at the long way my website(s) has / have come. And truly a long way it is.

1999 – My First Lines of HTML

I found out that I wrote my first couple of HTML and JavaScript lines in 1999, a time when everybody was still using Netscape Navigator to browse the web and Altavista to google – obviously nobody called it “to google” at the time. I had no idea how to use computer graphics software, but paintbrush and my 56k modem – yep one of those that made the funny noises – was all I needed to upload my first piece of HTML art.


Well, lots of typos and not exactly art. Fun fact: I used Labview to generate the buttons. By the way this is the only thing that I’ve ever found Labview to be useful for.

2000 – Flash and HTML

The next thing I discovered was a soon-to-be-dead technology known as Flash, which I used to create Version 2.0 of my personal website in 2000.


Please note the cubes, which would stick with me for a couple of years. I did also get my own domain www.chschmid.com around that time. It was a free offer, all you had to accept was ads on your website, which I of course was able to hide via JavaScript. As not every computer supported Flash I also continued with HTML in parallel. The interesting aspect about HTML based websites is that you can always look at the source code. So what I did is I just copy-and-pasted an interesting design that I had found online and modified it to my needs. Yes this is stealing, but I just did not care at the time.


Until the time came that I did care and so I designed a new website in 2001.

2001 – HTML Design

This actually was the first time that I did really design something in HTML. I had learned how to use the Corel Graphics Suite by then and the design was centered around icons and styles that remind me very much of the icon design language of the 90s.


In the same year I did try to set up a website as joint project with a very good friend of mine. He’s doing a lot of photography these days.

2001: A joint project

2001/2002 – The Rise of PHP

In 2001/2002 I started using PHP and MySQL as server-side technologies to enhance my website. All of my PHP scripts were home-grown and for applications such as guestbooks and calendars. At the same time I also started to work for Fronius as web developer. Looking back it is funny to see how little I knew, and how much that was worth at a time, when it was common knowledge that the Internet is THE big thing yet virtually none of the 35+ knew much about the technologies behind it. So here’s my design from 2001/2002.


There are some note-worthy aspects about this screenshot. First it shows that I ran Windows XP, second I was using IE (Ah!!!), third and most importantly: From the URL and the taskbar one can see that I had Apache running on my local machine for developing PHP scripts.

2002-2006 – PHP Nuke

In 2002 I found out that there were online communities that developed PHP Content Management Systems. Looking back I made a very bad choice and started using php-nuke. I did also code some modules for the system.


I think some time in 2003 the free domain offer expired, and I began using www.chschmid.net.tf instead of www.chschmid.com. From then on I was also forced to be aware of CSS, which I had tried to avoid whenever possible. Interestingly this had worked quite well for a long time! In 2006 I did a minor facelift to account for the facts that screen resolutions were getting higher and that font rendering and anti-aliasing technologies had advanced. At the same time php-nuke had some serious security vulnerabilities and I found that the framework was more than I actually needed.

2006-2008 – HTML + PHP

So I did another redesign, again with almost static HTML and some home-brewed PHP + I did improve the design to be more photo-centric in 2007.


I didn’t change content regularly but uploaded all my music gigs.

2008+ – WordPress

When I went to UCLA in 2008 I needed a more flexible system for pushing information online regularly. With lots of exams and the bureaucracy of going to the US at hand I didn’t have too much time to set up the whole thing, so I went with a blog hosted at wordpress.com and minor default template modifications: chms.wordpress.com.


I did get back “my domain” in 2009 and set up a self-hosted wordpress blog in 2010. I again used a pre-defined wordpress template with some individual modifications. Actually I did come to the decision that I wanted a new blog while on a plane from Hawaii to LA and set the whole thing up during my first night in LA. – You gotta fight jet lag somehow, right. In 2012 I did read and play around a lot with fonts, and so some font changes became inevitable.


What is interesting to see in all screenshots from 2006-2013 is that fonts have become more important, more beautiful and that there were a lot of pseudo-realistic design elements: Textures, shadows, lots of boxes – something that more and more designers are avoiding these days, e.g., if you think about the iOS 7 resign, or the bold and beautiful move that Microsoft has made with Windows Phone 7 and Windows 8 a few years back.

2013 – The Time is Now

This brings me to what you have in front of you today: A novel, minimalistic, content-centered approach. It’s a new theme for the same self-hosted wordpress system, that I have been using since 2010 (with all the latest updates of course)


And so here come the most important questions: What do you think about it? What would you change? And maybe: What’s your personal Web story?
PS. My template can of course be downloaded from my github site.

Raspberry PI + Raspbian + Squeezeslave

I am not going to waste too many words this time, instead I am just posting the commands required to get squeezeslave run as deamon on a Raspbian Raspberry Pi.

  1. Download and untar latest Squeezslave for your Raspberry from https://code.google.com/p/squeezeslave/. As of today this can be done via
    wget https://squeezeslave.googlecode.com/files/squeezeslave-1.3-390-armhf-lnx32.tar.gz
    tar -zxvf squeezeslave-1.3-390-armhf-lnx32.tar.gz
  2. Move everything into the right places
    sudo mkdir /usr/local/squeezeslave
    sudo mv squeezeslave /usr/local/squeezeslave
    sudo chown root:root /usr/local/squeezeslave/squeezeslave
    sudo ln -s /usr/local/squeezeslave/squeezeslave /usr/local/bin/squeezeslave

    From here on you should already be able to run squeezeslave via

    squeezeslave -o 0 YOURSERVER
  3. To run squeezeslave as a deamon and at the system start you’ll need to add this file and get it to the right place.
    wget https://blog.chschmid.com/media/squeezeslave
    sudo mv squeezeslave /etc/init.d
    sudo chown root:root /etc/init.d/squeezeslave
    sudo chmod 755 /etc/init.d/squeezeslave
    sudo update-rc.d squeezeslave defaults
  4. Now all that is left is to create a config file
    sudo joe /etc/default/squeezeslave

    with the following content:

    SSOPTIONS="-o 0"

    Obviously you want to configure it to work with your server and add the MAC address which you find under HWaddr using

  5. You can now either reboot your machine or start the service manually
    sudo service squeezeslave start

Another problem is that the Raspbian by default boots at a rather low audio volume. This can be fixed by

  1. setting the volume with the command line mixer
    sudo apt-get install alsa-utils
  2. and storing the settings
    sudo alsactl store

The Life of My New Pi

Sorry to disappoint some of you: This is not about the great movie that I watched on an airplane on my way to Seattle just recently. This post is about my newest gadget. I just could not resist getting myself a Raspberry Pi, which is a low power (low power as in low electrical power but also as in low computational power) credit-card-sized single-board ARM computer. Meet my new toy:


I did also buy

  • a transparent case,
  • an 8GB SD card,
  • and a micro USB charger as power supply.

If you order all of this stuff online you should be able to get it for around 50-60 €. – When it comes to the Raspberry Pi (RPi) low power also means inexpensive.

What I did not expect: I had it up and running in about 10-15 minutes. Raspbian was the obvious choice for me as Ubuntu user. After

  1. downloading the Raspbian image from http://www.raspberrypi.org/downloads
  2. extracting it via the terminal
    unzip 2013-05-25-wheezy-raspbian.zip
  3. copying it to the SD card via the terminal
    sudo dd bs=4M if=2013-05-25-wheezy-raspbian.img of=/dev/mmcblk0 && sudo sync
  4. plugging the SD card into the RPi and connecting the power supply / monitor / keyboard,

I could configure the RPi using the built in Raspbian tool. Again, 10-15 minutes + maybe 10 extra minutes for the first time configuration, absolutely hassle-free, and you’ll be greeted by the familiar Linux login. – I was impressed.

Now the obvious question that most people are likely to ask is: “What are you going to do with it” and I am guilty as charged. More often than not I do buy those gadgets without even knowing what I would need or use them for, just for the fun of playing around with them. With the RPi it’s quite similar tough I have two applications in mind, with one of them up and running already:

  1. RPi as music streaming device
  2. RPi as “bedroom light server”

2. will be a more elaborate project, which I am going to talk about some other day, 1. is more obvious. The thing is I am running a home server (Ubuntu 12.04 on some low power AMD E-350 hardware) which (amongst others) acts as Logitech Media Server for a Logitech Squeezbox Radio and a Logitech Squeezebox Touch. I do really love both devices and the whole Squeezebox concept. It lets you stream music from a local server as well as from Internet radio stations, synchronize multiple players, control everything via PCs / smartphones / tablets and much more.

Both pieces of hardware that I did get from Logitech were not cheap, but are worth every penny (or Euro cent in my case). Moreover all software, both the server and the client side, is cross-platform and open-source. This is probably mainly due to the fact that Squeezebox was not invented by Logitech but by Slimdevices which was later acquired by Logitech. Anyway, Logitech managed to ruin one of the most promising competitors in the audio streaming market and in 2012 announced that they would discontinue the Squeezebox line in favor of a new, over-priced and crappy product line with less features. No worries, I will stop complaining about Logitech’s completely crackbrained decision, because there is a solution: The RPi can stand in as perfect Squeezebox streaming device replacement!

In a later post I am going to explain how to configure the whole thing to run when the RPi starts up. For now (again from a terminal) it is just as easy as

  • wget https://squeezeslave.googlecode.com/files/squeezeslave-1.3-390-armhf-lnx32.tar.gz
  • tar -zxvf squeezeslave-1.3-390-armhf-lnx32.tar.gz
  • ./squeezeslave -o 0 -M “test.log”

That’s all that is needed to turn your RPi into a Squeezebox client in under 30 minutes and the beginning of the life of my new Raspberry Pi …

My Problem With Tablets

I’ve really been struggling with the question of whether I should get myself a tablet or not. Everybody is talking about them and many people want one. iPads, Surfaces, Ice Cream Sandwiches, Jelly Beans, you-name-them. Having earned a hundred bucks by publishing my own Android app, I finally decided to give it a try. It’s funny how I do understand now, why I was struggling so hard in the first place. But more on that later.

So what did I get: That one’s obvious – a 32GB Nexus 7. It’s got enough horsepower, it’s reasonably priced and software updates are to be expected at least for the next 18 months + I know how to write programs for Android, so I can come up with my own software (Maybe I’ll even write tablet optimized apps someday).

But – you might have guessed that there is going to be a big BUT somewhere – I have one really essential problem with this tablet, which I guess applies to a lot if not to most of the tablets out there. – It even took me to get one to understand this fundamental problem. And here it goes: Tablets and the software they come with right now are designed for content consumption rather than for content creation.

They are perfect for watching movies on the go, for listening to music, for surfing the web, gaming and a lot of other things that involve consuming content. – I did not add reading e-books to the list, because from my own experience I find e-ink e-book readers much more suitable for this purpose. Tablets are also great tools for small tasks, like managing your calendar, reading emails, giving a short reply to e-mails, WiFi calls, as metronome, tuner or for getting public transport information. But truth be told, so are most of today’s smartphones.

However when it comes to me wanting to actively create content, like designing a new T-shirt, writing an article, recording some music, writing sheet music, creating software, designing websites, managing my music and e-book libraries, creating presentations or even just printing stuff, they become pretty much useless or badly broken crutches at most. They suck horribly when compared to the fully featured Linux PC that I am sitting in front of right now.

This realization inevitably brings new questions. Why are these things not possible on a tablet? Would it be possible to implement such software for tablets, given the UI constraints? Would we use these kinds of software? You could say: “Well that’s just not what it was made for” But then: Do the tablet companies see them as sole consumption devices that we should not use for more? And ultimately: Do tablets have a negative impact on society, as they get more and more of us into consumption rather than into creation mode?

What do you think?

Spotlight: Keepass

F*** you IEEE admins! http://it.slashdot.org/story/12/09/25/1356211/data-breach-reveals-100k-ieeeorg-members-plaintext-passwords

I really don’t get it how something like this can happen in an organization that prides itself on being the scientific home to some of the most respected researchers in the field of computer and data security.

Anyway, this incident triggers me to start this new thing that I am going to call “Spotlight”, where I’d like to present nice tools, must-haves, must-does and other stuff. In the shadow of recent events I’d like to point out a little program to you called Keepass.

The problem for many people with a password leak like the one IEEE committed is, that they use just one password for all the services they use. Just one password for twitter, facebook, mail, skype, maybe even credit cards, bank accounts, you-name-it. When one institution leaks your password you are really screwed! On the other hand users often use trivial passwords such as password, 12345, … , just because they would have to remember so many passwords otherwise. But there is just no way around: You have to use a strong, unique password (http://en.wikipedia.org/wiki/Password_strength) for every service you use – and you may NOT write it down or store it in plain text!

This is where Keepass comes into play. It’s a password safe, where you can store all your unique and strong passwords in an encrypted file. Trust me the encryption that they use is really good, waaaay more unlikely to be broken than IEEE, your local cable company or any other entity leaking your password. Of course if someone gets your master password, which you use to unlock this file, you are screwed again. But if its a good password and if you don’t write it down or give it to anyone, you should be good.

My password safe has 70 passwords stored in it. The IEEE leaking my password means that whoever has my password may now log on to my IEEE account. This is still horrible enough, they could eaves drop in on all my IEEE emails, order IEEE goodies and membership subscriptions, but that’s nothing compared to the damage that could have been done if I had used the same password for all of the 70 services I use.

Give it a try, it’s one of the most powerful tools that I use! http://keepass.info/

Lenovo Thinkpad X121e + Ubuntu 12.04 x64

I have already blogged about how cool my new Thinkpad X121e setup running on Ubuntu 12.04 x64 is. I’d like to get a little bit more technical in this post. First of all, as so many have asked before: AMD E-450s (but also E-350s) can play Full-HD videos in Linux!!!

So here’s my setup

Lenovo Thinkpad X121e
Processor: AMD E-450
Graphics: Radeon HD 6320
WIFI: … see below

Installing Ubuntu 12.04 is really easy, just download the *.iso from ubuntu.com, create a bootable flash drive using the Universal USB Installer from www.pendrivelinux.com and boot from it.

Everything should work out of the box but these three things:

1.) Full-HD video acceleration

First of all: Yes I can watch Full-HD videos on my machine! Here’s what you have to do:

The standard open source driver that comes with Ubuntu can’t do it and you need additional software to really get it working. First you need to install the proprietary driver from AMD. Right now it seems that only Catalyst 12.4 is working for the E-450. (I tried the 12.6 version just yesterday, AMD did not sign it for the E-450, so leave your hands from this one). Although Ubuntu offers you to install the proprietary driver, I would do it manually. Here’s how to

1.1.1 Get the 12.4 driver for Linux x64 from AMD’s website (Not the 12.06 version!!!!!)
1.1.2 Follow the steps from https://help.ubuntu.com/community/BinaryDriverHowto/ATI, scroll down to the “Manually installing Catalyst” section and do everything as stated there, except replace the version number with 12.4.

So far so good, now reboot your machine. To play Full-HD movies you’ll have two options
1.2.1 Use the XBMC that plays along with XvBA (see http://forum.xbmc.org/showthread.php?tid=116996 for how to install it) for watching Full-HD stuff
1.2.2 Open a terminal and use “sudo apt-get install xvba-va-driver libva-glx1 vainfo” to install a kind of wrapper for AMD’s XvBA needed. Also install VLC, open it and select “Use GPU accelerated decoding” under Tools -> Preferences -> Input & Codecs. After restarting VLC you should be able to watch Full-HD properly. If you are having problems search the web for “AMD vaapi xvba-va-driver” or similar terms. It worked for me out of the box.

2.) WIFI

The Wifi card that comes with the machine, is a real horror for Ubuntu. I even tried to download the driver from Realtek (which is the manufacturer of the card) directly and compile it myself. Even with that I did not get a stable connection when the signal was weak or when I was in a WIFI crowded area. What solved my problem was buying an Intel 6200 WIFI card and a half-> full size PCI card adapter, which was 15€  for both on ebay. – Remove your Realtek card, plug the WIFI card + adapter into the spare port of your PC and you’re good to go. The Linux kernel 3.2 supports the Intel 6200 out of the box.  Some might ask why not to use the port where I removed the Realtek WIFI card. Well that is because the Lenovo BIOS won’t let you use it there (Unless you modify the bios which is really tricky and dangerous)

3.) The trackpoint

I’ve never had a trackpoint before, but I really love it now. It is a shame that  one out of 10 time when I start the computer it does not work. The following commands make it work again:

>> sudo modprobe -r psmouse
>> sudo modprobe psmouse

It takes a few seconds for psmouse to load, but then everything should work again. I am thinking about putting this code into /etc/rc.local or something, but right now I just type it every time I have problems.

I hope this guide is helpful. Let me know if you’re having problems or suggestions!

I am the Master of my own …

bladder – that’s what Sheldon want’s to be

PC – me. That’s why I started playing again with Linux. I have to admit, the whole Linux thing is with me for more than 10 years now. I have installed at least one Linux distribution every year and after some time found it: unusable to put it mildly. Most importantly: it never really supported my hardware. I should mention that I am talking about the two laptop computers that I’ve owned.

Which were both bulky 15 inch machines and I decided to go for a smaller computer about a month ago. So here I was with my brand new Lenovo ThinkPad x121e (AMD-450 Version), no operating system. In other words: Another round of Linux tryouts. I decided to try Ubuntu.

It was a lot of work and it involved things that my mother would totally not be capable off, but shit, I gotta say: It has convinced me this time!!! I got everything working!!!

ACT(A) now!

Everybody is talking about it right now, and I’d like to share a personal story about something that has happened to me recently. But first of all the video:

So here’s my story: I love doing “DIY” projects. I create my own music, I build things (see the projects page), and I also like designing my own clothes. About 4 months ago I created a T-shirt with a piano keyboard and the word “play!” written below it:

I thought it would be fun and tried to have it manufactured by an online shop. My design got rejected – twice! You know why: “Because using the word “play” on any kind of clothing is registered to a company called playtex”: http://register.dpma.de/DPMAregister/marke/register/800248/DE

Yes, it is true, you can register a single, common English word, so that nobody, absolutely nobody else, is allowed to put it on any kind of clothing – no matter in what context, no matter in what size or font. Isn’t that horrible. I surely don’t want the same thing to happen in too many other parts of my life!!!!!!!!!!!!!!!!!!

Do you have any personal stories? What do you think about ACTA? Post a comment, twitter, chat, talk about it!

By the way: The design slipped through at another online shop ;) So you can order it at http://www.spreadshirt.at/play-C4408A17629509