Perl; PhD

Perl

For me, learning Perl has been like giving up smoking. In fact, until recently they were even more remarkably similar in that I’d never learned Perl and never given up (or taken up) smoking. But the current similarity is that just as it takes many smokers several serious attempts to quit, it took me several attempts to learn Perl.

I’m not sure was I was ever trying to learn it at all. I think I was still, years later, held in the web of How to become a hacker. I always got caught on the rocks of trying to program Perl with my Python idioms which involve rapidly evolved steep class hierachies and heavy reliance on nested data structures and was quickly dashed up against Perl’s references, or references syntax at least.

This time though I was learning Perl for work, which is like giving up smoking for a partner: an added incentive and a position in which it is difficult to admit failure. I’m sure my Perl looks exactly what a Python programmer’s Perl always looks like too.

PhD

I’m told going overseas makes sense. What kind of sense, I’m yet to determine.

Thursday 25 March 2004

SLUG

Just as my formal involvement in SLUG is about to end (a new committee is being elected Friday night, and I’m not standing), I find that I’m putting a lot of time and thought into it again. But… I’m still not standing. I figure that being able to choose my level of involvement will stop me periodically burning out and getting resentful.

Also, I can then focus on helping get hacksig off the ground. I’ve gotten just about everything I need from SLUG in terms of using Linux. I’m not personally interested in advocacy, except possibly in the legal arena. Clearly, a programming group is the next step.

Linux

I’m well past where I ever expected to get with Linux: I’m a competent single machine or home network, small-size, non-critical sysadmin. Finding that out was nearly as big a surprise as finding out that I was confident programming.

But I don’t want to go any further with it. I try not to make decisions like this: I am generally uncomfortable with saying I want no more knowledge. But honestly, I know what I want to know. Need only, not desire, will push me further.

Twisted

Twisted is a whole other kettle of fish. I find that I need to find a four or five hour solid block of time to get writing done, and I only have that time on weekends. But weekends also have the unfortunate side-effect of containing family birthdays, moving days and house cleaning.

To be fair, I’ve spent the last few weeks working (finally! finally!) on the re-write of my website that has been on the drawing board for well over two years. It is somewhere between three and six hours from deployment. During that time, I’ve spent zero hours writing documentation.

I feel silly in many ways putting so much effort into a website. It’s certainly not something that people seem to admire. I’m putting a negative spin on everyone’s reactions there though. Most people I know are programmers, and a large number of them simply don’t like writing, or don’t like it enough to want to build a house for their writing. I do like it, and building a CMS is a natural consequence. Or so I will maintain from here on in.

Aside from this, while my wrist pain has improved with a better arrangement at work, I do need to be careful about typing when I’m not being paid for it. I need some HTML macros for my editor (stat) because the < and > signs seem to bring on weakness and discomfort quickly.

Travel plans

I’m planning to zip around the world, or parts thereof, starting in September or so. I’d better hurry up, I’m not even at the budgeting stage.

Life plans

It is suddenly horribly clear that I need to decide whether to do a PhD and where to do this hypothetical degree in a hurry. I need to have a supervisor and some kind of topic before I leave Australia in September if I’m to do it here, and I need to think about funding, GREs, applications, interviews, visas and spiv if I want to do it in the UK or US. (If I do it in the US, I also need to think bout all that time.) And if I don’t do it, I should think about what the hell else to do. I envy spiv his attachment to programming as a vocation, I myself am simply part of the indecisive masses.

Sunday 7 March 2004

It’s been at least a couple of years since I really settled into programming. I can take code and change it without understanding the whole thing. I can guess at the function of libraries, or read their source to find what I need. I write some amount of code that ‘just works’.

But it still surprises me, every time.

Monday 23 February 2004

Today the first pain of RSS-as-anything-at-all bit me, with someone on Planet Twisted embedding very wide text in <pre> tags, causing (for most viewers, not for me) the main column to expand to the right to accomodate the rogue <pre>.

I got a nice mail suggesting that the cross browser fix for this is to convert:

 <pre> blah  blahblah blah</pre> 

to:

 <div style="font-family:monospace;"> blah&nbsp;&nbsp;blahblah<br> blah</div> 

