Stories
Slash Boxes
Comments
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 ]

marnanel (6034)

marnanel
  (email not shown publicly)
http://marnanel.org/
AOL IM: marnaneltaranen (Add Buddy, Send Message)

About me... [livejournal.com]

Journal of marnanel (6034)

Wednesday June 17, 2009
10:32 AM

Things I need to fix in my CPAN modules

BLT:

1) Fix this bug.

2) And this bug.

3) Make BLT not depend on XML any more. This will increase both speed and portability.

DateTime::Calendar::Liturgical::Christian:

1) Fix this bug about the start of Advent.

2) Add Year 1 / Year 2 calculation. (Easiest to have a method which returns the current year, *or* the year plus one if we're in Advent, and then write it in terms of that.)

3) Putting both the main and the Office lectionaries into the calendar would be a nice touch (the main starts on page 888, and the Office starts on page 934, of this copy of the BCP. Conversion to some kind of XML-ish format, or pure Perl, would be a reasonably simple job.)

A question to BLT users: If I changed the format of the settings file, would you want it to upgrade automatically, or would you be okay with typing your username and password in again?
Saturday May 26, 2007
07:49 PM

Writing a Facebook application in Perl

(Reprinted from my blog post here, because I thought use.perl might be interested)

This post is a record of a day or so's experimentation building a Facebook application in Perl. It's probably applicable to writing applications in Ruby or Python, since it contains pretty much nothing that's Perl-specific. I thought it would be particularly useful to write it up because Facebook only officially supports Java and PHP, so almost all existing instructions are in those languages. I may continue hacking around with building this application in future, and if I do I may make this post the first of a series.

Firstly, a confusing piece of nomenclature. There is a Facebook API, and there is even a Perl implementation of it called WWW::Facebook::API, but this is not (necessarily) what you're looking for: this is for building applications that use Facebook (say, for when you want to build a Perl script that can list all your Facebook friends), not for building Facebook applications. It's like the "well, he's a friend who's a boy, but he's not my boyfriend" thing.

Facebook applications are programs that integrate seamlessly with Facebook. You can find a ton of them advertised publicly on Facebook, and there are many more which aren't part of the public directory. Anything listed in that bar on the left-hand side of your page is a Facebook application (but applications don't need to be listed there).

So, what do you need to make a Facebook application? You just need to be able to write a CGI script (or mod_perl or whatever). If it needs to integrate with the other parts of Facebook, then it can use the Facebook API. Otherwise, there's no need.

In order to make your application, you need to add the "Developer" application, which is an application for making applications (yeah, it's a bit meta). After that, you can click "Set Up New Application" and add your new application. There's some terms of service stuff to agree to and so on. You get to choose between "website" and "desktop" application types; I've only experimented with "website". You don't have to fill in "TOS URL" at all.

Most of the other fields you're asked to fill in are self-explanatory, but there are two which puzzled me a lot, and I had to spend some time playing around to find out what they do. The fields are Callback Url and Canvas Page URL (no idea why the capitalisation is different). I'll explain what they do in case it saves people some time.

Canvas Page URL is easier to explain. It's of the form http://apps.facebook.com/your-application-name/. This is the URL at which your application will be visible within Facebook. If you decide to put an entry in a user's list of applications at the left of the screen, the link for your application will go to this URL. If you're wondering where Facebook gets the content for this page, we have to go on to talk about Callback Url.

Callback Url is the address of your CGI script (or whatever) on your own server. Whenever anyone goes to the URL you set up in Canvas Page URL, Facebook's server will make a POST request to this URL, with certain parameters to tell you which Facebook user made the request and so on. Your script serves the content in a special markup language called FBML, and Facebook then serves it to the user within their ordinary page so that it looks just like part of their site. (Usefully, if they go to http://apps.facebooks.com/your-application-name/anything-else, Facebook will add /anything-else to the URL of the Callback Url it calls: you can test for it using path_info() in CGI.pm, or with $ENV{PATH_INFO}.)

Alternatively, you can elect to use an iframe, in which case a largish iframe will be generated, and pointed at your Callback Url with the relevant values passed as a GET (obviously, since you can't do POST through an iframe). Then you serve the content in HTML (or anything else the user's browser can handle) and the user sees it as usual. I'm a bit puzzled as to why anyone would want this, since a) you don't get to do fun stuff with FBML (though maybe there are things FBML doesn't do that you'd want to), b) you have an iframe on the page, and iframes are generally ugly, and c) the user can find out where your server is and what your script is called.

