domm's Journal http://use.perl.org/~domm/journal/ domm's use Perl Journal en-us use Perl; is Copyright 1998-2006, Chris Nandor. Stories, comments, journals, and other submissions posted on use Perl; are Copyright their respective owners. 2012-01-25T02:04:27+00:00 pudge pudge@perl.org Technology hourly 1 1970-01-01T00:00+00:00 domm's Journal http://use.perl.org/images/topics/useperl.gif http://use.perl.org/~domm/journal/ oe1.orf.at relaunch done http://use.perl.org/~domm/journal/40304?from=rss <p>The new and shiny <a href="http://oe1.orf.at/">oe1.orf.at</a> is finally online!</p><p>As you might expect it's crafted using the finest ingredients of Modern Perl: Catalyst, DBIx::Class, Moose, HTML::FormHandler, KinoSearch. Relaunching the site was a nice project, even though there were some setbacks:</p><p>I was forced to switch from Postgres to MySQL (using - the horrors - MyISAM), so I couldn't use any real database features like transactions and referential integrity; the launch date was postponed a few times, so I couldn't help organising the QA Hackathon as much as I wanted (in fact I can also not attend all days, because I want to spend some time with my family before leaving for Berlin / Icleand).</p><p>Anyway, after fixing some last post-deployment glitches everything seems to work now. Yay!</p> domm 2010-04-09T06:58:47+00:00 journal Perl QA Hackathon 2010 Update http://use.perl.org/~domm/journal/40278?from=rss The <a href="http://2010.qa-hackathon.org/qa2010/">hackathon</a> will start in ~ 2 weeks, so here's a quick update on our status: <ul> <li>We have a new sponsor: <a href="http://123people.com/">123people.com</a>. Yay! pst++</li> <li>Unfortunately David Golden, Ricardo Signes and Barbie can not make it.</li> <li>We accepted two last-minute requests from Miyagawa and Gabor Szabo.</li> <li>There was a tiny problem with the hotel, which luckily got spotted by Ovid. We have fixed that problem now.</li> <li>We will meet next week (during the monthly Vienna.pm meeting which will from now on take place on the first Thursday each month) to discuss the agenda etc.</li> </ul><p>We're all very much looking forward to the event!</p> domm 2010-03-27T08:44:34+00:00 journal Perl QA Hackathon: Last call to apply for sponsorship http://use.perl.org/~domm/journal/40172?from=rss <p>The phase for applications for sponsorship ends on Friday, 2010-02-12. We then shall deliberate over the weekend and announce the result afterwards so that travel arrangements can be made ASAP.</p><p>If you're considering coming to Vienna, and want to apply for sponsored travel/hotel, add yourself to the <a href="http://2010.qa-hackathon.org/qa2010/wiki">wiki</a> <b>now</b>. The more you tell us about your plans, the better!</p> domm 2010-02-10T18:55:03+00:00 journal hmm, Nordic Perl Workshop... http://use.perl.org/~domm/journal/40147?from=rss <p>It came to my attention via <a href="http://blogs.perl.org/users/brian_d_foy/2010/01/npw-isnt-going-to-get-any-closer-for-north-americans.html">brian d foy's blog post</a> that the next Nordic Perl Workshop will take place in Iceland - which sounds very interesting. At the same time I decided that I need to take a longish break after working very hard for the last two years. So I will combine my holiday with NPW!</p><p>My current plan is bike from Vienna via Prague to Berlin, spend a few days there to visit some friends, take a plane to Rekjavik, attend NPW, and then either cycle a bit more through Iceland or treck a bit (probably combined with public transport). Then take the plane back to Berlin and a train back to Vienna.</p><p>The plan still has some issues:</p><ul> <li>Is it totally insane to cycle through Iceland in May (if any Icelandic person could comment on this, I'd appreciate that..).</li> <li>Maybe cycling from Vienna to Berlin takes to long or is boring. Then I could take the train to Berlin, and cycle from there to Copenhagen, fly to Iceland, and go back to Berlin.</li> </ul><p>Anyway, I'm really looking forward to this!</p> domm 2010-01-30T21:20:43+00:00 journal Perl QA Hackathon 2010 Venue &amp; Vienna.pm Sponsorship http://use.perl.org/~domm/journal/40142?from=rss <p>The <a href="http://2010.qa-hackathon.org/">Perl QA Hackathon 2010</a> will take place in the lovely <b> <a href="http://www.metalab.at/">MetaLab</a> </b>, a grass-root non-profit hack-space in the middle of Vienna (more on <a href="http://en.wikipedia.org/wiki/Metalab">Wikipedia</a>). There will be lots of space, workplaces, sofas, wireless and wired network and a big fridge full of drinks.</p><p> <a href="http://vienna.pm.org/">Vienna.pm</a> has also proud to announce that we will sponsor the hackathon with <b>10.500 Euro</b>. We will reserve a small part for catering during the event, but most of the money will go into paying for transport and hotel of invited guests.</p><p>If you want to hack on a QA / Toolchain project, please add yourself to the <a href="http://2010.qa-hackathon.org/qa2010/wiki?node=Attendees">Attendees</a> page of the <a href="http://2010.qa-hackathon.org/qa2010/wiki">wiki</a>. </p><p>Thomas Klausner,<br> on behalf of Vienna.pm and the Perl QA Hackathon 2010 team</p> domm 2010-01-29T16:49:24+00:00 journal sack http://use.perl.org/~domm/journal/40039?from=rss <p>After typing <code>ack 'sub foo' lib</code> for the approximately thousandth time during some refactoring sessions, I couldn't be bothered anymore and added the following snippet to my <a href="http://www.modernperlbooks.com/mt/2009/10/remove-the-little-pessimizations.html">realias</a> (after some googling on how to get params into an alias, which does not work in bash, so I had to solve it via a bash function):</p><blockquote><div><p> <tt>sack () {<br>&nbsp; &nbsp;ack "sub $1" lib<br>}</tt></p></div> </blockquote><p>To find a given method in some of our labyrinthine code, I now say</p><blockquote><div><p> <tt>~/projects/Foo-Bar$ sack annoying_method</tt></p></div> </blockquote><p>and get a list of all occurrences. </p><p>yay!</p><p>P.S.: The name <code>sack</code> has nothing do with <b>s</b>ubroutine <b>ack</b>, but of course comes from the Austrian saying "Gemma ned am <b>sack</b>, oida!"</p> domm 2009-12-19T00:01:54+00:00 journal perlthanks http://use.perl.org/~domm/journal/39529?from=rss <p>During YAPC::Europe, Nicholas Clark mentioned a new util called <code>perlthanks</code>. It's basically <code>perlbug</code>, but for submitting thank-you-notes instead of bug reports. Nicholas said nobody had submitted a proper perlthank yet. So after installing 5.10.1 today, <a href="http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2009-08/msg00881.html">I said thanks</a>.</p><p>It seems that I missed "first post" by two slots, but well...</p><p>Thanking p5p for the tremendous work they're doing for us, is now only a short <code>perlthanks</code> away!</p> domm 2009-08-25T15:56:40+00:00 journal How I convert my vinyl to mp3 http://use.perl.org/~domm/journal/39502?from=rss (<i>Crossposted from my other "<a href="http://domm.plix.at/var/vinyl2mp3.html">blog</a>" which has a nice photo of the setup, but lacks everything else (comments, RSS,<nobr> <wbr></nobr>..)...</i>) <p>For a lot of reasons I prefer vinyl to CDs as my primary medium for music. But I still want to carry my music around, and not only is vinyl rather heavy, the real killer is the lack of portable turntables that work while cycling...<br> <br>A few days ago I packed one of my turntable and my old and crappy mixer into my bike trailer and hauled them and a selection of records to my office. Now I can listen to proper music while working, and convert it to mp3 at the same time. <br> <br>As the setup is kind of interesting, here's a quick rundown through the hard- and software used:<br> <br>The turntable connects to the mixer, which does the preamp needed to convert the weak signal from the turntable into something line-in can take. The mixer than connects to my USB sound device (rather ancient, I got it when we lived in Berlin in 2000). The USB thingy is plugged into my desktop machine (of course running <a href="http://debian.org/">Debian</a>), where I use <a href="http://audacity.sourceforge.net/">Audacity</a> to record the audio signal.<br> <br>After I recored a whole record, I have to do some manual fiddling to remove the gaps in the recording left when I had to switch records. I than add a 'label track' and add track marks at appropriate places (silence auto detecting just does not work good enough). Then I hit 'Export multiple' and let audacity convert the wavs to mp3.<br> <br>Now I have a bunch of ugly-named mp3-files lacking proper meta data. I wrote <a href="http://github.com/domm/App-FixFilenames/tree/master">several small scripts</a> and tools to first rename the files to something like '01.mp3'. I fetch the CDDB data from <a href="http://freedb.org/">freedb.org</a> (or if I cannot find it there, I can write up a small file containing the meta data from hand or copy it from wikipedia). Another script then parses the meta data, finds the matching mp3 file, adds ID3 tags, moves it to my music archive and generates a proper filename (which of course is '02_guns_dont_kill_people_rappers_do.mp3').<br> <br>And that's it!</p> domm 2009-08-21T08:55:02+00:00 journal Space Invaders using Perl &amp; SDL http://use.perl.org/~domm/journal/39410?from=rss <p>If you've been at <a href="http://yapceurope2009/">YAPC::Europe 2009</a> (or still are there...), I've probably shown you my still rather simple space invaders clone, which is totally boring besides the fact that it's written in Perl (and based on <a href="http://sdl.perl.org/">SDL</a>). It's now on github: <a href="http://github.com/domm/Game-PerlInvaders/">http://github.com/domm/Game-PerlInvaders</a>. Please clone and patch!</p><p>BTW, if you want to try it out and have problems installing SDL from CPAN, try the most recent version from github, see <a href="http://wiki.github.com/cthulhuology/SDLPerl">http://wiki.github.com/cthulhuology/SDLPerl </a> </p> domm 2009-08-05T16:15:17+00:00 journal slides for my YAPC::Europe 2009 talk "Writing Reusable Code" http://use.perl.org/~domm/journal/39403?from=rss <p>As I can't get to my screen-session my irssi-session lives in, I'll have to announce this here:</p><p> The slide for my talk <a href="http://yapceurope2009.org/ye2009/talk/1775">Writing Reusable Code</a> are now available from here: <a href="http://domm.plix.at/talks/writing_reusable_code.html">http://domm.plix.at/talks/writing_reusable_code.html</a> and also listed on the <a href="http://yapceurope2009.org/ye2009/wiki?node=PresentationSlides">YAPC::Europe 2009 Wiki</a>.</p><p>If you held or will hold a talk, please <a href="http://yapceurope2009.org/ye2009/wikiedit?action=edit&amp;node=PresentationSlides">add</a> links to your slides too!</p> domm 2009-08-04T10:27:39+00:00 journal $me-&gt;sleep(604800) http://use.perl.org/~domm/journal/39264?from=rss I'm off to Crete for one week of doing nothing (besides sleeping, swimming, diving &amp; eating). I have some vague plans on working on the slides for my YAPC talk, but as I'm traveling without laptop, I'm not sure I'll actually do anything... domm 2009-07-10T20:07:01+00:00 journal Need for Speed Part I: DBIx::Class vs DBI http://use.perl.org/~domm/journal/39213?from=rss <p>Yesterday I had to write some code that goes through ~700.000 datasets (seperated into 6 tables) and denormalise them (see the yet unwritten Part II). As we're using DBIx::Class, I first used it. Even though I avoided some in/deflators and used <code>columns</code> to only get the stuff I needed, the process took ages (~50 items per second or aprox 4 hours for the whole job). Well, 4 hours might be bearable, but this was only the Swiss dataset. The German one, which we have to tackle soon, is at least 10 times as big, and 40 hours is just a way too long runtime.</p><p>So I rewrote the core of the programm using raw DBI calls (I had several flashbacks to the 90's<nobr> <wbr></nobr>:-) The results were quite astounding, as I was now getting 500 items a second. 10 times faster!</p><p>And that was before koki told me to set <code> <a href="http://www.postgresql.org/docs/8.3/static/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-MEMORY">work_mem</a> </code> to a bigger value. I choose 30MB, and got another speedup to ~900 items per second. Sweet!</p><p>Of course, it's completely unfair to compare DBI with DBIx::Class performance wise, because DBIx::Class is <b>so</b> much nicer to work with. But if speed is an issue, dropping back to raw DBI is the way to go.</p> domm 2009-07-02T20:49:15+00:00 journal looking for CPANTS (co-) maintainers http://use.perl.org/~domm/journal/39189?from=rss <p>After another year of doing basically nothing with <a href="http://cpants.perl.org/">CPANTS</a>, I think it is finally time to look for somebody to take over maintainership. I don't see any tuits to emerge in the next 3 months (thanks to two big, cool, all-perl jobs) to fix all the bugs that become more an more apparent, as CPANTS data is used by more and more third parties. Plus there are lots of interesting new projects (mostly Metabase) that could and should be considered.</p><p>As a first step, I moved the repo from google code (and svn) to <a href="http://github.com/domm/CPANTS/tree">github</a> for easier collaboration. But to really move CPANTS forward, the switch to git is by far not enough... </p><p>So if you're interested in taking a very close look at the ugly parts of CPAN, or want to tweak the algorithm of the CPANTS game to make you finally show up on top, drop me a line and I'll either add you as co-maint (or even as full maintainer, if somebody wants to take over completely (which I'd prefer)).</p><p>I guess that we can keep the site hosted on the Vienna.pm server, unless somebody wants to move the site to their own machine. I could also give an inofficial short/long intro/tutorial at YAPC::Europe to help the new maintainers find their way round the code.</p><p>CPANTS consists of three components, two of which (M:C:Analyse &amp; M:C:Site) are rather easy to understand, while M:C:ProcessCPAN is a bit more complex. It has no real tests and takes ages for a complete run - so it's quite a pain in the ass to fix bugs and implement new features (hm, bad advertising...).</p><p>So if you're interested in taking over (parts) of CPANTS, please comment below and/or drop me a line (domm AT cpan.org)</p> domm 2009-06-29T20:02:37+00:00 journal Vienna.pm donates 2.500 Euro to YEF http://use.perl.org/~domm/journal/39113?from=rss <p>In our recent drive to spend some of the money earned by <a href="http://vienna.yapceurope.org/">YAPC::Europe 2007</a>, <a href="http://vienna.pm.org/">Vienna.pm</a> decided to <a href="http://www.yapceurope.org//news.html#20090610">donate <b>2,500 Euro</b> </a> to the <a href="http://www.yapceurope.org/">YAPC::Europe foundation (YEF)</a>.</p><p>The money will be used by YEF to <a href="http://www.yapceurope.org/donation.html">kick-start</a> other Perl events in Europe and to keep the credit card payment system used by <a href="http://act.mongueurs.net/">ACT</a> running.</p><p>We not only hope that this donation will help YEF to support future conferences and workshops, but to also motivate other financially successful events to donate some money back to YEF. After all, YEF has absolutely no income, but an important job!</p> domm 2009-06-10T18:53:37+00:00 journal perltidy help needed http://use.perl.org/~domm/journal/39106?from=rss <p>As we all know, <a href="http://search.cpan.org/dist/Perl-Tidy">perltidy</a> is a very cool and powerful tool, and I love it. But there's one thing I cannot get it to do, which is best explained as code...</p><p>I would like to get this as a result:</p><blockquote><div><p> <tt>$self-&gt;do_something( $c, {<br>&nbsp; &nbsp; rs&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =&gt; $c-&gt;model('DB::Foo')-&gt;search( { bar =&gt; 'baz' } ),<br>&nbsp; &nbsp; fluxcompensator =&gt; '1.21 jigowatts',<br>});</tt></p></div> </blockquote><p>Specifically, I want the <code>( $c, {</code> on the same line and the contents of the hash only indented on level deeper. </p><p>I played around with a lot of settings, but could only get this:</p><blockquote><div><p> <tt>$self-&gt;do_something(<br>&nbsp; &nbsp; $c, {<br>&nbsp; &nbsp; &nbsp; &nbsp; rs&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =&gt; $c-&gt;model('DB::Foo')-&gt;search( { bar =&gt; 'baz' } ),<br>&nbsp; &nbsp; &nbsp; &nbsp; fluxcompensator =&gt; '1.21 jigowatts'<br>&nbsp; &nbsp; });</tt></p></div> </blockquote><p>using </p><blockquote><div><p> <tt>--stack-opening-tokens<br>--stack-closing-tokens<br>--opening-brace-always-on-right <br> --opening-token-right</tt></p></div> </blockquote><p>I also tried --line-up-parentheses like this (additional to the above options):</p><blockquote><div><p> <tt>--line-up-parentheses<br>--closing-token-indentation=0<br>--vertical-tightness=2</tt></p></div> </blockquote><p>with this result:</p><blockquote><div><p> <tt>$self-&gt;do_something( $c, {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rs =&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $c-&gt;model('DB::Foo')-&gt;search( { bar =&gt; 'baz' } ),<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fluxcompensator =&gt; '1.21 jigowatts'<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} );</tt></p></div> </blockquote><p> Now the $c and { line up, but I do not like the fact that rs=&gt; etc is indented that much.</p><p>So, dear lazyweb: What's the right perltidy setting? Or does perltidy simply not support my favourite coding style?</p> domm 2009-06-09T19:28:11+00:00 journal Vienna.pm funds Patrick R. Michaud one Rakudo-Day a week http://use.perl.org/~domm/journal/39103?from=rss <p> <a href="http://vienna.pm.org/">Vienna.pm</a> is proud to announce that we will fund <a href="http://use.perl.org/~pmichaud/journal/">Patrick R. Michaud</a> to work one day a week (or ~4 days a month) on <a href="http://rakudo.org/">Rakudo Perl</a>. Like <a href="http://use.perl.org/~jonathanworthington/journal/">Jonathan Worthington</a>, Patrick will receive 150 Euro per 8-hour day starting from now until the end of 2009.</p><p>Patrick is being funded through the Ian Hague grant for some of his Rakudo Perl work, but that grant is really focused on building large-scale components needed for Perl 6 development (such as the parser and regex/grammar engine, which are multi-week tasks). As the Rakudo Perl 6 pumpking, Patrick finds himself doing lots of smaller 1-or-2-day tasks that are high profile and critical for Rakudo development, but for which it's difficult to obtain any sort of funding or support. Until now...</p><p>Patrick promised to blog about his Rakudo days, and we're looking forward to see all the good stuff he's going to create.</p><p>We would like to thank all <a href="http://vienna.yapceurope.org/ye2007/sponsors.html">Sponsors</a> and <a href="tp:viennayapceuropeorgye2007stats">participants</a> of YAPC::Europe 2007 in Vienna, who made it possible for us to fund this and other projects.</p><p>Thomas Klausner,<br> on behalf of Vienna.pm</p><p>PS: A Perl 5 related grant will be announced shortly</p> domm 2009-06-09T06:36:31+00:00 journal flash from the past http://use.perl.org/~domm/journal/39065?from=rss <p>While cleaning up my harddisk I stumbled upon the results of my first contract, a very small and static website. I'm not sure whether I did this in the summer of 1995 or 1996, but of course is looks totally awful. There was no Perl involved, only notepad and some basic knowledge of HTML. I cannot recall how I got that contract, but I think I basically got an email from a complete stranger who said that somebody told him I could "program" a website. I think I charged the now ridiculous low fee of 1.000 Schilling (which are ~70 Euros, but even if you take inflation into acount and say that 1.000 Schilling of 1995 are now 200 Euro, it's still cheap).</p><p>Anyways, of course I googled for the site and found it still up and running <a href="http://www.geocentri.com/index1.htm">here</a>. It looks quite similar to my original "design", but it seems to have been created using the HTML export function of MS Word. I assume the owner of the site just took my handcrafted HTML, opened it in Word, changed minor stuff, and exported it again.</p><p>Hm, should I contact him and ask him if he want's an upgrade to some Catalyst based DBIC powered CMS?<nobr> <wbr></nobr>:-)</p> domm 2009-06-02T11:05:31+00:00 journal Spending money to help Perl? http://use.perl.org/~domm/journal/39013?from=rss <p>During <a href="http://vienna.pm.org/">our</a> annual meeting I asked Nicholas a small question ("When will we get 5.10.1" - ok, not a small question..), which resulted in some interesting ranting and discussions. Of course, we didn't find any silver bullet, but I'd still like to get some feedback from whoever cares...</p><p>So, say you have a quite bigish amount of money, let's say 25.000 Euro [0]. How would you spend it to help Perl?</p><ul> <li>Splitting it up in small grants is a lot of work, already done by TPF, and usually projects funded this way do not affect Perl as a whole.</li> <li>Hiring somebody to work full time seems like the best option. But who of the "Perl seniors" would quit his/her job for an amount of money that pays for one year max (more likely half a year)? Would you? And even if you would, what would you be able to do?</li> <li>Hiring "juniors" should be cheaper, but they need guidance, which takes time and is not fun.</li> <li>Maybe we should get a non-programmer as a cat herder [1]? But some/most of the cats don't want to be herded. Plus, the cat herder wouldn't have a stick (and neither a carrot)</li> <li>Most of us code for fun, and leave out the non-fun parts (documentation, screen design, sometimes even testing). Maybe we should hire people who are good in this field to free more time for the fun stuff?</li> <li>Or maybe we need a first-level support person (or team?) for p5p, who goes through all the bug reports, classifies them, discard the crap/resolved/duplicate tickets and assigns the rest to the right person(s)?</li> <li>...???</li> </ul><p>In the end, most/all of the people who could do the hard things (like working on Perl internals, releasing new Perl versions,<nobr> <wbr></nobr>..) have jobs (and persumably are happy with their job) and no time [2]. So money does not actually help here. Plus, most of this proposed 'jobs' involve some kind of control from the paying party, and e.g. I don't want to spend even one hour a week with such boring administrative tasks.</p><p>Anyway, if somebody comes up with a convincing plan, it might be realised if we can get the needed money (but see [0]!</p><p>&nbsp;</p><p>0: as you might know, <a href="http://vienna.pm.org/">Vienna.pm</a> actually has that much money earmarked for "advancements of Perl", so this post isn't that hypothetical.</p><p>1: read 'project manager'</p><p>2: Of course there are exceptions like <a href="http://use.perl.org/~JonathanWorthington/">Jonathan</a> who are a) exceptionally well suited for their "community job" and b) actually have some time they can trade for money.</p> domm 2009-05-21T16:31:29+00:00 journal Acme::ReturnValues is back http://use.perl.org/~domm/journal/38981?from=rss <p> <a href="http://returnvalues.useperl.at/">http://returnvalues.useperl.at</a> </p><p>Now with a nice and shiny (-ish) design and with lots of false-positive crap stashed away to "Bad return values". As you might have expected, the most common "cool" return value is <code>42</code>.</p><p>A tiny bit more context can be found <a href="http://domm.plix.at/talks/acme_returnvalue.html">here</a>. </p><p>Next: set up a cronjob (but before that, write out which dists have already been checked, so we only check new uploads)</p> domm 2009-05-15T14:36:33+00:00 journal Module::Install hate http://use.perl.org/~domm/journal/38921?from=rss <p> <i>I should rather post this to we.hates-software.com, but a) I don't care for yet another subscription and b) I'm not sure if it's still running</i> </p><p>Anyway..</p><p>From time to time I do this to update my CPAN stack:</p><blockquote><div><p> <tt>~/$ cpanp<br>CPAN Terminal&gt; x<br>CPAN Terminal&gt; o<br>.. list of modules needing an update<br>CPAN Terminal&gt; i 1<nobr> <wbr></nobr>.. $last_module</tt></p></div> </blockquote><p>As I have set up my CPANPLUS to automatically install all dependencies, this should work completely without my interaction. If I'm feeling courageous, I add <code>--skiptest</code> and/or <code>--force</code> for even less interaction.</p><p>But the comes along a distribution using <code>Module::Install</code>, which trys to be smart (something computers fail at more often than not) and uses its own dependency installation scheme. Which includes asking me if I want to install <b>required</b> dependencies.</p><p>HATE!</p><p>Not only did I explicitly tell my computer to NOT ask me, how should the dist I'm installing work if some required dependencies are missing? </p> domm 2009-05-04T07:10:26+00:00 journal seeking git wisdom: to squash or not to squash http://use.perl.org/~domm/journal/38868?from=rss <p>I guess this question has no correct answer, but I'd still appreciate any feedback.</p><p>I'm currently trying to find my personal preferred git style. There are a few things I'm sure about:</p><ul> <li> <i>master</i> is the stable, i.e. what's running on live (and what could be released at any time)</li> <li>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)</li> <li>We're using gitosis</li> </ul><p>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 <code>git rebase --interactive</code> to squash all commits I did into one, and than merge that.</p><p>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 / <code>git log</code>.</p><p>If I squash all of my commits into one, I can avoid that clutter (and one can write beautiful commit messages after an <code>rebase --interactive</code>). But than this single big commit might be hard to merge. And a lot of fine grained information is lost.</p><p>So, can you offer any insights on this question? (hm, and maybe I should post this on some git list or on stackoverflow.com...)</p> domm 2009-04-25T19:21:23+00:00 journal Lession of the day: Don't always do what the customer wants http://use.perl.org/~domm/journal/38858?from=rss <p>Today I got a call from an client who wanted a <a href="http://oe1.orf.at/kulturwandertag">new feature</a> - 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.</p><p>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...)</p><p>In the end the reason was this:</p><blockquote><div><p> <tt>$digest<nobr> <wbr></nobr>//= $c-&gt;req-&gt;captures-&gt;[0];<br>...<br>$content_type = 'application/pdf';</tt></p></div> </blockquote><p>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).</p><p>Oh, and it took me a while to figure out that error message: "Bad name after pdf' at bla"</p><p>Conclusion: Do not rush deploys, even if the customer wants you to. And remember what Perl you're actually using...</p> domm 2009-04-23T18:50:21+00:00 journal why TV shows should stop after season two http://use.perl.org/~domm/journal/38821?from=rss <p>Thanks to the <a href="http://en.wikipedia.org/wiki/BitTorrent_(protocol)">mighty powers of the internet</a> 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,<nobr> <wbr></nobr>..)</p><p>Anyway, the point I'm trying to make (but haven't started making yet) is independent of the broadcast mechanism.</p><p>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.</p><p>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...).</p><p>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..)). </p><p>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.</p><p>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.</p><p>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 <a href="http://tinyurl.com/cbdgn3">Perl based startup</a>. Please! Pleeeeeaseeee!!??!?</p><p>&nbsp;</p><p>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.</p> domm 2009-04-17T21:50:23+00:00 journal the rally season is on http://use.perl.org/~domm/journal/38764?from=rss <p>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</p><p>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..)</p><p>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.</p><p>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...</p><p>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!</p><p>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...</p><p>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.)</p> domm 2009-04-06T22:22:39+00:00 journal Vienna.pm continues to fund Jonathan Worthington in 2009 http://use.perl.org/~domm/journal/38362?from=rss <p> <a href="http://vienna.pm.org/">Vienna.pm</a> is pleased to announce that we will continue to fund <a href="http://www.jnthn.net/">Jonathan Worthington</a> to work one day a week on <a href="http://rakudo.org/">Rakudo Perl</a>. We think Jonathan did a marvellous job in 2008 and definitely want him to continue!</p><p>We're still feeding on the money left over from <a href="http://vienna.yapceurope.org/">YAPC::Europe 2007 in Vienna</a>, 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!</p><p>More details are available on our <a href="http://socialtext.useperl.at/woc/index.cgi?work_1_day_per_week_on_rakudo">wiki</a>, but I didn't update the content there yet..</p> domm 2009-01-29T10:44:52+00:00 journal why you won't hear much of me in the next months http://use.perl.org/~domm/journal/38260?from=rss <p>Mostly, because Barbara is spending the next four months in Glasgow, working on her <a href="http://b-hollendonner.plix.at/">Ph.D thesis</a>. </p><p>Even though I'm only working ~20h per week (or try to, but now that we (maros, koki &amp; 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...</p><p>The only real downside is that I won't be able to travel, and thus will miss <a href="http://www.perl-workshop.de/en/2009/">a</a> <a href="http://conferences.mongueurs.net/bpw2009/">lot</a> <a href="http://www.perlworkshop.nl/">of</a> <a href="http://event.perlukraine.org/upw2009/">nice</a> <a href="http://qa-hackathon.org/">Perl</a> <a href="http://www.perlworkshop.no/npw2009/">events</a><nobr> <wbr></nobr>...</p> domm 2009-01-11T20:47:29+00:00 journal why you haven't heard much from me lately... http://use.perl.org/~domm/journal/38259?from=rss <p>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 et.al. 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..</p><p>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 ( <a href="http://www.boardgamegeek.com/game/23686">Gifttrap</a>, <a href="http://www.boardgamegeek.com/game/35179">Globalissimo</a>, <a href="http://www.boardgamegeek.com/game/132">Caesar &amp; Cleopatra</a>, and much more), build some lego robots, solved <a href="http://en.wikipedia.org/wiki/Slitherlink">slitherlinks</a>, read a nice <a href="http://en.wikipedia.org/wiki/Halting_State">book</a>, went to a one day ski/snowboard trip to Semmering with gf &amp; kids, watched season 2 of <a href="http://www.imdb.com/title/tt0773262/">Dexter</a> and ate too much. (yes, most of these activites are related to christmas presents...)</p> domm 2009-01-11T20:34:32+00:00 journal Vienna.pm HackMeet http://use.perl.org/~domm/journal/37993?from=rss <p>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.</p><p>For today we plan to work on grafting some OpenID / SingleSignOn thingy on top of PAUSE. See <a href="http://socialtext.useperl.at/vienna-pm/index.cgi?hackmeet_am_1_12_2008">here</a> for more info (in german..)</p><p>If you're interestend on participating from remote, join us on #Austria.pm and/or get a git commit bit and/or join the Hiveminder group.</p> domm 2008-12-01T11:27:30+00:00 journal vinyl and mp3 http://use.perl.org/~domm/journal/37980?from=rss <p>While shopping for some christmas presents in my <a href="http://www.substance-store.com/">favourite record store</a> (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).</p><p>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 freedb.org) (hm, ok, it is complex...), just entering some codes and downloading the stuff is much easier!</p><p>Thank you, record labels producing vinyl with mp3 download tokens!</p> domm 2008-11-30T09:33:41+00:00 journal TPF Grant Committee Voting Process http://use.perl.org/~domm/journal/37879?from=rss <p>Today <a href="http://use.perl.org/~gabor">Gabor</a> asked me on IRC how the <a href="http://www.perlfoundation.org/grants_committee">TPF Grant Committee</a> (GC) votes on the submitted grants. As this might be of interest to the general public, I reworked my reply and post it here:</p><p>Each quarter, the GC head^wsecretary (currently <a href="http://use.perl.org/~ambs">Alberto Sim&#245;es</a>) sends out a call for proposals and collects the results. He later posts them to the <a href="http://news.perlfoundation.org/2008/11/2008q4_grant_proposals.html">TPF blog</a> for review by the community.</p><p>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.</p><p>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:</p><ul> <li> vote 'NO' or 'REJECT' for those you do not want to fund</li> <li> vote '0' to ABSTAIN!</li> <li> vote from '1' to '5' on those you would like to see funded: ACCEPT</li> <li> you can repeat votes (vote 5 on different proposals)</li> <li> you do not need to use the full range (vote just 1 to 3, for instance)</li> </ul><p> After the deadline, the secretary weeds out rejected proposal (<a href="http://www.perlfoundation.org/rules_of_operation">Rules of Operation</a> 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). </p><p>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 <a href="http://news.perlfoundation.org/2008/08/2008q3_grants_results.html">the results of the 2008 Q3 Grants</a> for an example.</p><p>All proposals that did not get funded might be resubmitted in the next quarter.</p><p>If you have any suggestions on how to improve this process, feel free to comment here or on the <a href="http://news.perlfoundation.org/2008/11/2008q4_grant_proposals.html">TPF blog</a>.</p> domm 2008-11-14T15:48:24+00:00 journal