(There’s not meant to be a line-wrap in that second example, but I’m being kind to the Planet Twisted readers &mdash oh, rendering HTML in HTML is hard!)

But let’s face it, fixing other people’s HTML for them is nightmarish. Start with <pre> tags, end up with… well, writing a complete HTML parser/sanitiser for Planet. So I’m being a wimp and not doing it. I hope.

Life; FOSS things

Life

Relatively severe wrist/shoulder pain had to bite eventually &mdash I should have expected it now that I’m working in an environment I don’t control. Yes, my immediate supervisor is sympathetic, yes, my employer has Occupational Health and Safety people, yes they’ll probably take action, however the downside of working for an organisation large enough to have organised OHS is that the request needs to travel up three levels and down again.

In the meantime, I need to keep typing because that’s my job.

FOSS things

Even the mildest bug blackmail is driving me insane at the moment: all bug reporters should visualise a wild-eyed harpie with stiff fingers when entering “please document now, you are destroying my life [note: author’s completely exaggerated paraphrase]” bugs.

Friday 6 February 2004

I’ve been playing with Planet (one day our galactic masters will populate that page and take advantage of the links they receive), which meant learning a bit of arch to create my own working copy which I can check revisions into. (I believe this is called a branch if I understand arch’s nesting correctly: archives contain categories which contain branches which contain versions which contain revisions. Revisions correspond to individual checkins, archives to a CVS repository and categories, roughly, to a project.)

So now my Planet variant pings the weblog update sites if the data has changed &mdash although I think the way it detects changes is against the spirit of the feed parser. Doing this has proved an excuse to spend an hour or so coming to grips with arch finally, which I wasn’t motivated to do for its own sake.

I think arch would be a great tool for people like myself who want to get people to double-check changes before checking them into the project’s main branch, and for people like spiv, who has thrown away a lot of changes to Twisted because he’d made a lot of distinct changes in his tree and was a bit anxious about trying to merge them with recent changes in the main tree before isolating each change and checking it in. Distributed repositories are an excellent solution to this: you can check changes into your own repository without effecting the “main” one, and then pick them out, merge and commit to the main one.

Bonding

The planetary systems continue to expand &mdash I now run two: LinuxChix Live and Planet Twisted. jdub is going to give a talk at SLUG soon about the community building aspects of planets: suffice to say it’s a better way of getting to know people than project mailing lists, although Planet Twisted will be an interesting experiment given that the developers also have a tight IRC community &mdash the planet may not have much to add to the interactions between developers, especially since the bulk of the developers use LiveJournal. LinuxChix is enormous by comparison and running the aggregator has given me a chance to glance at the writing of people who I would normally only vaguely recognise by name.

I think they’re a good resource for community outsiders too. I’m not involved in GNOME at all, but I still like scanning Planet GNOME. The advogato recentlog is by far and away the most successful part of the experiment and people enjoy reading it despite the fact that most entries are by people they don’t know who are coding things they don’t use. It’s probably a better way of discovering interesting people or projects than some of the more formal methods of tracking relationships: advogato’s trust metric, or LiveJournal friends pages, for example. It connects you to people with something in common with you but who aren’t part of your community. Further, aggregators expose you to a small amount of their writing &mdash much better than a dessicated list of interests and a line listing the steps by which you can trace their relationship to you via mutual friends.

linux.conf.au presentation days 2 and 3

See also my l.c.a. photos, other l.c.a. photos and other l.c.a. blogs.

This is the belated final l.c.a. entry. I wrote it several days back and since I no longer have my own computer, it took several days to resize, reorient and caption all the photos.

linux.conf.au Presentation Day 2 continued

After lunch I went to jdub‘s GNOME strategy talk, which was good. I would have liked to have seen more screenshots, but that’s just a personal thing — I want to see more of what I can expect from GNOME 2.x — but he actually wasn’t given a screenshot style talk. It wasn’t a talk about “things in the GNOME desktop”, it was a talk about upcoming release strategy.

I skipped Andrew Tridgell‘s junkcode talk in favour of behoffski’s grep talk. The grep talk was really badly attended, and we could hear faint joy from tridge’s talk next door. It also lacked oodles of finite state machines, which was a shame.

linux.conf.au Conference Dinner