There's another thing that Callback Url does. Suppose you have a website called i-like-cabbage.com, and you want a way of putting a link on that website which adds the i-like-cabbage Facebook application, and then sends the user home to i-like-cabbage.com so they can carry on as before. There is a way to do this, but it's outside the scope of this post. If you do this, though, Callback Url is where you get sent when you're done adding the Facebook application; you can tell the difference between this and the Canvas Page URL request because it will be a GET rather than a POST (unless you've decided to use an iframe). If you don't get users to connect in from an external website to add the application, you don't need to bother about this. So why am I telling you? In previous versions of the Facebook applications spec, this was all that Callback Url did, and I'm telling you this particularly because a lot of the documentation will tell you that that's all it still does. (For example, the strapline explaining Callback Url on the "edit application" page says: After logging into Facebook, users are redirected to the callback URL.)

So, there are the basics. Facebook has a developers' site with documentation, and there's a developers' group where you can ask questions. There's still a bunch of stuff I don't understand, but I'll come back and write it up as I find out.

>>> Later: what I found out.
Thursday January 18, 2007
11:43 AM

Well, here it is

Well, here it is. After eight months since the free tax filing project was announced, and over a year's work on the system before that, we've finally gone into a release. I'm not sure whether to be elated or exhausted.

Someone was asking what it was we'd been working on, so here's the potted history: I work for a Philadelphia consultancy called Solutions for Progress, as a Perl programmer. Part of what SfP does is try to reduce the gap between the rich and the poor in the US. So we've had a program for a number of years that helps you file your taxes, and figures out what government money you're entitled to, and it has always done all this at no cost to the end user. This has always been done through community groups, but in 2008 we will hopefully be opening this up for general release on the web. This year, to prepare for that, we're letting people just use the tax part: it will help you file your taxes for free, so you don't have to pay out any refund money to preparers, but:

1. Because this year is a preliminary release, it's limited to 75,000 users total. 2. Because we're about reducing the gap between rich and poor, there is an income limit. This year it's $52,000. If you don't fit under that limit, you probably know people who do. 3. Every state does state income tax differently. The program knows how to file state income tax in PA, DC, MD, OH and MS. Also, AK, FL, NV, SD, TX, WA and WY are okay because they don't have state income tax. If you live anywhere else, the program can help you do federal taxes, but you will have to figure out state taxes without the program's help.

Everyone working in the US should have their W2s by the end of the month. So, when you do, go on, try it out, have fun, and if you like it, tell your friends, tell your grandparents, please post links in your own journals and communities and forums and things, digg/reddit/del.icio.us it... you get the idea.

Someone mentioned that the system behind the site might be something that would make an interesting YAPC presentation. What do you people think?

And the site's called Sidney.
Monday January 01, 2007
04:37 PM

2006 in review

What people suggested for resolutions last year; I didn't do any of them except "find a church" (actually, I found two).

In January 2006, went to see A+J; got discouraged writing translation code; went to the philly-poly pubmeet; spirit butter; got taught to knit by a random traveller on the train; I didn't get glaucoma; helped redecorate at ArtSphere; held a "teach-in" about Unix at the Wooden Shoe; was attempting to write a 6502 emulator in Perl; first visited St Gabriel's; two obvious depressive episodes.

In February 2006, I attempted to fix my first GnomeLove bug, but failed; tried to fix my second, and succeeded; fixed many other bugs over the course of the month; it snowed a lot; made pancakes; got ashy.

In March 2006, I was given GNOME CVS access; I measured out my life with kitten toes; had a review at work which was rather positive; went to the Rodin museum.

In April 2006, we went to visit Sarah in Cleveland; I figured out a really spiffy perl test system at work; for night can only hide, and not destroy; I switched to Ubuntu from Debian; Sharon got a job in Philly so I didn't need to catch the bus any more; the free tax filing project was announced (things have changed a bit since then, though); someone made a fan site for the adventure game I coded in 1995.

In May 2006, I was interviewed by a Welsh TV company and I confirmed that my spoken Welsh is indeed rather bad because of the lack of conversation partners here; I visited St Mark's for the first time; I switched to gmail; I made a gtk BBC Micro emulator up to the point where it booted and then dropped the project for something more urgent.

