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)

  reversethis-{gro.napc} {ta} {nbsanoj}
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)

Thursday September 11, 2008
02:28 AM

Caving in to twitter...

I know I tried to cut down, but I caved, I signed up to twitter... I am enjoying myself.

I can update both from my iPhone, but I would really love for the status in Facebook to be updated from Twitter, so I only would have to microblog in one place.

02:18 AM

Jigabachis circling my house?

Apparently the Jigabachis of Ghost in the Shell, 2nd. GIG are not all that science fiction.

I have just ordered Ghost in the Shell - Solid State Society, to complete my collection.

Any recommendations on manga along the lines of Ghost in the Shell, would be appreciated...

Thursday September 04, 2008
03:10 AM

The Internet looks ugly! (me doing CSS)

I got an assignment from somebody with my client who did not have time to do it.

The assignment was to port a flash site (bought and implemented in all haste) to HTML, so maintenance could be done locally and more cheaply - and of course for SEO activities a.s.o.

So I started out and I have spent a significant amount of time on this, simply because I am a moron when it comes to CSS.

I have mailed several of the involved parties as I have made progress to get feedback and so on. Two days ago I came to a milestone where all I needed was some graphics, so I ordered these from the local photoshop hotshot.

So I mailed the involved parties and the product manager responded.

She wondered if something was bad with the test environment, because it did not look good.

I have continuously tested in Safari/Firefox/IE7 and IE6. IE6 is the installed browser on the company machines here - and I tend to think I succeeded in getting the layout to be somewhat identical in the different browsers.

So I went and talked to her. I told her that it made no difference whether it was test or production and she informed me that the site was of no use to her in its current state, since it was too ugly and the texts looked like rugged and there where not beautiful enough.

I wrote a new mail to all the involved parties saying that I was unable to address the actual rendering of text in IE6 (and other browsers) and I would put the last images on the site and regard the assignment as finished.

I have not heard anything...

I am still waiting for the graphics and I really really want to get this out of the way so I can write an invoice and focus on my other assignments... I think it is the last time I take a layout assignment. There are too many opinions and I am not the best qualified person to do CSS and layout in different browsers. Whether the Internet is ugly and all texts should be replaced with graphics is not for me to decide, I completed the assignment and I need to move on.

I did learn a lot, but I am a programmer and programming practices are somewhat applicable to CSS and HTML work, but there is so much more to that field and I am simply not experienced enough in this particular field.

02:23 AM

Workflow 0.32_4 released

I made a rapid release of Workflow (Workflow 0.32_4) - which should address some of our problems, but the number of failing tests are still very high and I see more and more of the same diagnostics.

So I started to dig into the problems.

  • Processing workflow_action.xml: No _parse_* routine defined on this driver (If it is a filter, remember to set the Parent property. If you call the parse() method, make sure to set a Source. You may want to call parse_uri, parse_string or parse_file instead.) [XML::SAX::RTF=HASH(0x8721d18)] at /home/stro/perl510/lib/site_perl/5.10.0/XML/SAX/ line 2616.
  • Cannot read '/home/david/cpantesting/perl-5.10.0/.cpan/build/Workflow-0.32_4-qVqkc9/t/struct /workflow_sqlite.sql': No such file or directory at line 93.
  • A third one was a failure to build XML::Simple, but I cannot consider that a failure on my side, I think this particular problem of test reports on fails not related to the distribution being testing is being discussed quite intensively on the perl-testers-discuss mailing list right now.

Since none of these are emitted from the Workflow code base I did some googling in the first one.

One of the links I found googling was at Perlmonks so I clicked that right away

Here is the explanation, snipped from Perlmonks, it does however originate from a test report:

The problem in this case is a bug in the XML::SAX::RTF installer,
which registers itself in ...lib.../XML/SAX/ParserDetails.ini.
This ini file is used to determine the default SAX parser and
since XML::SAX::RTF was installed most recently, it is the default.
Unfortunately, XML::SAX::RTF is not an XML parser (despite
generating SAX events) so it should be removed from the
ParserDetails.ini file.

I have reported this problem to the module maintainer some time
ago, but I will try again and submit a patch this time.

Thanks for the test.

I wrote Grant to inquire on the status of the problem. Referring to the RT ticket

