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 ]

jonasbn (1153)

  {jonasbn} {at} {}
AOL IM: BJonasN (Add Buddy, Send Message)

Perl Programmer located in Copenhagen, Denmark. Active member of Copenhagen Perl Mongers.

Author of:

  • Business::DK::CPR
  • Business::DK::CVR
  • Business::DK::PO
  • Business::OnlinePayment::CashCow
  • Date::Holidays
  • Date::Holidays::Abstract
  • Date::Holidays::Super
  • Date::Pregnancy
  • Games::Bingo
  • Games::Bingo::Bot
  • Games::Bingo::Print
  • Module::Info::File
  • Module::Template::Setup
  • Test::Timer

and maintainer of:

  • Tie::Tools
  • XML::Conf
  • Workflow

Journal of jonasbn (1153)

Tuesday October 28, 2008
02:48 PM

Project Evaluation; packages

I have been doing a lot of small projects lately so I have decided to do some evaluations of these here, this is the first. I have evaluated projects here before, but I think I am going to do this on a more regular basis.

The first project has been given the title: packages.

  • - lack of focus, too much on the table
  • - bad or lacking requirements, too much interpretation of assignment
  • + new super class
  • + good additions to existing class
  • - project frozen/terminated due to technical issues in the back end (it would never work), project might however be revisited later. As written earlier other things could have been worked on instead, if this has been known from the start
  • + introduction to Test::Class
  • - ancient XSLT engine on platform, parts of the implemented XSLT could be done more nicely with a more contemporary tool
  • - assignment procedure, the assignment should never have been initiated

Update: Evaluating this entry made me think - I should write some more about the contents of the project to put it in perspective, so here goes...

Packages was a small web application implemented in a proprietary frameword used with one of my clients. The concept in the application was to give the user the ability to add and remove certain services to his/her mobile subscription.

The backend did do parts of the stuff, but not all the business logic related to make this work for the customers. We could implement the business logic in the frontend but decided it was a bad idea and we would much rather await another project which would address this.

Sunday October 19, 2008
01:13 AM


Ever since I encountered my first Unix hosts (Ask and Embla) at the University of Copenhagen and I learned about the concept of host names I have always put effort into naming my hosts with good poetic and in my opinion cool names. I recall Rosenkrantz being my first private Linux server, I cannot remember what my first Linux workstation was called - perhaps I should dig into this. Later I have had Golem and Shelob running as FreeBSD servers on an intranet. My public server Leela suffered a disc crash, the other day (more on this in another journal entry) many hosts and many good names from many different resources.

Back when I was working at DTV I was once travelling with the train when I heard two guys about my own age discussing the naming policy of the servers at their place of work, I think they might have been students at DTU. The naming policy was the known planets, but one of them wondered why they had a machine named LV-426. They simply could not figure what it was and whether it was a moon or something - I remember smiling to myself, because I knew what LV-426 was.

Anyway for a long time used the name Hyperstation, taken from a song by Sonic Youth. I gave new host names to the machine I no longer used. Picking names from a accumulated list of good names taken from novels, movies and diverse other places.

But after changing to a 17" inch Mac Book Pro. I gathered it was time for a host name change also because Hyperstation is still in use, being a fairly new machine.

So I looked at my Sonic Youth song collection and hoarfrost stood out, so my new workstation has been named Hoarfrost.

Friday October 17, 2008
01:51 AM


I have for a long time used the following prompt in my bash shell:

S1="\h \w\n\r% "

hoarfrost /Users/jonasbn

I do however sometimes resort to wanting to copy a path and command to another terminal, where I would just write cd

The % would however give the following error message when pasted:

-bash: fg: %: no such job

So I changed it to:

PS1="\h \w\n\r; "

Warning gone, I could remove the hostname to make it easier to copy it.

PS1="\h\n\w\n\r; "

Suggestions welcome:

In addition to the bash prompt, I find the following to prompt useful:

For MySQL:

MYSQL_PS1="(\u@\h) [\d]> "

For PostgreSQL (from .psqlrc)

\set PROMPT1 '(%n@%m) [%/]>'

These show the user, hostname and database. Having the two database engine prompt being uniform, is quite nice.

I found the following tip however, which includes transactional state in the prompt. This could prove quite useful.

prompt suggestions and examples welcome

Tuesday October 14, 2008
10:39 AM

ipod+nike+, post-hiatus

I have not been running for 2 months, I only ran a 10 km. for the DHL race in Copenhagen in September.

I am not sure whether I want to run Copenhagen Marathon next year, the amount of time for preparation
is really hard to find. But I need to get running again.

We are spending a short holiday in the summer house so I planned to run some trips while here. So after a 5 km. today, where I found out that my Nikeplus+ chip no longer is working I am attempting to figure out my plans for reaching a level where I can run 10 km comfortably and 13 km before the Sparta marathon preparation training begins on the 2nd. of November.

Man, it is tough to get started after such a long hiatus

Wednesday September 24, 2008
04:30 PM

I am on Facebook! and on

I heard on IRC many years ago that it was not a good thing to Google yourself.

But the other day I accidently, wrote my full name in the Google search field in Firefox and hit carriage return.

The list of results was not particularly interesting or surprising and I had to go through several pages before something I did not expect appeared.

- oformat_article.pdf+Jonas+Br%C3%B8ms%C3%B8+Nielsen&hl=en&ct=clnk&cd=22&gl=dk&lr= lang_da%7Clang_en&client=firefox-a

I clicked and apparently it was an article by Damian Conway, back from when we raised money for him to do cool Perl stuff, man those were the days.

