blech's Journal blech'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:05:16+00:00 pudge Technology hourly 1 1970-01-01T00:00+00:00 blech's Journal pydoc as a web server <p> <a href="">Simon Willison's weblog</a> recently pointed out that the Python documentation tool, <a href="">pydoc, could be used as a web server</a>:</p><blockquote><div><p>Simply type the following at the command line:</p><p> <code>pydoc -p 8888</code> </p><p>Then point a browser at http://localhost:8888/ to browse interactive documentation for every Python module available on your system.</p></div> </blockquote><p>Is there any reason why such a tool couldn't be made for Perl? What about one relying on only core modules, such that it could go into the core? The main questions I'd have would be the state of pod2html, and how to get a web server without relying on CPAN.</p><p>Anyway, it's an idea that might be worth embracing and extending.</p> blech 2004-03-25T10:18:17+00:00 journal My First Module: File::Type <p>I've finally uploaded a module to CPAN.</p><p> <a href="">File::Type</a> uses magic to find out the type of a file, like <tt>file(1).</tt> Of course, the observant will point out that this merely duplicates the functionality of File::MMagic (and, the eager CPAN watcher will note, File::MimeInfo).</p><p>However, there are a couple of problems with both of those modules. <a href="">File::MimeInfo</a> doesn't use magic at all yet, but merely glob patterns. It also doesn't ship with the magic file it references.</p><p> <a href="">File::MMagic</a> is the canonical solution to the problem, and it does include a magic file (inlined into itself). Each time File::MMagic is run, it recreates the rules it needs to match by parsing that inlined magic. This means it uses seeks within a <tt>__DATA__</tt> block, which causes problems within mod_perl. File::Type, by contrast, uses a seperate module (File::Type::Builder, which is included in the distribution, as is a magic file) to generate Perl code which is then included in File::Type itself. This means that the module can be very simple indeed, and it's safe to use under mod_perl.</p><p>However, as the version number should warn you, File::Type is still quite young. While it creates a few hundred rules from the magic file, there are still a hundred or so that it ignores because I haven't written the code generators for their pattern types. It's fine for many types of file (as the included tests show), though.</p><p>After releasing the main module (and the obligatory 'doh, need to bugfix' release), I thought it'd be fun to see if I could make an equivalent to <a href="">File::Find::Rule::MMagic</a>, which adds the ability to filter File::Find::Rule searches by mime type. It appeared on CPAN as <a href="">File::Find::Rule::Type</a> yesterday evening.</p><p>Enjoy.</p> blech 2003-08-27T11:36:31+00:00 journal MP3s and Perl- a talk <p>Well, as promised in my last entry, I've given a talk on 'Managing Digital Music Collections with Perl', after having crash-tested an earlier (not significantly different) version on at the technical meeting last Thursday.</p><p>Both times it went reasonably well, and although I get fewer laughs today I was happier with how I presented it. There was a little gentle ribbing about my choice of mp3s on IRC, it seems, but that's fine; I knew they were a little rubbish.</p><p>Afterwards, <a href="">davorg</a> mentioned that he, too, had thought about (and in his case started writing) an easier tagger that doesn't require knowledge of id3v2 tags. After I persuaded <a href="">acme</a> to write <a href="">MP3::ID3Lib</a> in January, I always meant to work on a nice wrapper, but never did get round to it (partly because I'm still having problems with compiling the library on Mac OS X). I suppose that's back on the front burner, as it were.</p><p>Also under consideration is <a href="">MusicBrainz</a>. It's showing a lot of potential (more so than my never-released FreeDB noodling) but there are still a couple of gaps. I'm not over-enamoured with the reliance on a C library, either; my old Mac OS heart beating still. I'm starting to think about how to use it directly. It doesn't look <b>too</b> hard. (Famous last words?)</p><p>In any case, now it's over, you can <a href="">read the slides</a> (and notes (which need work), and code (which mainly works)), and I can think about the speaker's dinner and doing a writeup of the rest of the conference tomorrow.</p> blech 2003-07-24T16:32:43+00:00 journal Digital Music talk at YAPC::EU <p>Once I send the acceptance email, I should have a slot at YAPC::Europe, talking about "Manging Digital Music Collections with Perl", or "id3: how you hate it but can't live without it", as it should really have been subtitled.</p><p>So that's a month in which to make my code look pretty and then write about it. It's a good thing I cunningly took a week off to get the bulk of it done, really. Oh, and that I have a digital music collection to manage, but that's hopefully universal enough to interest people.</p><p>With that, <a href="">essuu</a> organising the hotels (thanks!) and a ticket to ride on the shiny <a href="">Eurostar</a> <a href="">TGV</a>, things seem to be set fair for Paris.</p> blech 2003-06-19T09:16:44+00:00 journal Pith, a nice Safari add-on <p>Earlier today I found a strange little app called <a href="">Pith</a>, which provides a floating window menu for Safari. Now, that doesn't sound very impressive, but given that it hides when Safari isn't frontmost, and that it's fairly configurable (you can change how it orders windows, and whether it shows up in the Dock) it's damned useful.</p><p>However, <a href="">Tom</a> really found it useful when Safari crashed and it maintained his current window state, so he could recover his session. Also, for those of you who like tabbed browsing (and no, I <a href="">don't</a>) there's an option to open windows within the same frame (which I haven't tried).</p><p>Like <a href="">PTHiTunesNotifier</a>, it's a sign of how far you can get with a decent IPC mechanism (in this case, AppleEvents). And, of course, Perl can speak them too, directly or via AppleScript. Which is nice.</p> blech 2003-02-03T17:07:09+00:00 journal Election fever <p>Well, it's a year since I became <a href="">'s leader</a> and that means it's time to get a replacement <a href="">elected</a>. The rules are very similar to those <a href="/~davorg/journal">davorg</a> used last year, but with a slightly less stringent nomination procedure and a small change to make sure all the candidates are human. Sorry, <a href="/~amelia/journal">Amelia</a>.</p><p>I do wonder if I shouldn't have used this journal more for leadership things. I've been fairly quiet on list, too, although those of you on IRC will have seen the grumpier, angsty, decision-making me as well. At least people like <a href="/~2shortplanks/journal">Trelane</a> and <a href="/~acme/journal">acme</a> have documented technical and social meetings even when I haven't. On the other hand, I'm not sure I've found any great insights into leading a PM group, following on largely from davorg's excellent start. I've not had to face too many hard choices, and our problems now mainly stem from the large numbers of people on list and at meets, something I'm sure a lot of other groups envy.</p><p>In any case, it's been an interesting 11 months, and here's hoping the final month or so of my leadership passes easily enough.</p> blech 2002-10-30T18:14:40+00:00 journal Mindless OS X link propagation <p>I don't usually just post links to use.perl; there's <a href="">scribot</a> for that. But given how Mac OS X seems kind of <a href=";aid=-1">popular around here</a>, I thought the excellent <a href="">Ars Technica review of Mac OS X 10.2</a> deserved a bit of plugging here.</p><p>Oh, and for the record, that vote for Mac OS? It was me. I'm still way too attached to the old Finder to leave, even though 10.2 does address some of my problems with the new Workspace. Sorry, Finder.<nobr> <wbr></nobr>:)</p> blech 2002-09-05T16:17:17+00:00 journal RSS Feed Collation <p>Way back in July, there was a fairly big <a href="">thread</a> ensued on use.perl about people leaving, and keeping track of their journals. In the wake of that I knocked up <a href="">a bit of code</a> that visits a site, reads the RDF feed, and generates a listing a lot like the use.perl friends page. (Note that RSS 0.91 feeds are a bit useless, as they don't have time metadata. More on that later.)</p><p>I've been prompted to revisit it because <a href=""></a> is looking at how (and whether) to revamp the site, and it struck <a href="">acme</a> that maybe collating people's journals would be a good idea. It turns out that plugging the <a href=";op=rss&amp;uid=1597">RSS feed</a> of this journal into the CGI works fine, except it doesn't have a timestamp on the entry. (Pudge? Please?<nobr> <wbr></nobr>:) In any case, hey presto, instant community content!</p><p>In a similar vein, I've seen an interesting collection of blogs on <a href=""></a>, which instead of presenting snapshots of entries like my code does, provides a chronology of updates. This is also pretty nifty.</p> blech 2002-08-22T09:15:40+00:00 journal YAPC::NA 2.4- context, cpanplus and conversation <p>I thought there should be some more context for the last post, which was the edited quotes from the movie <a href="/~gnat/">gnat</a> shot. That was the context. There do seem to be plans to post it online at some point, and I recommend you watch it.</p><p>I spent a good hour in Jos Bouman's CPANPLUS talk. It was quite amusing how some of the issues that started the whole CPANTs drive have been solved already, to some extent, by the project, and how some of the other queries around it were general packaging queries. I'm really looking forward to the 0.4 release, which seems to have a lot of really nifty goodies in it, most notably (for me) the packaging tools, which will hopefully let people who want to use their distribution's packaging tool as much as possible do so happily.</p><p>Once hachi had emerged from the Perl6 BOF dha, DrForr and I got our lift to the barbeque |siv| was hosting at his house out in the 'burbs. There didn't seem to be that much Perl talk going on, but I did kick about a 'soccer' ball for a bit (handy hint: this is not good in the humidity and heat of St Louis), listened to gnat and pudge play guitar in the garden, talked to various people about travel experiences, cloverleafs, accents, smoking, reunions and of course beer. (Someone managed to bring some Young's Chocolate Stout and another beer- from the US, I think- I forget the name of which really impressed the locals.)</p><p>In any case, it was a good party- the social highlight so far by far- and I seem to be doing well so far in hangover taming...</p> blech 2002-06-28T13:39:05+00:00 journal YAPC::NA 2.3- lightning movie <p>Unicode, a strapping hunk of manhood, testosterone crazed loons and being fondling, he ate me, cartoon porn and collectible card games, checks are for farmers, I came to realise it was a joke, a max_int number of monkeys, uri is scary, singularites in the code space continuum, backports to Perl1, look at the error message! the error message is GOD!, Perl can do everything. Guess you did get the YAPC thing down.</p> blech 2002-06-27T22:29:31+00:00 journal YAPC::NA 2.2- lighting strikes <p>This afternoon wasn't quite as frantic as this morning's six talks, in one way, since you didn't have to decide where to be as often. I decided to camp in the room with Jos's CPANPLUS talk, which was interesting although I think I paid a little too little attention once again; the fact it has interfaces to many package management systems had passed me by (and Aevil managed to volunteer to build Solaris packages, too, I think). That was nifty. I was fighting various installation problems on OS X during the talk on TERN, which would have gone over my head anyway, I suspect.</p><p>The main reason I was camped in that room was for Adam Turoff's talk, advertised as SOAP but really covering XML-RPC and REST too. In the end it was more of a high-level overview but it did help clear up the distinctions between them. I'm not sure a longer talk would strictly be useful. Following that was a talk on getting through authenticating firewalls with Perl's socket programming, which again I paid slightly too little attention to.</p><p>Lightning talks followed, with Adam Turoff doing two good talks, on learning from other languages (FORTRAN, Lisp, Smalltalk, C++ and Forth) and why Perl6 is a good thing. There were also talks criticising the community's handling of social issues and which seemed to go down badly on IRC, but which I thought had a kernel of truth; Allison Randal, a newcomer to the Perl community who's involved in Perl6 design, who did a Dr Seuss style poem on the new language, and other talks on graphing web sites (acme would be proud), using Getopt::Declare, buidling complex websites, SNMP and a few others that seemed to have less impact my memory. Oh, we're just about to get gnat's movie...</p><p>Once the lightning talks finish (yes, I'm being very bad and blogging them during the time allocated) there's a set of BOFs; I think I'll go to the CPANPLUS one, continuing my avoidance of pretty much all the Perl6 stuff (sorry, people). There's also a barbecue on later, which I think I've managed to get a lift to.</p> blech 2002-06-27T22:21:13+00:00 journal YAPC::NA 2.1- presentations, images, modules and patches <p>Today started with a fun little meeting in the lobby whilst waiting for the bus to the conference, while mjd castigated people for giving away his talk (by reading the Big Orange Proceedings Book and remembering them), and there was also some talk about Mail::Audit, Procmail and non-crispy duck.</p><p>After arriving I went to Adam Turoff's talk on open-source presentation tools. He swiftly pointed out why Powerpoint won't do, covered the shortcoming of both Magicpoint and HTML slides, and pointed out Projector (which runs on Perl/TK), TeX to PDF tools (which he doesn't use as he doesn't know TeX, which I can identify with) and AxPoint, which he settled on and I might have a look at (being similarly enamoured with XML myself; I'm aiming to see his SOAP talk later.)</p><p>Following that I stayed put partly as it was easy, but Casey West's talk on Imager turned out to be interesting. Imager is somewhere between Image::Magick and GD, although if I heard right it doesn't use C. Anyway, the talk was a good quick intro to writing things, and it looks like it can handle at least TrueType fonts, so I'll think about giving it a go.</p><p>A quick run down the corridor to Brown 100 led me to Simon Cozen's talk on his top ten useful modules. He cheated a bit by including a couple of bundles, but the plugs for XML::Simple (something I like) and POE (see yesterday's entries), along with a bunch of others which I'd largely come across already (even if I didn't use them).</p><p>I stayed in that room while mjd talked about Mailing List Judo, or how to get your patch past the minefield that is p5p. It was very amusing, even to a non-p5p reader like myself.</p><p>For lunchtime, pizza has been ordered and paid for. Mmm.</p> blech 2002-06-27T16:16:45+00:00 journal YAPC::NA 1.2- mjd's talk and an evening out <p>Yesterday afternoon brought mjd's Stolen Secrets of the Ivory Tower. Mcdonnell 162 was quite a bit busier for this talk than for Jos's POE talk earlier, despite the draw of Damien's Perl 6 talk which seemed to be the other choice, at least of #perl-ers.</p><p>Someone described the talk later as 'mjd tries to get functional programming taught without letting you know'. The first slide is fairly upfront about the aim, pointing out that most Perl programmers either learnt C first or learnt from people who did. After this he talked about solving Towers of Hanoi, seperating algorithms from presentation, recursion, callbacks and avoiding the pitfalls thereof, caching and Memoize, closures and iterators. I particularly liked the use of user parameters to make callback programming easier (the new <a href="">scribot</a> front end has to do nasty things to capture URI::Find's results, which could be avoided).</p><p>There were a couple of amusing digressions, including mjd finding a stick, and a rant on the superiority of the ISO date and paper size formats, but sadly there was a bit of bogging down in explaining closures so some of the later slides (handily presented in the bumper conference notes) weren't presented in time, which is a shame as I think I'd have gained from hearing them rather than reading them.</p><p>A bunch of folks headed up to the Loop (the only bit of St Louis I've seen far, except one, that seems to have nice shops and bars) for Thai food (with a bunch of people involved in either Parrot or Perl 6, it seems) before heading back to the BOFs, but I decided instead to have a quick drink before heading back to the dorms and collapsing (at which point people finally asked about the PIMB t-shirt I was wearing)., so hopefully (despite the early rising) I've almost got jetlag kicked. It was a shame to miss the TT BOF though. Ah well.</p><p>Now it's time to catch the bus, nearly.</p> blech 2002-06-27T12:28:53+00:00 journal YAPC::NA 1.1- keynotes and poe and card games, oh my <p>This morning the conference started properly. I had no problem getting up (jetlag is still confusing my body, I think; it's not sure if it's 6am, noon or some time in between, but it's definitely not going back to sleep). Anyway, thankfully this meant I was in plenty of time to pick up croissants, eat muffins and get a seat well before Lenzo introduced us to the people who'd organised it (thanks Sarah and the others, especially for handling panicky emails from stoopid Europeans) before handing over to Larry for the keynote.</p><p>Despite the <a href="">difficulties with projection</a> Larry had it was an excellent keynote, even if you didn't get all the <a href="">subtleties</a> of the Lord of the Rings books he was using to build his allegory (despite reading from the intro to FotR where Tolkien explicity rejects reading his novels as an allegory for the Second World War. On the other hand, I suppose that doesn't rule out building an allegory from them. Anyway, I digress). One of the analogies I liked comparing learning Perl before C to reading LotR before the Hobbit; there were many others, and if there's audio of the talk online (and I hope there will be) you should have a listen, although it works less well without the slides.</p><p>There was a choice of talks after this, and unlike most of the people who've written journals so far, I opted for Jos Bouman's <a href="">POE</a> talk, since I've played with it a little and wanted to understand it better. Jos did a good job of building up from the core of POE through sessions, wheels and components, with a couple of versions of an example TCP serving application. I'll only be using POE through components, I suspect, but even so it was useful to get to grips with the underside of the system.</p><p>Lunchtime brought a nice box of food, a very strange card game based on the dot com bubble that Shane Landrum brought down from Boston (I think) and a chance to write this. So far I'm planning to see mjd's talk, after davorg and others recommended passing on Damian's talk.</p><p>Weather? Sunny, warm, and hence I'm avoiding it like the plague...</p> blech 2002-06-26T18:46:17+00:00 journal Yet Another YAPC Day 0 Post <p>Tuesday was the day everyone seemed to turn up to the conference. However, Adeola and myself flew in on Monday, hoping that the extra day would help us get over jetlag and give us time to see some things before the conference started. Sadly it rained for a large chunk of the day and we couldn't find anything that, to me, resembled a city centre. Still, riding the Metro was interesting.</p><p>We turned up at the dorms at 5, quickly found ourselves in our rooms, connected to the internet (that was nice), found the dorms had showers in (that was nice too) and went down to meet the other folks. Ingy recognised me (which was also nice) and a guy called Steve drove some of us to Wash U (as they say here) to register (which was very nice of him).</p><p>A whole bunch of people were milling around during and after registration, and we were soon herded towards a bar called, I believe, Blueberry Hill, where we proceeded to drink alcohol (except, of course, the under 21s [0]). As you'd expect, this being my first non-European YAPC, there were lots of new people to meet, with faces placed to nicks and email addresses.</p><p>Keeping the reputation up, I was one of the last people to leave, with the aforementioned Ingy, who seems to be the dumrats of this side of the pond. (People who were in thye hotel in Amsterdam last August will *definitely* get that reference.)</p><p>So we're all set for the conference, with our vast ringbinders of notes, our free pens, lanyards and name badges. (I'm one of those people with a nick on mine.) Now, if I can squeak some more sleep....</p><p>[0] This is my second time in the US and I think the culture shock has hit me harder this time. I've certainly begun to be a little monomaniacal in conversation, I fear. St Louis is certainly less metropolitan than NY, funnily enough, and perhaps that's a factor, and maybe it's being around other people more this time.</p><p>In any case, I was carded, twice, tonight, which is a profound shock to me as it's never happened in the UK, and I'm ten years over the (British) legal drinking age. Thankfully I had my passport on me. Perhaps those guide books are worth reading after all.</p> blech 2002-06-26T11:43:57+00:00 journal Haphazard reinstallation woes <p> have their very own <a href="">box</a>, called penderel (after one of the <a href="">pubs</a> we used to visit. Unfortunately it's been less than reliable recently; there's not been anyone regularly sysadminning it and the graphics and network cards seemed able to make it die regularly.</p><p>A couple of weeks back <a href="">Alex</a> replaced the graphics and network cards (and is in the process of getting a new motherboard and processor), and since then it's seemed stable, but the underlying problem that no-one was willing to sysadmin it remained. More seem to favour Debian than anything else, and after the usual interminable IRC debates, I decided that I may as well spend one day of this long weekend replacing the existing RedHat install.</p><p>Unfortunately, things didn't go to plan. The most serious hiccup- and entirely my own fault- was that I didn't back up the existing install. I thought I'd taken backups of<nobr> <wbr></nobr><tt>/etc</tt>,<nobr> <wbr></nobr><tt>/var/log</tt> and , but I'd managed to back them up to<nobr> <wbr></nobr><tt>/root</tt> not<nobr> <wbr></nobr><tt>/home/blech</tt>, and that got deleted when I reformatted the main partition.</p><p>LILO also seemed inexplicably unhappy, so for now penderel relies on a boot floppy, and I'm only slowly putting back all the user authentication that I managed to lose. Mailman doesn't quite seem happy either, despite one test message making it through, and the nameserver has vanished as well, unsurprisingly. On the other hand, it is at least running a system that plenty of people can admin, and the website is up.</p><p>I'm not sure whether the moral of this story is to delegate, or to do things properly yourself.</p> blech 2002-06-05T10:34:05+00:00 journal Phew, a tech meet done and dusted <p>Well, the time swung round for the first technical meeting during my stint as leader of It was a week late (since I left it a bit late confirming a venue; <a href=""></a> hosted their second meeting in a row, which was great). The turnout was a little less than the November meeting, but that was fine as the meeting was a bit crowded last time, and through no fault of the kind volunteer who was meant to be bringing a projector, he couldn't. We ended up using a biggish monitor and hoping.</p><p><a href="~richardc">Richard Clamp</a> was the first to speak, talking about his scary hacking with parameters. Then <a href="~davorg">Dave Cross</a> stood in while Mark booted his laptop and gave his <a href="">Idiotic Perl</a> talk, which will ring bells for those of you've been keeping up with his journals. <a href="~2shortplanks">Mark Fowler</a> spoke on the building of the 2001 <a href="">Advent Calendar</a>, which seems to have been a triumph over adversity of some magnitude, and also revealed some of the thoughts he has for the one next (uh, this) year.</p><p>After the break, Nick Clark talked about his work in long numbers for Perl 5.8; it all looked nice and scary. Finally <a href="~acme">Leon Brocard</a> plugged <a href="">Parrot</a> a bit more; it was a good update on what's in there (yay, Perlish PMCs!) and it seems to have encouraged a few more installs, and critiques on documentation, which is all to the good.</p><p>Anyway, it seemed to go fairly well, which was a nice surprise, and there's only five more to go before I hand over the reins later toward the end of the year. If only I could delegate this all to someone...</p> blech 2002-01-25T14:08:53+00:00 journal Aargh <p>Um, it's been a bit quiet on this journal front. I've been up to annoyingly little, but it seems a bunch of people on IRC thought I could make a good leader of a Perl Monger group, and forty-odd other people on a mailing list agreed, so I'm now (nominally, to use the favoured phrase of my predecessor) in charge of On the other hand, the other choice was a <a href="/~amelia/journal/">stuffed beany baby camel</a>, a fact that's keeping me from self-congratulation.</p><p>Of course, this happens just as the pub we'd settled on after a year of on-off searching decides to close for refurbishment for six months, the Christmas and New Year holidays (and hence the fact that maybe the January meeting- which should be on the third- may be postponed to save our aching livers) and an upcoming technical meeting that I've not done anything about, because, well, it was someone else's problem before.</p><p>Still, we have other pubs we can go to, once a date is set people will probably turn up, and there may be a venue for the technical meeting, which is the first big hurdle overcome, so it may not be all bad.</p><p>There should probably be a witty conclusion here.</p> blech 2001-12-17T22:40:55+00:00 journal Fear of Flying <p>Not much interesting code to report upon (although I did make the front page, at least, of <a href=""></a> XHTML compliant), but there was a technical meeting last night, so here's a quick summary.</p><p>After the obligatory announcements, and the squeezing of a quart of into the pint pot that was <a href="">Reading Room's</a> conference room, I gave my talk on 'RSS, Infobots and You', which was a demo of my <a href="">bbc news</a> rss convertor as discussed previously here; despite basically wittering off the cuff it seemd to go well. Another few patch ideas came from the audience, and I really should check out that ticker.</p><p>Then Michael Stevens and Richard Clamp gave a brief overview of <a href="">Pod::Coverage</a>; people seemed to ask a lot of questions, but this was apparently a good thing. Then Michael talked about <a href="">Mail::Listdetector</a> and urged us all to test it for him; a nice idea, but being the Mac recidivist I am Eudora Filters work for me.</p><p>As the last talk before the break was the epic Wax::On, Wax::Off, surviving (mainly) undaunted from two laptop failures, a lack of dual head displaying, the usual heckling and muttering and the fact that some of the audience had heard all the jokes before. A sterling effort.</p><p>After a break so we didn't all suffocate each other, Simon Cozens turned up to talk about the <a href="">Parrot virtual machine</a> (which someone- Piers, perhaps- suggested might be better known as the Parrot Virtual Computer, purely for its initials). Leon talked about his work in converting Java bytecode to Parrot bytecode, which is, um, interestingly scary, and then we had a Sekrit Talk that didn't happen. Honest.</p><p>After that we, obviously, went down the pub, where Trelane and I discussed various infobot hackery. In a shock move for the group, people seemed to go home on or about pub closing time, but even so, it was a good meeting. Hurrah.</p> blech 2001-09-21T10:01:58+00:00 journal Yet Another RSS Feed &amp; Adventures in Infobots <p>Today had one of its occasional hiccups when the box that two of our bots (and the domains of at least five Perl mongers) dropped off the net for most of the working day. Thankfully I'd downloaded the <a href="">infobot</a> sources the previous day to try and find out why googling didn't work any more. it turns out the fix to that is pretty straighforward: in Extras/ make the previous</p><p><tt> my $Search = WWW::Search-&gt;new("$where");</tt></p><p>into</p><p><tt> my $Search = WWW::Search-&gt;new("Scraper::$where") ||<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WWW::Search-&gt;new("$where");</tt></p><p>which pdcawley figured out about the time I was beginning to read about this new Scraper lark. Our discussion about the problem on channel led newcomer mordred to fix the long-standing issue with currency conversions dropping back to Zimbabwean Dollars, and also the problem with it not being able to convert Euros (quite a problem during the YAPC::Europe auction, it turned out). I'll link to it once I've tested it myself.</p><p>Hence today I launched my copy of infobot as a temporary respite for people who like talking to bots not people (me included) and finally realised this was the time to put into gear one thing I'd been meaning to do for ages: a BBC News RSS feed. This was remarkably quick to knock together: take one <a href="">low graphics</a> website, LWP, some regular expressions, XML::RSS and an infobot, and hey presto, a working feed.</p><p>However, this was on my local machine, behind a firewall. Soon after I'd finished, my regular host came back online, so I excitedly uploaded the little CGI script to a more stable host which other infobots could see. Oh dear. When it got there there was no XML::RSS, no XML::Parser and no Expat. So, a bit of rather slow building later, and the script executed, but it wasn't returning any headlines. Changing the LWP::Simple interface to full LWP helped, but then the script became slow enough to fall foul of infobot timeouts (which mstevens found before I did). Increasing that from 10 to 20 seconds finally let the <a href="">finished script</a> <a href="">return RSS</a>.</p><p>Of course, once I got it working and introduced to the channel, a couple more possibilities got banded about. DrHyde wanted the tech news pulled out too. Sadly, the low-graphics tech index is nastier to parse, and the full page would probably slow the script even further. Handily, there's a feed designed for <a href="">news tickers</a> which is already used by a couple of Freshmeat projects, which includes the tech news, and as a bonus the London temperature. On the flipside, it's updated less regularly. Still, there may be a rewrite soon to use this.</p><p>And all because the Londoners like their local news.</p> blech 2001-09-05T22:09:04+00:00 journal Adventures in OS X <p>Two and a half weeks on from YAPC and still no code to release, mainly due to well documented excursions like <a href=";uid=968&amp;id=655">ingy's reappearance in London</a> and going to see the <a href="">camel</a> <a href="">London Zoo</a> (another cat-herding expedition I was foolish enough to take a role in). Work's been busy with, erm, what I'm paid to do, too, so not much chance to do stuff there either.</p><p>On the other foot, I have been messing about a bit in between these excursions. I've learnt enough XPath to use XML::XPath to reimport an XML data structure to a Perl one; I've started to understand Python as a language (well, to read it, anyway) and hence to realise how badly my first version of this code is (but then, always plan to throw one away, right?), and I'm trying to read Mastering Algorithms In Perl at bedtime because <a href="~davorg/">dave told us to</a>.</p><p>I've also installed OS X, and played around in it a bit more than I had for ages. Those of you who know me will realise I'm an OS X refusnik- the combination of an OS 9 laptop and Unix box is fine for me most of the time- but I did play a bit with the developer tools today, at least to the point of installing- well, see below- all the modules I need to run this new code (and no, I'm not going to say what it is until it's ready, although the IRCers in the audience know I've been banging on about it Far Too Much already).</p><p>I was a bit taken aback by how many modules I needed to install just to get this code to run. I suppose this happens a lot- you chuck in a module, then realise another would be nice here, and suddenly you have three dependencies, each of which of those has three dependencies, and suddenly you're running cpan shell for an hour downloading them (over a modem). Then I realised one of these was the aforementioned XML::XPath. Which requires XML::Parser. Which requires Expat. Which didn't build.</p><p>I don't do C, so that was the point (after about 3 hours in OS X, complete with a some Finder crashes, IE pegging out rendering sourceforge, and a couple of kernel panics) that I decided to go back to safe homely OS 9, even if I did have to do everything over AFP.</p><p>Ah well. I might (if I'm terrible enthuasiastic) ask someone about expat and OS X tomorrow. More likely I'll just try and get the core code done one evening. Unless, of course, beer intrudes.</p> blech 2001-08-21T22:21:40+00:00 journal The Auction <p>OK, I said no more non-perl content, but I typed this in during the auction, but it got lost, so I'm recreating it from memory, even though binky's covered some of it. I'll go quiet after this. Honest guvnor.</p><p>So after the final talk, there was the farewell, with lots of well-deserved applause; my particular thanks go to Jouke for organising the hotel, which was very helpful in getting a lot of the Londoners over, involved, and, um, drunk too. Greg McCarroll started a raffle for t-shirts and cards, with typically British pronunciation of the foreign names (and no, I wouldn't have done any better). Then came a rather involved explanation of Dutch bidding and Redvers Davies GTK app, and the sale of lots and lots of books.</p><p>However, there were several odd items interspersed within the shirts and books. Firstly, Greg himself competed with <a href="~davorg">davorg</a> for the date for the official meeting date: first Thursday of the month, or the day after the first Wednesday of the month (see <a href="">the</a> FAQ for more). After getting out of their depths, each side attracted a posse of supporters; davorg had the numbers, but Greg had the money, and cunning- promising beer to defectors then pulling an IRC bid out of the air to win the day.</p><p>Also auctioned were dedications of modules and japh/obfuscated code, and (naturally) signed pictures of Buffy and Willow. Greg also sang, which drove up profits enormously. Anyway, all good fun, and I'm glad I was there.</p> blech 2001-08-05T21:49:14+00:00 journal YAPC::Europe- final day (all in one! for once) <p>The pub crawl was last night. We went back to the Wildemaan, except this time there were about 50 of us, and half of us didn't dissappear into the neighbouring Bon Ton, so we completly blocked the hall. Pictures of the pub crawl (numbers 62+) and the #perl photo (55-61) are at <a href="">the usual place</a>. It was nice to sit and hear sky and richardc discuss internals.</p><p>Unfortunately <a href=";uid=1662">richardc's</a> laptop died last night. I joined the mourning (it used to be mine- long story) but I did gain two batteries today, which gives me six hours, more or less. I haven't plugged in once and have been online more or less all day. It's nice. Shame they're so heavy.</p><p>This morning, I made it in for the keynote, which has been covered elsewhere, then Greg's 'Stone Soup' talk, which was fairly amusing and interesting. Skud's <a href="">Reefknot</a> talk was interesting, too; despite being unfinished, it was the highest quantity of Perl this morning, and it mentioned, which is a mailing list for, um, Perl people with an interest in date and time. Thanks to <a href="news://"></a> I can catch up with it, which is nice. Then pdcawley's 12 step, where I was self-appointed URL fetcher. Interesting confessions, but I wasn't brave enough to do mine.</p><p>We also got to see the infamous (on #perl, anyway) Steve Ballmer dance, monkey boy, dance video on the big screen- you should check it out (and the preceeding paragraph) at <a href=";line=46#l">NTK</a>. Interesting, especially at a conference- we've been thanfully free of monkey dancing...</p><p>After lunch, when I found out how much I have to learn about makefiles and with binky's help, downloaded to hack on. Then up for <a href="">Wax::On, Wax::Off</a> which went pretty well. As the appointed video editor, it seemed to come out well enough; the Quicktime captures from last week were OK, nobody noticed the edits (I think) and the only video to fail was a DivX. Heh.</p><p>Then a run across the conference for, which is interesting, but not quite what I expected, and then down to the Security Bloopers talk. This was <b>scary</b>. There were 100-odd plain text passwords sniffed. 37 of these were POP3 (which I hopefully dodged due to SSH tunneling traffic), 27 telnet (misconfiguring PuTTY or idiocy? you decide!), 8 ftp and, um, 30 http. I'm <i>sure</i> one of those was my password. There is no, and the password isn't even vaguely encrypted in the cookie that I use to authenticate myself. I can't change the password without, um, entering it in plain text. Consider this a feature request &lt;g/&gt;</p><p>The analysis of the sniffed passwords was interesting too. More disturbing than the 30 passwords based on dictionary words were the 3 that were username eq password. It also seems we had two Code Red infected web servers. <b>sigh</b>.</p><p>Just the closing speech and auction left tonight. After that, I may not have bandwidth, so I'll probably not write again until <i>cough</i> I have some perl programs or modules to share. Ahem.</p> blech 2001-08-04T13:52:43+00:00 journal 'tainted perl' <p>After sky's POE talk, I stayed put for mod_perl 2.0, which mainly whizzed past me but the calling perl from php and vice versa sounded, um, interesting, especially from work's point of view, as did the autobuild concept. Might have to have a look.</p><p>At lunch the laptop took exception to sudden removal of the wireless card (so I won't do that, then) and POE revealed a burning need for a makefile, so I need to figure out how to pull all the bits together to make that work. I'm sure there are tutorials linked somewhere off, so it's probably just Google and grokking. I hope...</p><p>This afternoon I've been shuttling between $room[2] and the O'Reilly room for the lightning talks. Upstairs, that meant H.&#160;Merijn&#160;Brand's ebullient espousal of getting involved in p5p (and the use of format statements, which feels like such a throwback these days &lt;smiley/&gt;) and Hugo&#160;van&#160;der&#160;Sanden's look at tainting and regular expressions, which was a little utilitarian as talks go, but useful, and it's nice to see people driving vi well- gives me incentive to get better.</p><p>Downstairs, the pick of the lightning talks was probably Jeremy Gurney's anti-security parody (although of course including Acme::Buffy was always going to convert the London posse), while Ingy's Larry Wall and YAML talks were a recap of stuff from Monday (for me) but still good. (His Inline talk, which I passed up because I'd seen a version on Monday, seemed to get a good reaction, from what I saw at the end.) Nicholas Clark made good use of not using a computer, and I think I vaguely got the hang of what the C core does, a bit, for arithmetic. Oh, and Marty did another scary Quantum module, but then I'd previewed that one too. ( is a Good Thing for technical meetings.)</p><p>Pub crawl and #perl photo tonight. I might not make an entry tommorow morning quite so early...</p> blech 2001-08-03T15:34:59+00:00 journal Brane fading Forgot the photos. Unfortunately the indexer's not ready yet, so you just get a directory listing, but it's <a href="">here</a>. If anyone can explain why there's a <a href="">giant papier machier cow</a> in Schipol, I'd like to know. blech on the Usual Channels. blech 2001-08-03T10:15:13+00:00 journal YAPC::Europe- day 2 starts... <p>... but first, a report on yesterday night. Beer at the venue is *astoundingly* cheap: it's 2 guilders a bottle, so we stayed in the venue then found a local (Philip from, hi!) who led us around the city to a nice little cafe/ restaurant where they knew his name and we had really nice snails, prawns, lamb, chicken, bread and tiny little potatoes. Reports suggest it was nicer (foodwise) than the speakers dinner. Yay!</p><p>Thence we found the Wildemaan (muttley takes the credit here- I still don't 'get' the navigation; radial cities are strange, as Norwich proved to me when I moved there five years ago) and the heretics outside the Bon Ton. Nice (cheap, again) beers, before we headed off back to the hotel. It seemed a bit cloudy, but I wasn't prepared for the thunderstorm we had to hack through on the way back to the hotel. Soggy, but on the other hand seeing the entire sky flash was cool.</p><p>Talking of sky (grief, I'm worse than a Radio 1 DJ) the first talk I really paid attention to today was his POE tutorial. It was a good recap of how I thought it was working (I was vaguely right, but as I mainly use stuff through a component sitting atop it, I don't need to worry overly about the internals). It prompted me to (once more) see if it works on Mac OS, so I can carry on working on my not terribly super-sekrit IRC bot a bit more.</p><p>Meanwhile I sat on IRC with a bunch of people, who seem to be filling people's <a href="">driftnet</a> caches with <a href="">American WW2 propaganda posters</a>, and wondering just how orange one man (acme) can be.</p> blech 2001-08-03T10:12:51+00:00 journal #perl photo <p>Those of you who frequent will know I occasionally get stupid ideas about organising stuff. In that spirit, I've picked up an a topic plea on #perl to take a #perl photo, which will be at 5.30 pm. Congregate in the reception area. If anyone has a good camera , bring it along, and if the sun comes out, we can even go outside instead.</p> blech 2001-08-03T08:09:41+00:00 journal schwern, on communists and kings <p>This afternoon saw most of the Londoners sitting around the edges of the O'Reilly room, so their laptops were umbilically powered (well, mine is now; I've checked, and it can eke out 2 hours, just, but that's fairly hairy) and they can sit on or #$talk and discuss stuff.</p><p>The talk itself was pretty nifty- Schwern's an amusing speaker, and he made good use of the slides (<a href="">which we viewed</a> on our laptops, as all of us seem horrifically short sighted) as a starting point for the talk, rather than the be-all and end-all. We also got an insight into things that had actually happened at $company, which is also a good thing. Well, it's certainly <i>entertaining</i>. In a way it's all obvious, but it's also stuff that it's too easy not to do. Ah well. (I really need to work out how to make my stuff work with this, now.)</p><p>(Communists, by the way, is a reference to collective code ownership, and I suffixed it Kings as a literary reference which should be obvious...)</p><p>He's overshot his talk time horrifically, but that's OK as it's interesting. seem to be gearing up already for the pub event tonight (for those of us who aren't speaking, anyway). Hopefully I'll get to see a little more of the city proper. Maybe I should have stayed over until next week like some of the others. Ah well. I don't imagine the city's going anywhere.</p> blech 2001-08-02T15:33:07+00:00 journal YAPC::Europe is go: settling in <p>Having wireless networking at a conference <i>rocks</i>. It's a shame how badly it depletes battery life, though. (On a train I usually squeeze two or two and a half hours out of a battery. This morning, I think it was looking more like an hour and a half. Might have to do the richardc solution and run two. Media Bays also rock.)</p><p>It's nice that all our mobile phones (mainly) are working, too. Most of us even got welcome SMSes from the local operators, too. They must really want us to use their information services. (Those of us on the vaguely branded trip to NY really missed them.)</p><p>Kevin's opening talk was rapid but useful; the bags of goodies are pretty, well, good; Abigail's talk made my head hurt, but was good while I could cope, and now it's lunch, and I'm draining juice (muttley gets bonus karma for bringing the UK four plug strip, so we don't have to lug about power adapters). Mind you, given the laptop he's using, he should be able to haul boulders by the time the conference is over.</p><p>This afternoon? Well, being lazy sounds good. (And yes, that is a talk, not just sitting in the cafe area. Insert smileys as required.)</p> blech 2001-08-02T11:26:58+00:00 journal YAPC::Europe day -1 <p>I never realised how short the flight to Amsterdam was. By the time we were off the ground, the seat belt light had gone off and the drinks people had come round so that we could get a can of beer (I blame <a href=";uid=40">jns</a>), we were almost landing again.</p><p>The difference between the Thameslink train from London Bridge to Gatwick (10 pounds for a single, 8 minutes late, and absolutely full) and the train from Schipol to Amsterdam (6.50 Guilders single, which is more like two quid, with plenty of space and an astoundingly smooth ride) was worth mentioning. Sigh.</p><p>After discerning our way through the mysteries of the strippenkarten and the curiously (for a Londoner, anyway) trusting entry gates, we got the Metro to the hotel. Well, we actually got off the Metro, looked confused, finally trudged long a verge to the hotel proper, where all the people who'd spurned public transport were already happily esconsed in the bar. Plus ca change.</p><p>An expedition into town gradually formed; I was one of those who got an insane taxi driver to take us into town, complete with 'fun' tramline riding. Unsurprisingly, perhaps, the lure of the coffee shops proved irresistable to some. (A lot of people just stuck with beer, though.) The fifteen or so and associated friends eventually met up with Skud, sky and a host of others, and we walked around the city towards... something that claimed to be an NY state house. Nice place, though. Last Metro home, and a nature trek back to the hotel. I slept, in preperation for this morning. (Seemed like a plan.)</p><p>Oh, and in the obPerl section, richardc seems to have taken on board my ranting about message-ids in mailing lists from Tuesday night. (I summarise a busy-ish (400 posts a week) list, and it has a Pipermail archive I like to link to so people can see what I was talking about without excessive effort. Unfortunately, the URLs aren't in the email, so I have to manually match them. Wouldn't it be nice, I said, if the archiver used a header added by the listserv that could uniquely identify the message?) Might get something out of that this week.</p> blech 2001-08-02T11:19:46+00:00 journal