I installed XML::SAX::RTF and I could reproduce the error.

I wrote Andreas Köenig, whom I had just recently met at YAPC::Europe because he had sent me some test reports indicating failure as well and asked him to send me his: XML/SAX/ParserDetails.ini

His file did however look different from mine, but the reports looked somewhat the same. Since he did not have XML::SAX::RTF installed. So I started to examine XML::SAX and I came to the conclusion that this particular snippet is the problem (from XML::SAX::ParserFactory).

        if (@{$self->{KnownParsers}}) {
                return $self->{KnownParsers}[-1]{Name};
        else {
                return "XML::SAX::PurePerl"; # backup plan!

So as Grant stated earlier, the most recent XML::SAX parser installation is the parser used. It is quite an easy fix, take the XML::SAX::PurePerl (the topmost in the XML/SAX/ParserDetails.ini) so we do not get behavior based on installation behavior.

The problem is then how do we fix this?

I discussed with another Workflow developer on our mailing list about indicating requirements for modules not used directly by Workflow and that solution is not good and since XML::SAX is well encapsulated inside XML::Simple and the parser is well encapsulated within XML::SAX, we cannot really control this, since it is all a matter of configuration.

So what we might have to do is write a test, which attempts to find out what parser is used and then bail (fail) or continue... this will however still result in failing tests indicating that Workflow fails.

Installation of modules is mostly done by people so the XML::SAX configuration is our weakest link, I would prefer to rewrite the above snippet to be:

        if (@{$self->{KnownParsers}}) {
                #defaults to XML::SAX::PurePerl
                return $self->{KnownParsers}[0]{Name};
        else {
                return "XML::SAX::PurePerl"; # backup plan!

So we know we always get XML::SAX::PurePerl unless the user has changed the precedence in his/her XML/SAX/ParserDetails.ini.

This will however break a lot of XML::SAX installations, but the current implementation is stupid and yields unpredictable behavior - and we do not like unpredictable do we?

I have not gotten my head around the XML::SAX feature system, perhaps this could be used to tweak XML::SAX into behaving more predictably, but that will require patches to all parser distributions, XML::Simple and other places beyond my control and I feel like a I am straying from what I intentionally wanted to do, which was releasing Workflow 0.32.

About the other problem, I think this might have to be related to a definition of root directory, but I have not investigated this any further...

This situation calls for a quote from the Coneheads movie trailer (I have never seen the movie)

Coast guard using megaphone addressing refugees on a boat:

We appreciate your situation, but we have problems of our own

I am not sure the quote is correct, but it always pop to mind when situations like this occur.

Friday August 29, 2008
07:48 AM

Nordic Perl Workshop, surplus and donations

I have just received confirmation from DKUUG that our surplus from Nordic Perl Workshop 2007 will be transferred this forthcoming Monday to:

It is not huge amounts, but hopefully it will do good in the three organizations.

The surplus was divided into 3 equal parts and for FoFs and YEF, we are paying back money we applied for (+some).

Thursday August 28, 2008
03:09 AM

Podcast on developerWorks about Perl and GoogleEarth

Oh, there is a podcast on developerWorks on Perl and GoogleEarth entitled: 'On Time and Availability'

I should take time to hear it, but this sweet music from, does not seem to want to stop - I guess that is the nature of streams, so developerWorks will have to wait, until something crappy comes down the stream...

Whenever I have the time and availability.

Wednesday August 27, 2008
02:18 AM

YAPC::Europe, Day 3

This is one of those journal entries, which should have been published a long time ago. Well the day after the last day of YAPC::Europe 2008 it should have been published, but the last day took a turn for the worse, which made me hesitate writing anything about the YAPC and the YAPC::Europe 2008 in particular until I had time to find out what to write.

I have been thinking this journal entry over and over again and I finally decided to sit down and just get it out of my system, the writing process would probably be good for me and for structuring my thoughts.

Day 3 went okay, I for one started feeling weary from the many days of conference. My dreams had begun to be extremely vivid, not your usual YAPC organizer nightmares, but just colorful crazy dreams, I expect to be a product to the exposure of so many people and inputs over such short time span. Anyway sleep was not sufficient and the organizing work is draining.

My wife call just after lunch, that they had called from the nursery that our youngest kid had a fever. We agreed she should pick him up, but I should come home as early as possible. I talked to tagg one of the other organizers and we agreed that I would leave in the afternoon, when things were slowing down.

The rest of the day went with practical duties and talking to attendees and speakers.

When I got home and the kids were activated and things was running smoothly I logged on to IRC so hear how things where going at the conference. The auction was still on and it just kept going... I was more focused on my fellow organizers being in charge of the clean up, so I phoned tagg and defekt and I was informed that it looked okay, there had cleaned up in the unused rooms and things did not look as if I was needed they were enough hands to close the venue down as soon as things died out.

The following days I was intensely scanning my RSS feeds for anything on YAPC::Europe, I skipped attending brian d foy's tutorial for which I was signed up, Sylvester was still having a fever and I was pretty tired too. I found this blog entry at first I thought, "What the guy never attended a YAPC before?", but it still bothered me, I heard that the auction had taken way too long and now this so I read some more blogs and talked to a few people attempting to get a picture of what had happened at the auction.

Attending Josh McAdams' 'Test Driven Development' tutorial I talked to some of the conference attendees and I got to see some pictures of the incident. A thread on Act users was also discussing the problem with the auction.

I have attended several YAPCs and I am of that opinion that the problems with auction has just been growing over the years. I am just incredibly saddened that it peaked at my YAPC. I will come back to the difficulties of being an YAPC organizer in a later journal entry.

I hope the 2008 auction does not scare people away from attending future YAPCs. It seems the Perl community itself is addressing the problems and nobody blames the organizers, as written earlier I will get back to this in a later journal entry.

I finally got to put face on some people from the Perl community I have not met before. There were also people attending whom I would have loved to talk to, but never got the time.

I also got to meet a lot of old friends and there where friend not attending that I hope I will see next year or perhaps at some other Perl community event, a lot of these seem to be popping up all over the landscape.

In general I had a marvelous conference, we made a lot of mistakes and there were many things we could/should have done differently or at least done and I have a large responsibility in this.

I personally enjoyed the conference in the extent possible (practically not seeing any talks) and it seemed like most people had a good time. I attempted to talk to as many people I could using people I already know as hooks in the crowd.

Tuesday August 26, 2008
05:55 AM

Note to self: Communicating with kids

I reflected over a conversation I have ever so often with my oldest kid, since it resembled something I picked up when reading about GUI dialog design.

The conversation normally takes place at the dinner table.

Me: Do you want more dinner?

Villads: No

Me: Are you sure?

Villads: silence

Villads silence has many reasons, it can be that he has started to play LEGOs or watch TV.

If I continue inquiring he will most likely respond: No

Which is of course not what he means, but it is the easy response.

So I need to practice dialogue with him to I can give him a proper chance to respond correctly to my questions.

Same pattern is important for graphical GUIs where I sometimes find myself confused about a certain dialogue, where positive and negative answers are required to complete a certain action. You often click the wrong button because of this.

So I do not blame Villads for giving misleading answers - I blame myself for confusing him.

Saturday August 16, 2008
02:41 PM

Workflow 0.32_3 released

I have just uploaded Workflow release 0.32_3, I had hoped to release 0.32 over the summer, but we received some bug reports, which need addressing prior to this.

I also got some more tests added to the distribution, which I apparently not had gotten packaged with last release, so having these tested in a more wide audience (CPAN-testers) would also be nice.

Anyway a new release will soon be in it's way.

Friday August 15, 2008
06:49 AM

YAPC::Europe, Day 2

Day 2 had no registration so things just started smoothly and continued all day quite smoothly.

tagg and I got invited to a YEF meeting and I signed up to the PR committee, I will write some more about this when I find out what it is all going to be about, I have plenty of ideas, but I better wait.

The conference dinner was to take place, so we had a lot of questions on how to get there. We had put the information in the Wiki, but all organizers and later helpful attendees did a lot of map pointing.

We tried to explain to the attendees that they should go via the metro, but not at a time since the metro here in Copenhagen is quite small. I went to pick up my wife and when I got to the restaurant, a lot of people was there and the party seemed to be on.

I got to talk to a lot of people and most people seemed to enjoy themselves.

I left a little early to be ready for the following day