james's Journal http://use.perl.org/~james/journal/ james'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:20+00:00 pudge pudge@perl.org Technology hourly 1 1970-01-01T00:00+00:00 james's Journal http://use.perl.org/images/topics/useperl.gif http://use.perl.org/~james/journal/ Wedding http://use.perl.org/~james/journal/21748?from=rss <p>[ reposted from <a href="http://www.whoot.org/">whoot</a> ]</p><p>Katrien and I celebrated our wedding yesterday.</p><p>We don't have photos yet, but what I can say is it was a wonderful day, and it (nearly) all went perfectly to plan. We're off to Zanzibar tomorrow for our honeymoon, and shortly after we return in three weeks we'll have photos available. If you can't wait that long I'm sure that there are plenty of pictures available from the various fotangoers/london.pmers that were there<nobr> <wbr></nobr>:-)</p><p>In the meantime, we'll be lying on a beach, and ignoring the existance of the rest of the world<nobr> <wbr></nobr>:-)</p> james 2004-11-07T20:02:20+00:00 journal Job Requirements http://use.perl.org/~james/journal/16163?from=rss <p><a href="http://www.whoot.org/archives/000011.html">Job Requirements</a></p> james 2003-12-04T11:06:12+00:00 journal Whoot http://use.perl.org/~james/journal/15683?from=rss <p>So I've decided to move myself away from use.perl, which has been wonderful fun, but whenever posted a random gripe or musing I felt kinda bad if it had no perl content.</p><p>To solve the problem I've gone and installed moveable type on my little box at <a href="http://www.whoot.org/">whoot.org</a> where I can write stuff without feeling guilty when the stuff is perl-free. I suppose I could have solved it by simply removing all non-perl stuff from my head, but that might have made my girlfriend leave me.</p><p>Anyway, in my Copius Free Time I'll update moveable type to look a little less like moveable type, and try to figure out how to get the perl-rich entries to automagically appear here as well...</p> james 2003-11-10T17:17:36+00:00 journal Asynchronous Pipeline Segments http://use.perl.org/~james/journal/15150?from=rss <p>I've lost count of the number of times people have asked for asynchronous segments in the Pipeline distribution. The problem was always coming up with a simple enough API for it.</p><p>Another thing I've wanted to do for a while was to seperate the act of dispatching the segments of the pipeline from the pipeline itself. This was a fairly simple one to do, but until I had an API for asynchronous segments there was no really compelling reason to do it.</p><p>So anyway, they are now both done. I need to spend some time on the code base refactoring the various bits and pieces that have been added, and I want the asynchronous segments to work independently of ithreads (and thats not too hard as it turns out), and then it will make its way on to the CPAN.</p><p><i>edit: asynchronous, even</i></p> james 2003-10-10T09:13:54+00:00 journal Last nights greasy hack http://use.perl.org/~james/journal/14061?from=rss <p>Last night I got annoyed with everything, sat down, and wrote a quick webphoto thing. It didn't take very long, and it works well, which means to put photos on the web I just dump them into a an image directory, and the software does the rest.</p><p>Whoot.</p><p><a href="http://www.ululate.co.uk/photoblog/">photos!</a></p> james 2003-08-12T12:56:22+00:00 journal I AM POWERLESS! http://use.perl.org/~james/journal/13949?from=rss <p>At 9:45 this morning the power to our office went out. Only it wasn't just our office it was for the entire block around us. It seems that everybody cranked up the aircon and something blew up somewhere.</p><p>I'm currently writing this on the last few drops of power in my laptop over some very expensive bandwidth - via GSM over bluetooth.</p><p>London Electricity say that they will turn the power back on at 1400, but I'm not holding my breath...</p><p><i>I really should go home...</i></p> james 2003-08-06T10:55:17+00:00 journal The results of thinking about merging http://use.perl.org/~james/journal/13806?from=rss <p>Right, so last time I said I was thinking about merging. So here are my thoughts.</p><p>If you detect a conflict (ie, the last local revision is older than the the last commited revision) you need to figure out if you can patch it.</p><p>To do this step, you find the greatest shared revision of both files and get a diff against them. Then you compare the hunks of the two diffs. If you have hunks that overlap then you have a conflict, and you need to throw that hunk away, or at least think about it very carefully before you attempt to apply it. Hunks that don't overlap are applied to the local copy.</p><p>If you don't have any overlapping hunks then the merge is flawless and easy -- its just a patch. I've not figured out how to do more granular merging but at least I can detect it and deal with it at some level, and this is a step in the right direction.</p><p><i>Now of course I need to implement it...</i></p> james 2003-07-31T13:24:45+00:00 journal I must be smoking crack http://use.perl.org/~james/journal/13770?from=rss <p>So the other day we are trying to use subversion, and its taking a long time, and the server keeps crapping out on us with segfaults, and I'm thinking to myself, how hard can this version control stuff be?</p><p>So, I don't have merge detection in yet, but I'm starting to build a plan in my head for it. Munge is self-hosting after 8 hours work, which ain't too shabby when you consider how long it took subversion<nobr> <wbr></nobr>:-) Done is commit, update, checkout, log and diff. I don't have anything travelling over a network yet, and I need to add user ids and the executable bits somewhere, but none of this stuff seems that difficult.</p><p>The source is on <a href="http://www.ululate.co.uk/munge/">my munge website</a> and I'm going to be playing around with this as often as I can over the next little while. Its kind of a fun project, and modifying the code should be much easier than, say, hacking on cvs.</p><p><i>I wonder what I can rewrite next week...</i></p> james 2003-07-29T23:26:26+00:00 journal Journey back from YAPC::Eu http://use.perl.org/~james/journal/13729?from=rss <p>So, Arthur, Katrien, and I all left Paris on Saturday evening on the 21:23 train to London. It was slightly delayed on the way out of Paris, but it shouldn't have been any big deal.</p><p>About 30 minutes into the journey Arthur and I noticed we were going far too slowly around a corner. We could feel that the train was leaning significantly, and it just didn't feel right. About 10 minutes after that we came to a stop.</p><p><i>*crackle* *crackle* Ladies and Gentlemen we are currenly, blah blah blah blah blah</i></p><p>It turned out that there was signal failure somewhere on the line. Despite having 3 other trains pass us while we were sat still. After an hour we chugged very slowly to Lille. Then we chugged very slowly through the tunnel, to Ashford, and then very slowly to Waterloo.</p><p>We got into waterloo at about 0330, and after an extremely long wait we got a taxi home (although to be fair to the eurostar company they did pay for it). We arrived home at about 0500.</p><p>While the conference was a lot of fun, it certainly wasn't worth that journey home. Next time, I'm flying.</p> james 2003-07-28T15:43:54+00:00 journal Back in One Piece http://use.perl.org/~james/journal/13416?from=rss <p>I am finally back from OSCON. Somewhere I seem to have lost a 24 hour period, but not to worry, I'm at home safe and sound.</p><p>Another fantastic conference is over. I had a really great time, and everything worked out fantastic. Of course the week before OSCON we were preparing everything for the announcement of the <a href="http://opensource.fotango.com/ponie/">Ponie</a> project, which seemed to consume all of our time. Despite a couple of minor hiccoughs along the way it all went very smoothly indeed , which is a testement both to the Perl Foundation and everybody at Fotango. It seemed to just take an instant from the initial idea that we had at my BBQ the week before to the announcement at OSCON.</p><p>All in all its been a great week and for that thanks is definitly due to Nat and Vee, as well as the rest of the O'Reilly staff...</p> james 2003-07-13T15:06:41+00:00 journal What a small world it is! http://use.perl.org/~james/journal/13381?from=rss <p>I was just standing outside having a sneaky smoke and I started talking to this random guy that had been hanging out in the lobby of the hotel 'cause he couldn't afford a ticket for the conference.</p><p>Anyway, it turns out that he worked for a company that did the American Airlines website, and they were based right here in Portland. Some of those that know me may also know that I worked at <a href="http://londongeek.org/index.cgi?ebookers">ebookers</a>.</p><p>At one point at ebookers we started evaluating a product that talked to the Airline GDS systems in an abstract way, so that (in theory) you could plug any of the big five in and it would just work. The problem with the particular product was that it didn't actually do what it said on the tin, and we felt quite a great deal of vitriol for the other company after the process.</p><p>Anyway, it turned out that this guys company got bought by the above mentioned one, and they basically got so fed up with them that they bought themselves back. It was cool to remember all the crazy shit that this particular company did - we knew lots of the same guys, and had worked with lots of the same people, and faced many of the same problems. Like I said, its a very small world...</p> james 2003-07-10T22:23:23+00:00 journal Cafe by the Park http://use.perl.org/~james/journal/13290?from=rss <p>Acme, sky, coraline and I are sat in a nice cafe in Portland where we've sat for the last hour and we're sitting and drinking beverages and typing away on 3 out of 5 models of laptop that Apple produce.</p><p>Free wireless is a good thing m'kay.</p> james 2003-07-06T18:40:01+00:00 journal At Last http://use.perl.org/~james/journal/13200?from=rss <p>Finally sky, acme, and I have gotten around to booking everything we can think that we need to book for the remainder of conference season:</p><p>Flights to/from OSCON</p><p>Hotel for OSCON</p><p>Train to/from YAPC::EU</p><p>Hotel for YAPC::EU</p><p>I hope that is everything that can be done in advance...</p> james 2003-07-02T17:05:51+00:00 journal Phew! http://use.perl.org/~james/journal/12959?from=rss <p>YAPC::NA is over. I am having a quiet day and relaxing around the hotel before I have to fly back tomorrow. Yesterday I gave my my 93KLOC talk, and it all seemed to go very well, with lots of people getting involved, commenting, and seeming to be interested in what I had to say. It's always nice to get some sort of feedback -- any feedback -- and this particular talk seemed to generate a lot, which was really good.</p><p><a href="http://use.perl.org/~2shortplanks/journal/">2shortplanks</a> paid me a big compliment in his journal, and while I'm not sure I think that I'm a particularly good speaker, its nice that _someone_ thinks so -- thanks!</p><p>This whole conference has been really great, for which I have to extend a huge thankyou to Kevin, Biz, and everyone who had a hand in organizing and looking out for the ~200 people that came. The location was fantastic, the tracks interesting, and cars big!</p><p>Its nice to get back to a conference after a year. Bumping into old friends and making new ones, and generally feeling revitalized with the fact that although the Perl community is very big, it can also be very small. Regardless of size however, it is inspiring, and I feel priviledged to be a part of it, especially after such a great week.</p> james 2003-06-19T21:03:25+00:00 journal Arrived @ the Doubletree http://use.perl.org/~james/journal/12852?from=rss <p>So, Acme, Pierre, and Myself (3/4 <a href="http://opensource.fotango.com/">fotango</a> guys. Had a swim, we're sat in the bar having a quick drink. merlyn wandered by, and we're on the lookout for anybody else who drops by.</p><p><b>Drop By #1:</b> Hi Damian!</p> james 2003-06-14T22:55:59+00:00 journal iBook Crash http://use.perl.org/~james/journal/12789?from=rss <p>* sigh *</p><p>My old iBook (not my shiny new PowerBook) has collapsed nastily on me. At boot I get a nasty black rectangular square with ribbon colours above the apple logo.</p><p>Anyone seen or heard anything like this before? A cursory scan of groups.google doesn't reveal anything.</p><p>So, save my pennies to get it fixed (it is out of warranty) or for a new laptop for Katrien?</p><p>Decisions, decisions.</p> james 2003-06-13T13:41:14+00:00 journal Magic References http://use.perl.org/~james/journal/12725?from=rss <p>I've been playing around with Perl over the last couple of days to see what I can do with references. I really get annoyed with having to test everything to see if it is blessed before testing to see if it matches the interface that I'm expecting:<br><code><br> &nbsp; &nbsp; if (blessed( $arg ) &amp;&amp; $arg-&gt;isa('Some::Class')) {<br> &nbsp; &nbsp; &nbsp; &nbsp; #<nobr> <wbr></nobr>...<br> &nbsp; &nbsp; }<br></code><br>So what I've been trying to do is get it so that references are automagically blessed into a class that shares the name of their reference type:<br><code><br> &nbsp; &nbsp; % perl -Mmagicrefs -MData::Dumper -e 'print Dumper( {} )'<br> &nbsp; &nbsp; $VAR1 = bless( {}, 'HASH' );<br></code><br>And it all works, so now I can do:<br><code><br> &nbsp; &nbsp; use lib './lib';<br> &nbsp; &nbsp; use strict;<br> &nbsp; &nbsp; use magicrefs; ## turn on magic references</code></p><p><code> &nbsp; &nbsp; my $c = {<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Auto =&gt; 'blessed',<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; refs =&gt; 'are',<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fun =&gt; '.'<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; };</code></p><p><code> &nbsp; &nbsp; print $c-&gt;keys-&gt;join(','),"\n";</code></p><p><code> &nbsp; &nbsp; ## or ##</code></p><p><code> &nbsp; &nbsp; if ($c-&gt;keys-&gt;grep( sub {<nobr> <wbr></nobr>/^[A-Z]/ } )-&gt;size == 1) {<br> &nbsp; &nbsp; &nbsp; &nbsp; print "right\n";<br> &nbsp; &nbsp; } else {<br> &nbsp; &nbsp; &nbsp; &nbsp; print "wrong\n";<br> &nbsp; &nbsp; }</code></p><p><code> &nbsp; &nbsp; ## or ##</code></p><p><code> &nbsp; &nbsp; my %hash = $c-&gt;deref;</code></p><p><code> &nbsp; &nbsp; ## or with the magic of deparse</code></p><p><code> &nbsp; &nbsp; print sub { 1; }-&gt;code(), "\n";<br></code><br>I'm guessing the chances of this going into the core are pretty slim however<nobr> <wbr></nobr>:-)</p> james 2003-06-10T10:38:45+00:00 journal Most bizarre module ever http://use.perl.org/~james/journal/12633?from=rss <p>What the hell does this do?</p><p><a href="http://search.cpan.org/author/SOFTDIA/Military-STD2167A-0.03/">http://search.cpan.org/author/SOFTDIA/Military-STD2167A-0.03/</a></p> james 2003-06-05T16:19:24+00:00 journal Bad people ruin good days http://use.perl.org/~james/journal/12044?from=rss <p>So just under a year ago my father dumped my mother on my doorstep. Now it turns out my father has moved the joint account into his name only (thats fine so far) but creatively keep both their names attached to both the line of credit and the credit cards that came with the account and that have, in the meantime, been maxed out (by him).</p><p>This wouldn't be so bad if he had a) a job and b) not disappeared.</p><p>There could be a perfectly innocent explanation for all this. Of course, chances are he's just an arsehole.</p> james 2003-05-06T15:24:14+00:00 journal YAPC and OSCON http://use.perl.org/~james/journal/11217?from=rss <p><a href="http://use.perl.org/~acme">Acme</a> and I are looking at our costs for getting to both OSCON and YAPC::NA. The problem is that at the moment it seems to be cheaper for us to fly to Miami, stay for a couple of weeks beyond the conference, and then fly on to portland before returning to London. Or at least for the airfares (significantly so, airfare for LHR/MIA is about 450 GBP, LHR/PDX is about 700 GBP, to do LHR/MIA/PDX/LHR is about 616 GBP)</p><p>The real problem there is that it is a month when we have to pay mortgages, accomodation, as well as taking a large amount of time of work. We need to find a low cost way of staying in Boca Raton in between conferences and its proving to be quite difficult.</p><p>There are a couple of avenues we have still to explore, but its all getting very complicated and confusing.</p> james 2003-03-25T10:43:38+00:00 journal Clicker http://use.perl.org/~james/journal/10750?from=rss <p><a href="http://versiontracker.com/dyn/moreinfo/macosx/18500">This</a> is one of the coolest bluetooth apps I've seen by far for OS X. No need to buy that remote control mousey thingy for doing presentations anymore...</p> james 2003-02-24T11:09:49+00:00 journal OSCON http://use.perl.org/~james/journal/10720?from=rss <p>Whoot! Looks like my talk was accepted for OSCON. The talk is about the sort of things that made the last year a success at Fotango - how we approached the development we did, and where we went right (and wrong). Anyway, I suppose I should sit down and compose my thoughts for the talk now...</p> james 2003-02-21T09:50:47+00:00 journal Ominous http://use.perl.org/~james/journal/10664?from=rss <p><a href="http://news.bbc.co.uk/1/hi/uk_politics/2780861.stm">UK Citizens told to Leave Iraq</a>. This is not really a good sign.</p> james 2003-02-19T15:28:10+00:00 journal Uh oh http://use.perl.org/~james/journal/10558?from=rss <p>I just hope they don't actually close down Heathrow tomorrow - I'm flying to Portugal with Katrien for Valentine's Day, and it would be a bit of a blow if we couldn't get there. Of course, it might be an even bigger problem if we couldn't get back. We'll see, I just hope it'll be all okay.</p> james 2003-02-13T10:41:14+00:00 journal Release Fever http://use.perl.org/~james/journal/10538?from=rss <p>We released the site just over a week ago now, so the obvious implication is that we don't have loads to do at this very minute. Because of that we're coming up with all sorts of interesting add-ons that are being hacked together - for example, monitoring the number of people using the site, plotting their locations on a map, counting the number of registrations etc, etc.</p><p>Its all kind of futile and pointless, but it is a great deal of fun<nobr> <wbr></nobr>:-)</p> james 2003-02-12T12:02:14+00:00 journal Objective-C Nasties http://use.perl.org/~james/journal/10430?from=rss <p>I'm really getting sick of Mail.app in OS X - its far too slow, and it doesn't fit in with the unix toolchain very well. To remedy my situation I sat down to write an mbox parser. The general algorithm I built first in Perl, to test its validity, and ran against several different mbox files I have, just to make sure it worked and was fast enough.</p><p>I then translated the algorithm into MailReader.m. It works fine for small mailfiles (I mean <i>really</i> small, like 4 messages). When I ran it on a small-medium sized mbox file (1280 messages) it blew up. Completely. The process grew to 1.8gigs before I gave up and pressed stop in the build-run cycle.</p><p>No wonder Mail.app doesn't use mbox, its impossible to parse using Cocoa without grinding the system to an absolute halt.</p> james 2003-02-06T10:00:57+00:00 journal Microreleases http://use.perl.org/~james/journal/10366?from=rss <p>After an argument about version numbers and a couple of small changes the site finally went live four hours after the planned release point. When you consider that this plan was put together over six months ago its not bad timing for the delivery<nobr> <wbr></nobr>:-)</p><p>Of course, no one can register unless they have a Canon digital camera, zoom browser, and the latest zoom browser/internet communications plug in thingymajig, which will be downloadable tomorrow.</p><p><a href="http://www.cig.canon-europe.com/">Canon Image Gateway</a></p> james 2003-02-03T17:09:07+00:00 journal Bad point http://use.perl.org/~james/journal/10358?from=rss <p>The new powerbook is a lot worse for fingerprints than the iBook. It looks mucky in what is decent sunlight. We don't get much sunlight at this time of year in the UK, so when we do I think I'd prefer it if my immediate thought wasn't 'Eww, look at all the mucky fingerprints'.</p> james 2003-02-03T11:55:30+00:00 journal End of Tunnel In Sight http://use.perl.org/~james/journal/10357?from=rss <p>Fotango have been working on a couple of projects for a long time now. <a href="http://opensource.fotango.com/">Vx</a> -- which Pierre's lightning talk at the last TPC introduced -- was built to support a whole bunch of other stuff. OpenFrame -- which was first released over a year ago now -- was built to support a bunch of other stuff. So today should see the lauch of the first site that is built on all of this stuff -- finally. The project has been long. Working with a <i>big</i> company as a client is hard. I'll be so glad when finally something is visible. If all goes well, I'll drop the URL here later -- I'm sure there is still a chance for a last minute panic.</p><p><i>Oh, and the various OS X window animations on the alpb make sense!</i></p> james 2003-02-03T11:18:12+00:00 journal Damn Apple, Damn Them! http://use.perl.org/~james/journal/10336?from=rss <p>I made the fatal mistake of walking past Microanvika today and I couldn't resist. I am now the proud (but considerably poorer) owner of a new 12" powerbook. Very tasty hardware, and the keyboard is much better than the iBook.</p><p>I'll post a better review of what I think of it when I've used it for long enough to know. Now I've got to go and hang some curtains as my pennance.</p> james 2003-02-01T19:15:40+00:00 journal