Cover photo
Dominik Honnef (dominikh)
Worked at freiesMagazin
Attended Universität Duisburg-Essen
Lived in Marl
158 followers|233,767 views


tl;dr: I'm looking for a Go-related part-time job in the Gelsenkirchen, Germany area


I'm looking for a part-time job in the Gelsenkirchen, Germany area. I've been using Go for roughly two years (since the Go 1.0.3 release) and Ruby for 5 years before that, preceded by tinkering in PHP and assorted languages in my teen years.

Some of you may know me via go-mode for Emacs that I've written, the "What's happening in Go tip" series, the @golang_cls twitter account, some of my tools such as "implements" or generally my code on GitHub (

I am currently studying Applied Computer Science in Duisburg, which explains the requirements for part-time and the Gelsenkirchen area. Alternatively, a remote position would be acceptable, too.

While I don't have any actual work experience, I've spent the last 10 years in the open source community, working on and contributing to plenty of projects.

My native language is German, I'm fluent in written English and my spoken English is quite acceptable.

If you want to get in contact, please send an email to
Add a comment...
Another reason to avoid XML.  Windows' compiler decided to use a XML config file.   Parsing this involved pulling in a DLL which several DLL dependencies later, pulled in Internet Explorer.   Developer tried doing a parallel build (i.e, the equivalent "make -j 12").

Hilarity ensued.
Add a comment...
I'm waiting for someone from the Ada Initiative to call the author Susan Sons a sexist....
Add a comment...
Looks like using cgo when cross compiling Go is now possible, by using C/C++ cross compilers and a set of new environment variables.
File. u : up to issue. m : publish + mail comments. M : edit review message. j / k : jump to file after / before current file. J / K : jump to next file with a comment after / before current file. Side-by-side diff. i : toggle intra-line diffs. e : expand all comments. c : collapse all comments ...
Add a comment...
Please spread this video, because we should not allow big companies like Tupperware to treat customers like they did in my case:

As you can see in the video, this new product is clearly broken. I tried two times to get a replacement through my Tupperware consultant and described to her exactly what was wrong with the box. Both times, it just came back directly from the local Tupperware branch, because the manager there had just decided that it was "apparently okay". It never went to the complaints department. At that point I began to feel ripped off, because if I pay 25€ ($33) for a box that contains cheese, I want it to work properly and to get it replaced easily if it is broken. It especially clashes with their widely advertised "lifetime guarantee".
Then I wrote an e-mail to their contact address on the website and I got an answer from their "Supervisor Customer Relations", asking who my Tupperware consultant was. I though that I finally reached someone who was willing to help, but I was proven wrong: After my answer, I just got back a mail telling me to get in contact with my local Tupperware branch, exactly the ones who declined my request two times. Fail!
Add a comment...
Just published a small library wrapping the collectd plain text protocol. No idea if it's of any use to anyone, but it's there.
Contribute to go-collectd development by creating an account on GitHub.
Add a comment...
$ cat =go-find
foo=$(echo -e "package main\nvar _ = $1" | goimports)
godef -i -o $((${#foo}-1)) <<<"$foo"

$ go-find fmt.Scanner.Scan

(defun go-find (name)
  (interactive "MIdentifier: ")
  (godef--find-file-line-column (shell-command-to-string (format "go-find %s" name)) nil))
Dominik Honnef (dominikh)'s profile photoRob Pike's profile photoroger peppe's profile photo
That links to the function fmt.Scan, not the method in the scanner interface (although in this case they are defined next to one another)
Add a comment...
 A realization that I recently came to while discussing the whole systemd controversy with some friends at the Collab Summit is that a lot of the fear and uncertainty over systemd may not be so much about systemd, but the fear and loathing over radical changes that have been coming down the pike over the past few years, many of which have been not well documented, and worse, had some truly catastrophic design flaws that were extremely hard to fix.   For example, I still have the following magic installed in /etc/polkit-1/localauthority/50-local.d/dont-bug-me.pka:

[Don't Bug Me]

I added this because Network Manager insisted on popping up a window and asking me to type my password whenever I tried joining a new network.   And figuring out how to make Network Manager not do such a brain-damaged thing was so painful, that after going through reams of poorly documented XML schemas, and 50 language translations interspersed with actual configuration in various XML files, I just gave up and used the Big Hammer to make policykit just Completely Go Away.

I could tell similar horror stories about dbus when I had to debug various suspend/resume failures, which is something else which is similarly opaque and impossible to understand, but the point is that many of these failures have caused many people to want simple shell scripts, instead of having to crawl through badly designed XML schemas, or someone else's complex C or C++ code, just to figure out what the hell they did and how to patch around their design fail.

It's not entirely fair to charge all of this to Systemd's account, but I think one of the reasons why this happens is because +Kay Sievers and +Lennart Poettering often have the same response style to criticisms as the +GNOME developers --- go away, you're clueless, we know better than you, and besides, we have commit privs and you don't, so go away.

That being said, I recently did try moving my laptop to systemd, and I was pleasantly surprised by the Debian's integration --- it didn't blow away my rsyslog configuration, or do any number of a things that I'm worried about.  +GNOME  may start depending on more and more of systemd's features, and thus make it even harder to configure away its design failings, but that's +GNOME's problem, not systemd.   And besides, this is why I'm using XFCE and not GNOME.   :-)

I do find it very difficult sometimes to figure out why a particular systemd service gets started, and when I tried putting together a battery target which would automatically shut down various daemons that I don't need when I want to save power, it apparently somehow caused the brightness keys (fn-F5 and fn-F6) to mysteriously stop working --- and as I expected, it was impossible to debug.   So instead of using a systemd target, I'll just hack together a shell script that runs the necessary "service <foo> stop" instead of using a systemd target.  If things start breaking horribly, I'll file debian bugs, and try to find ways to work around the brain damage.   The fact that I won't be able to edit shell scripts to work around brain damage is still a little anxiety-producing, and the fact it's much more difficult to create a runlevel which is "just like runlevel 3 but without certain services running" is unfortunate, but I'll give it a try and see how much pain is involved.

At least with Debian, it's relatively easy (at least at this point) to roll back to sysvinit if systemd proves to be intolerable.   I figure I might as well try it now before I'm forced off of sysvinit and then discover all of the things that break and which can't be easily worked around.
Add a comment...
"What's happening in Go tip" is back for Go 1.3! The first article in 2014 covers the new sync.Pool type.
What's happening in Go tip (2014-01-10). It's 2014, we've survived Christmas and New Year's Eve and the Go team has begun work on the next release. And thus the What's happening in Go tip series has started again. For this iteration of the series, there will be some small adjustments.
Cecil New's profile photo
Thanks for announcing here. I generally find G+ more convenient than Google Groups for such (groups gets pretty noisy)
Add a comment...
I wrote a quick article on uses of cgo that you might not have expected, and how they can interfere with cross-compiling Go programs.
Cross-compiling Go and hidden uses of cgo. One of Go's strengths is its built-in support for cross-compilation. Setting up and using cross-compilers in Go is completely painless and mainly involves setting some environment variables. There is, however, one drawback to cross-compiling Go ...
Dominik Honnef (dominikh)'s profile photoAlex Brainman's profile photoJosh Bleecher Snyder's profile photo
Seems like it's about time for me to mail -- maybe there's a chance of fixing the last problem. :)
Add a comment...
Linux user, Emacs enthusiast, Gopher.
  • Universität Duisburg-Essen
    Applied Computer Science, 2010 - 2016
  • Gymnasium im Loekamp
    2001 - 2010
Basic Information
Other names
  • freiesMagazin
    Redaktionsmitglied, 2009 - 2012
  • freiesMagazin
    Satz & Layout, 2009 - 2009
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Dominik Honnef (dominikh)'s +1's are the things they like, agree with, or want to recommend.
Authorship - Webmaster Tools Help

Help articles; Webmaster essentials; My site and Google; Using Webmaster Tools; Sitemaps; Help forum; Checklist; Get started; Webmaster Guid

The Go Programming Language

Learn to love programming again.

ICS is coming to AOSP - Android Building | Google Groups

Gmail; Calendar; Documents; Photos; Sites; Groups; Web; More. Reader; YouTube. Images; Videos; Maps; News; Shopping; Translate; Books; Schol

QDB: Quote #307357

#307357 (44/50) ↑Funny ↓Not ⚐Flag &lt;&amp;Zera&gt; Oh jesus.. I need to turn off the network share monitor on zerver/glasnftp. *ring ring*

Piratenpolitikerin geht gegen illegalen Download ihres Buches vor

Julia Schramm aus dem Bundesvorstand der Partei hat einen Web-Dateispeicherdienst veranlasst, den kostenlosen Download ihres soeben erschien

Math: who gives a f**k!

9GAG is the easiest way to have fun!

Cyanide &amp; Happiness #2652 - - Comics, Animations and more!

How To Implement Rel=Author

Are you confused about how to get rel=author to work on your site or blog? Here's the simple explanation of what you need to do to get rel=a