Moustache Swag

We recently bumped our power to produce more Señor Developer swag. Thx to @halfbyte there is now a button-machine for endless button supply!

Señor Developer Swag

If you want to get one of our awesome shirts, got to our Spreadshirt-Shop much cialis should i takehow to get a prescription for cialisfluoxetine without prescriptionviagra for men for salewhere to buy zithromaxwhere to buy valtrex no prescription pharmacy in canada“about”shop“view site” from canada online pharmacyhere“view site”online pharmacy viagra
(or this one from the US).

Pulling strings on Raspberry Pi

I got my Raspberry PI Starter Kit this week. The Kit is very nice, as it comes packaged with everything you need in order to get your PI up and running ASAP. Just plugin the SD-Card, connect Ethernet cable and USB Power supply and your ready to go!

Booting Up

After the PI has booted from the provided Image on the SD-Card, it is accessible through SSH:

ssh pi@

It’s a good idea to copy the SSH public key to the machine, so that you do not have to type in the passphrase everytime:

ssh pi@ "mkdir -p .ssh"
scp ~/.ssh/ pi@

When the provided Raspberry PI distro is outdated, you can update it with the builtin admin tool:

sudo raspi-config 
=> select update, exit
sudo reboot

Bootstrap for Puppet

As an experiment, I wanted to provision my PI with Puppet. Since the PI comes packaged with Python as a programming language, you need to install Ruby in order to run Puppet.
There are several Ruby Versions available as Debian packages, but I wanted to try out RBenv just for fun. This is only an option if you have plenty of time, cause building a Ruby from source takes round about 2 hours…

# update aptitude
sudo apt-get update -y
# install some basics like git and support for ruby to compile and puppet to work
sudo apt-get install build-essential zlib1g-dev libssl-dev libreadline-dev git-core curl libyaml-dev -y

# clone the rbenv repo and setup the env
git clone git:// ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
echo 'eval "$(rbenv init -)"' >> ~/.profile
exec $SHELL -l

# add the ruby-build plugin and install a ruby 1.9.3
git clone git:// ~/.rbenv/plugins/ruby-build
rbenv install 1.9.3-p327
# set the ruby as the global ruby version
rbenv global 1.9.3-p327
rbenv rehash
# check if it's working fine
ruby -v

# add the rbenv sudo plugin
git clone git:// ~/.rbenv/plugins/rbenv-sudo

Having a running Ruby, installing Puppet is just a matter of minutes, as it is distributed as a Ruby Gem. It’s a good idea though to disable RDoc and RI documentation generation to speed up the installation:

# puppet needs it's own user and group
sudo useradd --comment "Puppet" --no-create-home --system --shell /bin/false puppet
# disable documentation generation for gems
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
# install the gem
gem install puppet
# make puppet executables available through rbenv
rbenv rehash
# check if facter is installed properly

If facter complains about a problem with the fact fqdn, just add a real hostname to /etc/hosts:

sudo vi /etc/hosts raspberrypi

First Puppet run

After that puppet should run without warnings and you can start writing the first manifest:

mkdir /home/pi/puppet
cd /home/pi/puppet
vi base.pp

Add this to base.pp to install VIM to the Raspberry PI:

package { "vim":
  ensure => installed,

This manifest can be applied with rbenv sudo:

rbenv sudo puppet apply base.pp

Et voila, VIM is installed on your PI.


Working with the tools on my Mac is cool, so sharing a directory on the PI is a nice way of editing locally and running stuff on the server. Deriving from a basic installation of Samba that’s what needs to be done on the PI:

# install samba
sudo apt-get install samba samba-common-bin
# update config
sudo vi /etc/samba/smb.conf

In /etc/samba/smb.conf uncomment line security = user and add the following section:

  comment = Puppet share 
  path = /home/pi/puppet
  writeable = yes
  guest ok = no

Once you did this, add a Samba user and restart the service:

# make shared dir writable
chmod 777 /home/pi/puppet
# add the user for access over smb
sudo smbpasswd -a pi
# restart smb
sudo /etc/init.d/samba restart

Using ⌘+k on the Mac connects to a remote server. Enter smb://pi@ and connect to the Puppet share. You can now access your files via open /Volumes/Puppet/.


In order to access the PI over the internet, subscribing to a free Dynamic DNS service like NO-IP is a nice way to get a static hostname for name resolution.
NO-IP has some Tools available for download that help you keeping the switching IP up to date. Since the provided binaries did not work on the PI, the NO-IP client needs to be compiled from source.

On my Airport Extreme I enabled port-forwarding so that i can route services to the PI.


If you want the PI to connect to your wireless network, just buy yourself a mini wifi USB adapter. It’s pretty easy to get the PI up and running with this on your local wifi, just enable the network device in /etc/network/interfaces, mine looks like this:

# /etc/network/interfaces
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa.config

auto eth0
iface eth0 inet dhcp

and add the wifi connection settings to /etc/wpa.config:

# /etc/wpa.config
  pairwise=CCMP TKIP
  group=CCMP TKIP

Raspberry PI with cream and sugar!

Bringing Usergroups on Ruby

I am one of the organizers of the local Ruby Usergroup in Hamburg for over two years now. We meet on a regular basis, every second wednesday each month. Some times we meet in a bar to grab some beers, some times we have full fledged community events with sponsors and high quality talks.

All this is currently managed using the On Ruby plattform that was created to bring the events close to

the Ruby devs. It also eases the process of creating events, submitting talks, finding locations and publishing all that to Twitter, Google+ and Mailinglists.

Some month ago, the project was forked by Cologne.rb and they built their custom version for the Ruby Usergroup in Cologne. After that some more Usergroups wanted to use the tool and that was the reason we merged the Cologne.rb codebase and created a whitelabel version of the application, which is customizable in many regards. It also comes with a Mobile version for iPhone and Android.

If you are interested in joining Hamburg, Cologne, Bremen, Saarland and Karlsruhe just follow the guide for creating your own OnRuby Usergroup!

Senor Developer Competition at Scottish Ruby Conference

Our Señor Developer Shirts ™© are a great success! So far we have delivered around 300 Shirts all over the world, including most European Countries, Russia, US, Uruguay, and New Zealand. We have been to Railsberry and EuRuKo to promote them (while recovering from our hangovers). Even Aaron Petterson and Yehuda Katz wanted one, even though I have not seen them on any Friday-Hug photo…

The next stop of the Señor Developer World Europe Tour will be Edinburgh and the Scottish Ruby Conference!

We want to do a little Señor Developer Competition there. The base idea is to give away free shirts to visitors of the conference with Awesome Moustaches (should be a trademark of Sven Fuchs):

We don’t want everybody to grow a moustache, instead you could also moustachify yourself in different ways: mask yourself with a fake-moustache, create digital moustaches, wear moustache swag, tinker something moustachilitious!

Just surprise us and have fun!

Oldschool Señor Developer Shop
Deluxe Señor Developer Shop
Señor Developer mini Shop for US
Fotos obviously stolen from Railsberry

Senior Developer – My Ass!

We were drinking beers recently, when we decided that we needed to do something against this whole Senior Developer bullshit. Every Programmer that has done more than three keystrokes considers himself a Senior these days…

That was when @rubiii and me came up with calling ourselves Señor Developer and putting a mustache on our XING profiles. Some days later @defsprite toped off our idea by creating a logo and a website for our crazy idea.

Since then we did a batch of handprinted Señor Developer T-Shirts that we sent out all over the world (i.e. New Zealand, Uruguay). Because handprinting and delivering all the stuff is way too time consuming we are now using a spreadshirt shop for this task.

If you like the idea, feel free to follow @senordeveloper on twitter!