Trying 'jonasbn'(I think it was), I got:

Which we found quite amuzing on, since a lot of the references where to our fellow monger kaare. There was also a mentioning of me being beaten:

'jonasb seems to be unliked too. He/She got beaten 1 times.'

, if only the stats would tell me who did it. Everything points to claco, who apparently is a very aggresive person, which kind of surprises me, but if it is on the Internet it must be true, even though I actually worked with Kaare and he is not as stupid as the page suggests.

Same day my other fellow Perl monger, Peter Makholm had a blog entry (in Danish) on Version2, he mentioned the self-googling and he discovered some interesting things about himself, so I guess it is okay to google yourself once in while, you might get a good laugh.

03:52 PM

Weird filename

I have been writing a service for a client to put information onto an PDF template, PDF::API2, proved to be the tool I need for this.

In addition I use File::Temp and File::Slurp, to good CPAN modules. So after a certain amount of attempts I was able to stick a PDF file through the web framework we are utilizing using MIME::Base64. The attempts had various degrees of success my favorite mistake was when I received a plaintext file, which contained something, which looked like it was Base64 encoded. That was actually the first success, but the mistake was Base64 encoding it twice, to both the parcel and the contents where encoded, heh.

I got it worked out and started downloading PDFs. I had prototyped the PDF rendering step and if no input was inserted I would only receive the template - and I did, but the file names looked all weird. They had done so all the time, but this had not really taken my focus away from getting the right data through. So with names ranging from 3o3DveJS.pdf.part to JxSXbq_e.pdf.part and aIt2gdng.pdf.part, I received a file, which caught my eye: J0nasvN9.pdf.part

I still need to find out why the files are post-fixed with .part and the names are all weird and perhaps, this investigation will shed some light on the similarity between the filename and my preferred unix username and nick.

Hints are welcome,

Tuesday September 23, 2008
04:12 AM

Gained 2 inches in one day

I just moved all my stuff from a 15" inch MacBook Pro to a 17" using the migration assistant, I skimmed an article on the subject briefly.

I have attempted to use it earlier on older versions of OSX without much luck, but this time it worked out.

I bought the 17" for a temp doing work for me. He moved on to another job. I had seen brian d foy's 17" MacBook Pro in Oslo, which he placed in the middle of the sole desk there and left on - a very nice machine. I have sworn to the 15" since my first TiBook, the 15" machine being leftout now is my third 15" inch - I wonder if I will ever be able to go back to that series again.

The screen is very powerful and the resolution matches my external display, so I do not experience the hard edges, that stop me from moving the mouse pointer between the display.

I did do one mistake and that was creating a user with the same name as on my 15", so I ended up with two users (jonasbn and jonasbn2), so I had to pull some stunts to get jonasbn2 to become jonasbn, like ChangeShortName has become easier and the tool is not necessary.

It seems as if everything got transferred, the only thing causing some confusion was a new /etc/hosts. I do wonder however why Unix was never gifted with the possibility of using a ~/.hosts, who do you write to get this feature?

Anyway, the 17" works magnificently and it incredibly fast. The 15" might be donated to my wife who is running on a PowerPC based iBook, which I bought for her a loooooong time ago, I mean, in case she reads this, not so long ago...

Monday September 15, 2008
07:11 AM

Spammer Spanking?

I just got a piece of spam with the following subject:

Good afternoon - My ass wait you here

I am really inclined to respond:

Yes and I will spank it with my Oxford English Dictionary

But that is exactly what the spammers are aiming for, is it not - so I will not respond or click the link.

Damn those clever spammers and their mind games. they almost got me this time...

Friday September 12, 2008
07:12 AM

Notification of Limited Account Access - huh?

I just got the following mail (unedited).

Notification of Limited Account Access

Dear Customer,

This e-mail is the notification of recent innovations taken by PayPal to detect inactive customers and non-functioning mailboxes.
The inactive customers are subject to restriction and removal in the next 3 days.
You must click the link to complete the process.

This notification expires September 14, 2008.
Thank you for using PayPal! The PayPal Team

PayPal Email ID PP-141-663-845.

So the spammers/fishers do not even bother to hide things anymore - I know lazy is good, but this is just ridiculous.

Thursday September 11, 2008
02:34 AM

cvs2svn2ohloh, finally

When I started out with my company a good friend and fellow Perl monger, set up a CVS repository on one of his machines.

I have since then become quite happy about Subversion and I signed up with an external Subversion provider, which works really well for me. It is easy to use and it gives me what I need.

So I wanted to migrate the active stuff from CVS to Subversion - primarily my CPAN modules, so the term active is perhaps not the best description. Anyway - not having these in a repository I can access from everywhere have started to become problematic, so I decided to move the stuff to Subversion so I could at least pretend to be active.

So I started by making a tar-ball of the old repository directory on the CVS server.

I setup CVS on my workstation (

I untarred the tar-ball in the new directory and I was able to check stuff out.

So I checked out everything relevant (other stuff can just stay in CVS, no problem).

I copied my old working directories into the newly checked out working directories and commit the changes to my new local CVS server.

I then made a subversion dump using cvs2svn.

I sat up the projects with my provider each with a dump file.

So now I can move on and get some distributions released, which I should have shipped long ago (they are starting to sneak into production code with one of my clients).

I added an ohloh user to some of the repositories with read permission and added two projects to Ohloh.

I know people are all crazy about git these days and perhaps I will end up all excited about git as well and I know I am some years behind with my use of Subversion, but believe me I am behind with most things I do.

I do however like Subversion a lot and the tools available seem to quite good. So for now Subversion is what I am using.