neverpanic.de

Chaos Communication Camp Badges

| Comments

I’m currently attending Chaos Communication Camp 2011 in Finowfurt near Berlin.

Apart from the cool location within an used-to-be military airport open-air aviation museum, the coolest thing so far definitely is the electronic badge handed out at the entrance: The r0ket, an ARMv7 micro controller with back-lit LED-display, several LEDs (of which one is also used as a light sensor to determine whether it’s night and the badge display needs back light), a multi-way jog, a rechargeable battery and some extension-connectors.

The badge also features mesh-networking capabilities, although the firmware for that does not seem very stable or reliably usable at the moment. I will definitely be keeping this tool toy – there’s no better name-tag than this, I guess.

A rocket-shaped PCB with a display

GSoC Welcome Package

| Comments

I have been accepted into Google’s Summer of Code program this year to work for the MacPorts project. In a nutshell, I will be writing an equivalent to Gentoo’s revdep-rebuild – if you’re interested in the details, check out my proposal.

At the beginning of GSoC, every student receives a welcome package from Google, with a few goodies and a prepaid Visa card through which they will be paid. I have received this package yesterday and want to share my unboxing experience ;)

whatthecommit.com Git Hook

| Comments

whatthecommit.com generates commit messages for the lazy… but being one of the laziest people, this isn’t just easy enough!

I currently use Git for most of my version control needs. I’m keeping all of my hand-ins for university under version control to be able to sync them between university and my laptop easily and to make it easy for others to contribute (and sometimes they actually do!). But those of you using version control systems know what the biggest problem with version control is: Thinking of a commit message. Wait no moar! The ultimate solution is here!

whatthecommit.com is a website that provides you with a fresh commit message every time you load it. So all you have to do, is copy and paste the line into your commit window. Still too much work? That’s why git comes with hook scripts. Paste the following code in .git/hooks/prepare-commit-msg in your working copy and make the file executable and you’ll be provided with a wonderful commit message every time you type git commit automatically!

whatthecommit.com git hook
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# A hook script to prepare the commit log message.
# Called by "git commit" with the name of the file that has the
# commit message, followed by the description of the commit
# message's source.  The hook's purpose is to edit the commit
# message file.  If the hook fails with a non-zero status,
# the commit is aborted.

case "$2,$3" in
  ,|template,)
      line=$( curl -L http://whatthecommit.com/ 2>/dev/null | grep -Po '(?<=\<p\>).*$' )
      file=$( sed '1d' "${1}" )
      echo "${line}" > "${1}"
      echo "${file}" >> "${1}"
  ;;
  *) ;;
esac

Windows 7 on MSI K9N Platinum (nForce 570 SLI)

| Comments

Recently, a fresh Windows install was due on my home PC primarly used by my parents and my family after my switch to a MacBook about a year ago.

However, whenever I tried to start the installation routine, the setup would boot into the “Windows is starting”-screen with the nicely animated glowing 7-logo, but stay there indefinitely without an error message. When starting the setup in safe mode, the setup would just hang after

boot status message
1
Loaded: \Windows\system32\drivers\disk.sys

I started searching the internet for similar problems and found a couple of recommendations related to nForce chipsets. Some told you to disable your on-board LAN ports (which I’m not using anyway) and a lot of similar disable-some-hardware tips, which, unfortunately, did not help at all. I had almost given up on Windows 7 and re-installed XP, when I decided to try a BIOS-update as a last resort. After using MSI’s rather comfortable LiveUpdate – an Internet Explorer Active-X plugin optimized for IE5 and 800x600 which works surprisingly well – the Windows 7 setup did work fine. It felt a little weird when the BIOS update utility ran within Windows and does a hard-reset after updating the BIOS, but that’s probably better than rebooting with a possibly non-working BIOS.

Bon Appetit at the Erlangen Cafeteria

| Comments

It’s no secret the canteen on the Erlangen university’s southern campus is not the best – but I haven’t seen something like that before.

Worm on a plate with noodles

A little bit disgusting if you ask me – I was lucky, it wasn’t my meal, though…

Subversion Property Copy

| Comments

Although there are a couple of Subversion GUIs for Macs, I usually use the command line interface. I manage all source code I write during my studies using Subversion and usually add revision number and date of last checkin to the file using the svn:keywords-Property. However, I always forget the set of keywords I usually add: Author Date Id Revision URL. Unfortunately, there is no way to copy a property from one file to another in the standard subversion binary. There is, however, a little shortcut:

single-line subversion property copy
1
svn propset $propertyName "`svn propget $propertyName $fromFileName`" $toFileName

Typing this monster isn’t any userfriendly at all, though – a little .bashrc magic does the trick:

svn wrapper providing svn propcopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# add svn propcopy
function svn() {
  case "$1" in
      pc|propcopy)
          propName=$2
          fromFile=$3
          shift 3
          `which svn` propset $propName "`\`which svn\` propget $propName $fromFile`" $@
      ;;
      *)
          `which svn` $@
      ;;
  esac
}

Update

Thanks to Raim for the wildcard support. Using subversion auto-props is an option for files, but unfortunately, auto-props don’t work on directories yet.

University & MacBook Pro

| Comments

It’s been a while since my last update — not because there’s nothing to tell, but because I didn’t find any time to write something down.

So why’s that? I’m attending university now: I’m in my first semester of computer science at the University of Erlangen and it’s been a tough start figuring out how things work at university, finding the rooms, getting the work done, etc.