The SNAFU Principle

In the beginning was the plan, and then the specification;
And the plan was without form, and the specification was void.

And darkness was on the faces of the implementors thereof;
And they spake unto their leader, saying: “It is a crock of shit, and smells as of a sewer.”

And the leader took pity on them, and spoke to the project leader: “It is a crock of excrement, and none may abide the odor thereof.”

And the project leader spake unto his section head, saying: “It is a container of excrement, and it is very strong, such that none may abide it.”

The section head then hurried to his department manager, and informed him thus: “It is a vessel of fertilizer, and none may abide its strength.”

The department manager carried these words to his general manager, and spoke unto him saying: “It containeth that which aideth the growth of plants, and it is very strong.”

And so it was that the general manager rejoiced and delivered the good news unto the Vice President. “It promoteth growth, and it is very powerful.”

The Vice President rushed to the President’s side, and joyously exclaimed: “This powerful new software product will promote the growth of the company!”

And the President looked upon the product, and saw that it was very good.

/sna’foo prin’si-pl/ n. [from a WWII Army acronym for `Situation Normal, All Fucked Up’] “True communication is possible only between equals, because inferiors are more consistently rewarded for telling their superiors pleasant lies than for telling the truth.” — a central tenet of {Discordianism}, often invoked by hackers to explain why authoritarian hierarchies screw up so reliably and systematically. The effect of the SNAFU principle is a progressive disconnection of decision-makers from reality.

From the Jargon File …

Cleaned up my Pedal Board

Just a quick post about my pedal board before and after I cleaned it up. 3M Dual Lock tape helped to make this look flawless.


TC Electronic HOF Mini
TC Electronic Flashback
Boss TU-3
Lovepedal Staxmaster
Lovepedal OD11
Maxon Tube Screamer
SolidGoldFX Rosies Fuzz

Pedalboard before and after

Proper Grill Cloth for my Guitar Cabinet

Today I felt like improving my guitar speaker cabinet which I’ve built a while ago. I was never happy with the round metal grill I have put in front of the speaker.


Instead I wanted a grill cloth in front of the speaker but by the time I built the cabinet I didn’t think much about it.

Today I went out and bought some wood to make a simple frame for the grill cloth.


Then I put the grill cloth on which is quite challenging but there are guide on the internet that show you how to do it. Basically you start at one side and attach it with a big stapler/tacker – you now the ones which shoot the needle/clamp into the wood. Then you pull it over the opposite side with as much tension as possible and attach it. Same for the remaining two sides.

The result:


Fun little project for the afternoon.

If you want to know how I built the cab – follow this link: »How to Build a Guitar Speaker Cabinet«

New FreeBSD Screencast Episode about CARP

Today I’ve tried out CARP, the Common Address Redundancy Protocol, which allows you to easily set up automatic failover for machines which usually become single points of failure in your infrastructure like loadbalancers, firewalls and routers.

It was so easy and quick that I made a short video demonstrating it:


# Machine 1
ifconfig carp0 create
ifconfig carp0 vhid 1 advskew 100 pass foobartralala

# Machine 2
ifconfig carp0 create
ifconfig carp0 vhid 1 advskew 200 pass foobartralala

If you want to make that set up permanent put something similar to your /etc/rc.conf:

ifconfig_carp0="vhid 1 advskew 100 pass foobartralala"

Erlang R16 64Bit on OS X 10.9 with wxWidgets

A lot of people have tried to get Erlang running on OSX with 64Bit and wxWidgets and there are plenty of guides out there but most of them claim that it doesn’t work with 64Bit.

I just successfully compiled it as 64Bit on 10.9.2 and here is how I did it:

1. I installed wxWidgets and Erlang from homebrew and deinstalled them again, just to get all the dependencies conveniently
2. Then I fetched the sources for wxWidgets 3.0 from sourceforge and the sources for Erlang R16 from the erlang website
3. I configured them with a blend of options from the official docs and the other guides

Configure and Compile wxWidgets

./configure --with-cocoa --prefix=/usr/local \
            --with-macosx-version-min=10.9 --disable-shared

make install

Configure and Compile Erlang

./configure --disable-debug --without-javac --enable-shared-zlib \
            --enable-dynamic-ssl-lib --enable-hipe \
            --enable-smp-support --enable-threads \
            --enable-kernel-poll --with-wx --enable-darwin-64bit

make install

Thats was it. I hope that helps.