Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

domm (4030)

  (email not shown publicly)

Just in case you like to know, I'm currently full-time father of 2 kids, half-time Perl hacker, sort-of DJ, bicyclist, no longer dreadlocked and 33 years old

I'm also head of [], maintainer of the CPANTS [] project, member of the TPF Grants Commitee [] and the YAPC Europe Foundation [].

I've got stuff on CPAN [], held various talks [] and organised YAPC::Europe 2007 in Vienna [].

Journal of domm (4030)

Saturday April 25, 2009
02:21 PM

seeking git wisdom: to squash or not to squash

I guess this question has no correct answer, but I'd still appreciate any feedback.

I'm currently trying to find my personal preferred git style. There are a few things I'm sure about:

  • master is the stable, i.e. what's running on live (and what could be released at any time)
  • bug fixes and features should be done in topic branches, which might or might not be pushed to public (depending mainly on how long it takes to implement them)
  • We're using gitosis

When I'm done with a topic branch and about to merge it back into master, I see two options: Just merge it. Or use git rebase --interactive to squash all commits I did into one, and than merge that.

The plain merge has the advantage that a lot of small commits are easier to merge (or so I've been told). Plus it's easier to revert/bisect later. The disadvantage is a lot of clutter in the history / git log.

If I squash all of my commits into one, I can avoid that clutter (and one can write beautiful commit messages after an rebase --interactive). But than this single big commit might be hard to merge. And a lot of fine grained information is lost.

So, can you offer any insights on this question? (hm, and maybe I should post this on some git list or on

Thursday April 23, 2009
01:50 PM

Lession of the day: Don't always do what the customer wants

Today I got a call from an client who wanted a new feature - that was not completely done yet - deployed ASAP, so that they can mention it in their weekly newsletter. Instead of doing the sensible thing (i.e. tell them to wait until I'm home and have access to the proper staging setup (i.e. my laptop...)) I did the stupid thing and finished the implementation in a hurry.

And then I did the even stupider thing, namely "deploying" the code ("deploying" means uploading the changed files via ftp and then touching a certain file to trigger a server restart. hrmpf). Of course, the server did not came up again, and I had to cycle home in a hurry, to fix things properly. (In the meantime the sysadmins removed the broken code and got the site back up. Uff...)

In the end the reason was this:

$digest //= $c->req->captures->[0];
$content_type = 'application/pdf';

Looks perfectly ok. And it is perfectly ok, as long as you're running 5.10. Which is what I use for nearly all of my projects. Except for this one (which in fact was only moved to 5.8 two years ago).

Oh, and it took me a while to figure out that error message: "Bad name after pdf' at bla"

Conclusion: Do not rush deploys, even if the customer wants you to. And remember what Perl you're actually using...

Friday April 17, 2009
04:50 PM

why TV shows should stop after season two

Thanks to the mighty powers of the internet I started to watch quite a few TV shows which I could never watch without the help of the aforementioned powers. (Because a) I don't have a TV and even if I did the german-speaking TV station(s) (I could receive) completely fuck up everything when broadcasting TV series: most of the time they only broadcast the dubbed version (argh), they drop episodes (because of some stupid sports event that HAS to be broadcasted...), the mix up the correct order, ..)

Anyway, the point I'm trying to make (but haven't started making yet) is independent of the broadcast mechanism.

Some of the shows I recently enjoyed are Dexter, The Big Bang Theory, Chuck, United States of Tara, and even (to a lesser extend) Weeds, House M.D., Grey's Anatomy and Desperate Housewives.

All of them started great. They were funny, suspenseful, or both. They had interesting plots, of course written for maximum WTFness (how often do you encounter any of this in the real world: serial killer working for the police, schizophrenic moms, hard-core nerds trying to date hot actresses, geeks turned superspys, genius but complete asshole doctors, hospital stuff who constantly switch partners until everyone has slept with anyone...).

During the first season, you get to know the main characters, the various support characters, and there is some halfway believable plot stretching through the whole season (which by the way discerns a TV series (where each episode has a distinct plot, e.g. your classic cop series or CSI) from a TV serial (which I prefere to watch..)).

The second seasons might be better than the first (Dexter), or slightly worse (Chuck). But most things still make sense, the characters are still behaving mostly like normal people do (though normal people with little common sense), and we don't have to cringe too often when the make obviously wrong choices.

But at the latest starting with the third seasons, things go downhill. The writers have to jump through hoops to make the basic premise of the show hold up. They cannot allow any real change, because that would destroy the unique selling proposition of the show. The relationships between the characters cannot reach a stable state (which basically is what they all (we all) strive for). Things just become ridiculous. But because the show is a great success by now, they continue to produce more an more seasons until you hate all the characters for being so incredible stupid, for never getting out of their misery, for never resolving the problem that made them interesting to watch in the first season.

Please let Leonard get Penny and kick out Sheldon. Please let Dexter live happily ever after with Rita and the kids. Please let Chuck get rid of the Intersec but not of Sarah, and let them start a Perl based startup. Please! Pleeeeeaseeee!!??!?


PS: The only shows that can go on (nearly) forever are family based sitcoms (Roseanne, Malcom in the Middle), which are forced to change because the (kid) actors grow up and thus have different problems (plus, they're not based on some crazy basic idea). Or cartoons like the Simpsons. Or crime shows.

Monday April 06, 2009
05:22 PM

the rally season is on

This weekend was the first nice, warm and sunny weekend in Vienna, which prompted a lot of people to take out their bikes and ride through the city. Which is all very nice, because bikes are so much nicer than cars. BUT

Vienna has reasonable amount of cycle paths. Unfortunately most of them are narrow and located on the pavement. It is also law that you must use a cycle path if there is one (a lot of cycle groups protest against this law, even though I doubt it's ever executed..)

So, if you combine this two facts, and take into consideration that I'm one of those guys who rides his bike all year long (yes, even if there's snow, ice and negative degrees, or even worse: rain - but there is no bad weather, only bad equipment) and that I like to ride fast, this is what I mean with the rally season.

Gone are the days where you had the cycle path all to yourself (and the snowstorm). Now you have to wiggle through people who cannot ride a bike in straight line, have now knowledge of basic traffic rules, are slow as hell, and generally totally annoying. And then there are the tourists...

So, my trip to my vinyl store of choice is now an adrenalin filled race avoiding being run over by cars, avoiding running over pedestrians on the cycle path, and manoeuvreing around geriatric cyclists. Fun!

Anyway, I really do not like this bit of my personality, because I know that I'd hate myself if I would be driving a car like I'm riding my bike. Luckily I don't have a driving license...

So if you ever ride a bike in Vienna, please ride on the right hand side of the cycle path, drive in a straight line, don't talk on your mobile, give hand signals before turning, switch to a low gear before stopping at a red light, do stop at red lights and respect the pedestrians (at least those that respect you - it's perfectly ok to shout at tourists walking on the cycle path and/or drive past them really tight and fast.)

Thursday January 29, 2009
05:44 AM continues to fund Jonathan Worthington in 2009 is pleased to announce that we will continue to fund Jonathan Worthington to work one day a week on Rakudo Perl. We think Jonathan did a marvellous job in 2008 and definitely want him to continue!

We're still feeding on the money left over from YAPC::Europe 2007 in Vienna, so a big THANK YOU goes to all sponsors and attendees of this event, who made this (and other) fundings possible in the first place!

More details are available on our wiki, but I didn't update the content there yet..

Sunday January 11, 2009
03:47 PM

why you won't hear much of me in the next months

Mostly, because Barbara is spending the next four months in Glasgow, working on her Ph.D thesis.

Even though I'm only working ~20h per week (or try to, but now that we (maros, koki & me) own our own company it's more than 20h more often than not, but as I enjoy working with them, it's not much of a problem...), I won't have much time for non-work Perl stuff, because the whole household thing (incl. looking after one kid and one teenager) now rests on my shoulders. Up until now we split all of the work 50/50, so other than a lot of other men I'm used to do all of this, but doing it alone will be a little bit more demanding. But hey, it's only 4 months...

The only real downside is that I won't be able to travel, and thus will miss a lot of nice Perl events ...

03:34 PM

why you haven't heard much from me lately...

Basically, because I was very busy, mostly with my job (at least from Nov to ~20th December). We had a rather critical deadline, and after some hard work, including one semi-all-nighter (which I actually enjoy once or twice a year), we delivered and the contract was renewed. But all of that coding left me with no appetite for more programming, which explaines the horrible mess that CPANTS is at the moment. But well, doing CPANTS is a hobby, and if I'm not in the mood, nothing will happen. I just have some bad feelings to the people who send suggestions, bugreports and patches..

I had some plans for coding some stuff during christmas holidays, but in the end I hardly ever touched the computer. Instead, we visited lots of relatives, played games ( Gifttrap, Globalissimo, Caesar & Cleopatra, and much more), build some lego robots, solved slitherlinks, read a nice book, went to a one day ski/snowboard trip to Semmering with gf & kids, watched season 2 of Dexter and ate too much. (yes, most of these activites are related to christmas presents...)

Monday December 01, 2008
06:27 AM HackMeet

We thought we'll try something different from the quite successfull TechSocialMeets, so we came up with a HackMeet: We'll meet and hack one evening on some random thing.

For today we plan to work on grafting some OpenID / SingleSignOn thingy on top of PAUSE. See here for more info (in german..)

If you're interestend on participating from remote, join us on and/or get a git commit bit and/or join the Hiveminder group.

Sunday November 30, 2008
04:33 AM

vinyl and mp3

While shopping for some christmas presents in my favourite record store (that is a real shop, not some website..) I found out that currently a lot of vinyl records come with some tokens to download the mp3s of that album. Some even include the same album as a CD (just the disk, but if you get a nice vinyl record cover plus artwork, who cares about the ugly, small plastic crap that goes as a CD cover).

I very much laudate this trend. It first started a few years ago, but seems to be standard now (at least when considering albums and not 12"es). While I have a nice and not very complex setup to rip vinyl to mp3 (basically an external USB sound device, audacity (especially the "add label track" and "export as multiple" features), manually adding track marks, and some perl scripts to rename and ID3-Tag the raw mp3s according to info gathered from (hm, ok, it is complex...), just entering some codes and downloading the stuff is much easier!

Thank you, record labels producing vinyl with mp3 download tokens!

Friday November 14, 2008
10:48 AM

TPF Grant Committee Voting Process

Today Gabor asked me on IRC how the TPF Grant Committee (GC) votes on the submitted grants. As this might be of interest to the general public, I reworked my reply and post it here:

Each quarter, the GC head^wsecretary (currently Alberto Simões) sends out a call for proposals and collects the results. He later posts them to the TPF blog for review by the community.

You now have the chance to read and discuss the proposals for approximately two weeks. As the members of the GC do not know every aspect of Perl, we are very happy for any feedback posted to the TPF blog, be it a simple "great proposal" or a detailed critique why the proposal is utterly useless and completely sucks. This process also gives the author of the proposal the chance to comment on questions raised by the community or GC members.

A few days before the voting deadline, the secretary sends out an email containing a list of all grants to the GC members (via the GC mailing list). Now every member gets to vote according to this rules:

  • vote 'NO' or 'REJECT' for those you do not want to fund
  • vote '0' to ABSTAIN!
  • vote from '1' to '5' on those you would like to see funded: ACCEPT
  • you can repeat votes (vote 5 on different proposals)
  • you do not need to use the full range (vote just 1 to 3, for instance)

After the deadline, the secretary weeds out rejected proposal (Rules of Operation 5. "Grant votes require a majority of the cast votes to be in favor of the proposal being voted on.") and sorts them by the total number of vote points each proposal got (using some mighty Perl script, I presume).

This results in sorted list of grant proposals, ordered by the combined vote of the GC members. Beginning from the top of the list, proposals are declared accepted by the TPF (i.e. this is not the GC's job anymore), until the budget set aside by TPF for this quarter is used up. Proposals that would be accepted, but could not be funded are listed as such, so that other sponsors might step in and fund them. See the results of the 2008 Q3 Grants for an example.

All proposals that did not get funded might be resubmitted in the next quarter.

If you have any suggestions on how to improve this process, feel free to comment here or on the TPF blog.