I didn’t really anticipate the speed with which tables would be taken, I also didn’t feel any need to figure out in advance who I’d be sharing a table with. This was a mistake. For the record: tables were taken swiftly. spiv and I were lucky to grab a table with Bradley, later to be joined by James, thom, Gus, Stewart and Drew. We were right up the front, close enough to see Rusty’s flame show (featuring the “so have you ever kissed a girl?” reply to davem, which doesn’t seem to be archived anywere on the web. [Edit: That was before Rusty uploaded the text of the flames]).

The staff seemed to me to be on anti-madness patrol, keeping our water glasses filled up all the time, and not leaving bottles on tables. Most people found the dinner really un-crazy, but I’m assured that somewhere up the back there were a few people who had to be carried out.

Rusty conducted a couple of auctions: first the l.c.a. signed T-Shirt. Bidders were goaded by several tables throwing in extra money if the bidding reached a certain amount. Several project incentives were offered too: Linus offered an Australian animal for the next kernel release, jdub offered (I think) a choice of name for the GNOME 2.6 desktop release. The Debian project is yet to release, so last year’s purchaser still has that one.

The second auction was for the opportunity to sink Linus. The ozlabs guys put together $1500, but the community started assembling notes, and made it to $2700. This made things a bit difficult: Rusty described it as “some kind of raffle.” mrd was chosen to sink Linus by popular acclaimation.

jdub assembled a group of people to go and grab gelato. It was quite nice gelato, and the walk gave me a chance to meet mbp, which was excellent (although he thinks we’ve met before).

I was back in my room around 1 — it was pretty cold out there, and I wasn’t really interested in making the trek to north Adelaide that night.

linux.conf.au Presentation Day 3

spiv and I were up in time to check out and to make it to hp‘s keynote. I really liked this keynote, I thought it was one of the best talks of the conference. hp ran through the reasons to aim for a Linux desktop, challenges to the Linux desktop and strength’s of the Linux desktop. In his view, Open Source is the single strongest unchallengable, unduplicatable advantage.

I went to Janis Johnson’s regressions talk before lunch, which I quite liked, although I think again it would have been better if it had pushed through the introductory stuff faster, and had some case studies. This was, to me, the biggest disappointment in most of the talks I attended: perhaps I’m idealising tridge’s 2001 “hacking the TiVo” keynote in 2001.

The dunking followed at lunch. It was fun for a while — most people ended up having to run up and push the button to dunk their target: mrd must have been lucky (or a good shot) to sink Linus on his first ball, which was good considering that with an extra donation that shot was costing over $5000. thom got the opportunity to sink rasmus and I think managed to do it without pressing the target with a hand. The most amusing effort was that of tridge and jallison, who struggled to sit on the dunking seat together, tridge nearly slipping in a number of times. A few non-speakers were offered up for their sins: gman and daniels. After a while, the dunking got less exciting unless you had a debt of honour involving the person on the seat, and people drifted away. There were meant to be water pistol fights as well, but it was a cold day and I don’t think it seemed appealing.

After lunch, tridge’s talk was repeated in the best of series. It was indeed a good talk, but the audience was pretty flat compared to the last one. thom kept nodding off. The talk seems to be partly evangelical (keep your junk code, put it on the web) but would have worked just as well without an actual message. tridge’s talks are generally “look! look! hacking is fun!” talks anyway. See them if you feel a bit jaded and need a good kick.

The energy was definitely leeching away after the dunking, and everyone was very sleepy by the time of mrd’s conference close and the handover to the Canberra team.

Most people stuck around until Sunday I think, but spiv and I went off to gelato with keithp and people he’d managed to drag along for icecream before we headed to the airport. The plane to Sydney was a bit of a SLUG-express but I was getting far too sleepy to talk to anyone by then.

Home

Home

Got home to discover that one of my power supply or my motherboard are seriously failing. I have one last l.c.a. entry all written and waiting for my photos before I send it in.

In the meantime…

I restarted my old buglinks.org project. It’s intended now to be a blog-ish set of links to bug hunting teams, bug hunting tips and bug hunting resources — and possibly also bug fixing stuff. I’m hoping to find material soon that is more specific than the general “how to report a bug” tips soon.