In June 2006, I was added to Planet GNOME, and so I started making day posts generally public; we went on an interfaith walk (which was my first pgo post); we went to the beach, where it was cloudy, and played pool; it was first seriously suggested by a psychologist that I might have Asperger syndrome; I was interviewed for another position in my company, and we both decided I would be much better doing what I was currently doing anyway; Rio learned some C; her goldfish died; I discovered my highest priority; will programming exist on high with Thee?

In August 2006, Sarah came over and we all went to the naked beach; I tried to write an englyn (I know now it should be aaaa); after several visits with different psychologists I was finally diagnosed with (mild) AS; my youngest sister got back in contact.

In September 2006, I started an englyn (Does dim bara o dan y tir – mae dŵr / a cherrig ac aur gwir...) which I haven't yet finished; Fin went to visit Sarah; I took over maintaining fast-user-switch-applet; we completely rethought translation at work and I became much more confident about looking after it; I started UVB treatment for psoriasis.

In October 2006, Rio was baptised; metacity-theme-2 was released; blueskywonder visited; I became infected with MRSA; pinkstuff crashed; Rio was a fantastic bluebird in the Halloween parade; I put up the first coloured lights at work (which has now escalated to something looking like Blackpool in the autumn).

In November 2006, I made a Welsh spellcheck for Firefox; I visited Sarah; a squirrel visited us; I was admitted to the GNOME foundation; we let off fireworks for Bonfire Night; I volunteered as a nonpartisan election observer; we went to the art museum; I was mistaken for a priest.

In December 2006, it was mostly quiet, since I was working very hard on getting the tax thing released. But Sarah came to visit us; krasota and explodingcat visited; A+J came and we climbed Hawk Mountain.
Wednesday December 20, 2006
10:10 PM

The asteroid 14024 Procol Harum

  • (it's true!)
  • Today was a day of fixing lots of little bugs. We had a company meeting (which was alarmingly originally scheduled to run between "12/20/06 11:00 AM EDT" and "12/26/07 11:45 AM EDT" imagine the beauty and majesty of a 53-week meeting!) where we discovered among other things that we're all getting a 2% cost of living increase. I thought 2% wasn't very much until I realised it's 2% more than I'm getting and all the bills are already paid, so it's a bit more money every month and nothing particularly to spend it on. Yay.)
  • I went to the Shoe to buy Firinel a present, and it cost $10, and I had $10 and some pennies. There is tax on books in Pennsylvania. The staffer gave me a quarter. Sometimes people's little kindnesses amaze me.
  • The other day I went to Chinatown to buy some tea for plexq. The only directions I had were "turn north at the arch and go down Tenth Street until you find a shop which looks like it only stocks pocky." I am pleased that these were sufficient instructions.
  • "Essentially what we have here is an immaculate conception..." but only if you have absolutely no idea what the words "immaculate conception" refer to. (Clue: there was a human father involved.)
  • I have been hacking around with the Metacity compositor, as promised. I have successfully #ifdefd out the bling, and added a bunch of comments (I'll check it in in a few minutes). Currently there are two major problems: on startup (rather than during regular use, in my experience) it sometimes makes some windows invisible until you minimise and restore them (it seems to be sensitive to the window configuration, and having Firefox open seems to make it more likely; the invisible windows *are* getting mapped); and it segfaults when you replace it. Currently you have to enable the compositor at configure time, and then you get a gconf key you have to turn on. When these have been fixed it might be good enough to enable by default (though people should probably still have to turn it on with gconf for now).
  • To the person who said they'd like to buy me stuff for fixing the compositor: thank you, I'm very grateful for the thought but shouldn't you be buying it for Sören who did most of the work? (Then again, I suppose he was paid. :) )
  • Today's Film Clip I Rather Like: 6A's holiday video. Rather funny. They need to do something about the sound, though.
Sunday December 17, 2006
10:08 PM

Happy weekend

  • It's been a happy weekend shared with our beloved Moominmuppet who came to spend a few days with us. It's always good to see her. We didn't do very much other than snuggle up and watch films together, but that's a good way to spend a weekend in December!
  • New version of DateTime::Calendar::Liturgical::Christian up: this just fixes the prerequisites, rather than adding any new code. If you know much about the calendar of the Orthodox, Roman Catholic or Lutheran churches, I still want to hear from you.
  • BBC News has had a lead story up for most of this evening about the decision of two Virginia congregations to split away from the Episcopal Church, ignore the Windsor Report, and make public their support for the über-homophobic Church of "we encourage prohibiting the legality of homosexuality" Nigeria. I don't see why this is such big news, really. Everyone knew they were going to vote that way, and it's sad that they feel the need to ally themselves with people with such opinions, but it's not like they're anywhere near a majority in the church. Heck, it's not like they're anywhere near a majority in that diocese. It's happened a thousand times before: they will leave, and there will be arguments about it, and then we will get on with living out the good news in the world.
  • I picked up my knitting needles for the first time in months. I thought I'd start again with something easy, so I'm making a scarf for Riordon's doll Tiffany.
  • We went with SaraMae and Sis to get their Christmas trees, from a Christmas tree farm out in the middle of nowhere somewhere near Collegeville. You have to ride in a wagon pulled by two draught horses to get to the trees, and when you ride the wagon back they give out hot chocolate or (what Americans call) cider. It's lovely.
  • Someone posted to d-d-l requesting a compositor in Metacity! For those who don't know, Metacity has had most of a compositor for a while; Sören wrote a lot of it, but he's since been reassigned to other duties. I am turning over the idea in my head of disabling most of the code, just leaving in (say) drop shadows and minimise/restore animations, and then releasing it with that turned on. Then we can re-enable new parts as we ensure they work. Who thinks this is a good or bad idea?
Wednesday December 06, 2006
10:38 PM

"Loading..." is not responding

Many good things happened today.
  • We had something to fix at work. We discussed the ideal way to fix it, which would have meant overtime and stuff. I came up with Plan B, which people thought was a bad one, and then Plan C, which people thought was promising. Then when other people went to lunch and I went out to get chocolate, I was hit with Plan D; I ran back and told people I could find, and to my relief they all said it was a very good one. I think it may have saved us a week's work or more, and deadlines are coming towards us fast now, so this is a good thing.
  • Fin made muffins. Aunt Cindy made pineapple upside-down cake. They were both very good. Also, we had chili for tea, and I had a new kind of hot sauce on it, which was lovely.
  • I finally decided to do something with my launchpad account, and joined the Ubuntu Desktop Bugs team, since so many of metacity's bugs come from there. Also, it's because I run Ubuntu anyway and so I'd like to help out a bit where I can. If you run Ubuntu and you'd like to help out with coding or graphics or docs or testing, maybe you should do similarly.
  • I had the sort of job offer which you are very flattered to receive. I won't be going, because I think I'm needed where I am, but it was a happy thing.
  • Our HR person confirmed that a perk of my job is that hospital bills are settled in full by the company. This means that the bill which we received for firinel's stay in hospital last month will not be a problem for us, which is good because it was more than the cost of a trip to England. Just one reason I love the place I work.
  • My new CPAN module almost works well enough to upload it (I'll tell you what it is when it's ready, which may be tomorrow). I have delayed the release somewhat by refactoring something important, and I still need to formalise the tests.
  • Happy conversations with firinel and moominmuppet.

It did sadden me, though, that today was the day where a building near a friend of mine collapsed and killed three, and on the day when that guy in Oregon, whom I'd been hoping for, was found dead. This has made today a solemn one; it reminds me of the shortness and fragility of life, and that we need to live to the full to honour those who die. In particular, it reminds me to tell you all that I'm very glad you're around, and in particular and in no particular order and among others I'd like to mention riordon, moominmuppet, firinel, onib, machineplay, naltrexone, and floatyfish. You people are irreplaceable. Thank you for sharing your lives with me.

Thursday November 23, 2006
10:44 PM

Thanksgiving, Firinel, chess with Rio, janitors, daft patent

  • Today is Thanksgiving here. I am grateful for many things, but largely I want to echo Fin's wonderful list, and I'm especially thankful for zir. We went to Sharon's house, and ate dinner. The man next door to Sharon has just moved here from out of state, and his wife has to work today, and he was minding the baby. Fin actually put a portion of everything on a plate and took it round to him, because there was no big party happening at his house. Did I mention that Fin is someone I'm thankful for?
  • played chess with me today and won. She checkmated me with her queen while my king was still on the back rank, hedged in by too many of my other pieces, and I was busy elsewhere on the board. I shall have to keep my wits about me more when playing her in future.
  • I am very pleased to hear that the Houston janitors have been given health insurance and a living wage. See what people can do if they work together! They were being paid half what janitors in other cities get, and given no benefits, and they'd been striking for a while, and been treated quite violently by the authorities.
  • It's quite sad that something as basic as doubly-linked lists can be patented. This is no less silly than the famous XOR patent 4197590, which is so trivial that any schoolchild can work it out faced with the problem and a pencil and paper (and in fact, as a child, I did). I can't believe that this will have any real effect in the world other than making people take the patent system less seriously, yet again. Sad.
  • Strange story from Canada : a postal worker refused to deliver a church's leaflet called "The Consequences of the sin of Homosexuality (AIDS)" which they had sent to every address in the gay quarter of Vancouver. All their colleagues ended up agreeing with them and walking off the job. Their managers were concerned not to look like they were censoring the post (though they do refuse to deliver pornography), but since none of the workers would do the job, the managers ended up delivering the leaflets themselves.
  • No major hacking today; just plugged what I thought was a leak in someone else's program, and fixed a few translations.
  • Wandering around websites, I found an interesting interview with a professional dominatrix, especially on how she reconciles her job with her anarchist politics. She criticises her job as being something where you have to play a role for money, and where you have to prepare your body a certain way; I don't see how this is different from almost any other job, especially since in most jobs now you can't have visible tattoos or piercings. I was rather interested to learn that the British sex workers' union is now affiliated to the huge GMB union, which like most large unions is affiliated to the Labour party. I can imagine the headlines it would cause if a sex workers' union became attached to either of the big parties on this side of the pond.
  • has been adjusting rapidly to using GNOME. It's always a joy to see people learning the system, and Fin has been learning fast. One problem zie's having is with Rhythmbox; it seems to have a lot of quirks, like stopping playing the current track when you do something as trivial as opening the file chooser. I'm compiling the version from HEAD to see whether it has these faults; if it does I'll try to fix them. But maybe zie'll be better off with Amarok or something.
  • Today's Video That I Like: One of the good things about YouTube and Google Video is that you get to see TV from several years ago that you'd almost forgotten about. Today I found Fry and Laurie's spoof talk show, Photocopying My Genitals With... . Stephen Fry is always lovely, of course; if you're one of the people who apparently don't realise Hugh Laurie is English, here he is in his natural element.
Friday June 30, 2006
09:41 PM

in a foreign land

Today I worked on the SEIU's portal at work.

I slept through the alarm, and was only woken up by Sharon honking her horn outside. I got dressed and out the door in about three minutes, but of course I didn't bring anything to eat; Sharon gave me her lunch, leftover Chinese food from yesterday, and said she could easily buy herself something else. I think that was very kind and thoughtful of her.

At St Mark's, the bald priest whose name I don't know preached on Psalm 137 (though both he and the appointed readings omitted the famous curse at the end, which probably needs a whole separate section to itself). He said that even though the question of "How could we sing the Lord's song in a foreign land?" was a rhetorical one when it was asked, eventually they were forced to find practical answers to it (building synagogues to meet in and so on since they couldn't meet in the Temple), and they found eventually that God is indeed in the whole universe and not just in Jerusalem, as their forefathers before them had discovered that God was indeed in the promised land and not just in the desert.

I think as an immigrant this particuarly gave me a lot to think about. (And I wonder whether if I go to GUADEC '07, how I'll handle being on English soil again for a week and then having to leave it for who knows how long once more.) Then again, on some level we're all transients passing through this life: someone asked me recently how I like the US, and I said I like it well enough, but I never really feel like I belong here. Zie said zie feels the same about the whole world.

I did see Brian the homeless guy there, but just to wave to briefly.

NARGERY: Havoc pointed out to me that if you set METACITY_DEBUG_XINERAMA, metacity will pretend you have two xineramas on the screen. Using this, I was able to test Stéphane Rosi's patch to #323820 and find that it works fine. I also looked at #304927 briefly. Gentle readers, do any of you actually use metacity's shaken_loose feature, wherein you can unmaximise a window by picking up its title bar and shaking it free? Or is its very existence news to you? If the latter, it might be going away soon.

Also, there was some talk on IRC about why Anne Østergaard's name appears as Anne Ã[]stergaard on the Foundation pages. Character encodings in XML and XSLT is actually the sort of thing I spend a whole lot of my time doing at work, so I took this on the train with me; I now know the answer, though I obviously don't want to commit it without talking to someone on the board. (If anyone's around on IRC tomorrow, I might grab you.)

As I was walking down the street in Philly, a well-dressed person called something out to me from the other side of the road. I asked zir to repeat, and zie halfway crossed the road before repeating, "You look... exactly like Jesus!" I was a little nonplussed before replying, "Well... hallelujah!"

has been doing a whole lot of work on some beautiful artdolls and making web pages about them. There are dozens more that don't appear on the site.

In the evening we went round to Robin and John's house and sat outside and drank beer and talked while Rio and Murphy-the-dog chased a ball around their garden. Fin bought me a chocolate ice-cream from the ice-cream van. *happy*

Sunday June 04, 2006
10:50 PM

"I did not see a temple in the city"

This morning I woke to the alarm, which was cut short by the second power cut in a week. We all had breakfast and headed into Philly for the Third Philadelphia Interfaith Walk for Peace and Reconciliation. I think people had been expecting it to be a meeting of Muslim, Jewish and Christian people from around the area to talk together and discuss peace, but this year there was a significant Sikh contingent (pic) too, as well as a smattering of other people from other traditions.

Despite being held up by other people's accidents and roadworks, we got to Al-Aqsa mosque about on time to meet about five hundred other marchers all wearing white (pic) (but the baklava had all been eaten). The organisers had planned for a few people to say a few words (pic) and for us all to move on, but in fact afternoon prayers were just starting and we were all invited in, the women into one side and the men into another. I felt very out of my depth and confused, since it was all in Arabic, but a friendly guy who seemed to work at the mosque was sitting next to me and explained things in an undertone. I never knew when to stand or bow down or anything, so I was careful to watch everyone else. When the service was over, the mosque guy whispered, "Okay, you can relax now."

I think that it must feel pretty similar if you're not used to Episcopalian services to walk in to the middle of one. This is a sobering thought.

After that we walked to St Peter's Catholic church, where some guitar singers led us in a very campfire-ish chorus, and the priest told us about St John Neumann and his passion for helping immigrants. He said that we should all learn from Neumann's example and give immigrants all the help we could, and everyone applauded. After that Imam Shehatah read some of the Qur'an.

Apparently they have St John Neumann downstairs, lying there all dead but somehow not rotting away. I wanted to go and look at him, but it was time to go.

We then walked to Christ Church, which was a long way away. I don't remember much about Christ Church except that the vicar and the imam gave a short talk, and they had peanut butter crackers. Then we all stood outside (pic) in a ring (pic) and sang a song about sharing peace with one another.

After that we went to Society Hill Synagogue. I've never visited a synagogue before, but they made me feel very much at home. The rabbi preached a sermon (do you call it a sermon?) midrash about the part in Exodus where we're told to help rescue our enemies' donkey if it falls over. Society Hill also put on some excellent food for us, even though there were several hundred more than were expected, which was much appreciated.

Probably the best moment of the day happened by chance. The imam and the rabbi happened to be walking across the stage at Society Hill in opposite directions. As they passed, they randomly stopped and hugged one another, causing a spontaneous ovation.

One of the most interesting parts of the day, as with most days, was the conversations. Primary among these was a conversation we struck up with an older Sikh man. We asked him whether the colour of a man's turban was significant, and he very courteously told us that no, it wasn't, but that orange was a popular colour because orange represented the idea of strength. Then he went on to tell us how in Sikhism it was important to be as strong as you could be, but you were doing that because you wanted to help protect anyone who was weak, and how there was an idea of being so strong that you were able not to fight, and how Sikhism was an egalitarian faith and anyone who knew how could lead the services. We talked for a good long while and learned a lot. There was also a woman who told us about her Welsh ancestors and how she had visited Wales, and a man called Steve who told me about a paper he was presenting on the St Scholastica riot. (Sadly, he got called away before I could find out much more. It was a bit like being in Cambridge, though.)

So, do I think it will do much good? Well, I don't know whether walking around Philadelphia will cause much peace, and I suspect that anyone who wasn't inclined to listen to what people from other traditions had to say wouldn't have come along. But I learned a whole lot, and was inspired to read about a whole lot more. And as Fin said when we were talking to the Sikh gentleman, it's from ignorance that you get fear, and from fear that you get hatred, so it's vital that everyone stops and talks to one another.

(Reflection: the same day through Fin's eyes)

I didn't get any hacking done today, but I did discover that the O'Reilly Goat book is available online, which is just what I needed to know about autotools. Excellent. So far I have discovered that it's insanely complicated, but I suppose I already knew that.

A blessed Pentecost to those who keep the feast, and to all of you a restful night's sleep and a strong start on Monday morning.