Archive for June, 2005

ATV Palm export

Tuesday, June 28th, 2005

We’ve already had a bug report/feature request for the ATV Palm plugin Alex wrote, so it’s obviously going to be pretty popular. It’s really great that Alex is doing so much work on FreeGuide at the moment. We are having our disagreements here and there, but FreeGuide is getting a lot better all the time.

Nearing a new release

Tuesday, June 28th, 2005

FreeGuide is hopefully nearing a new release. Alex has been working on the plugins system, and hopefully I will be able to test it this week. If it works ok, we’ll release it as unstable, and then with a few bug fixes we should be able to make the next release stable. Alex has refactored the code so that the main program is just another plugin. This is pretty cool as it means we can upgrade everything without restarting the program (hopefully, although in practice we think we may hit problems with resources not being freed). We are currently discussing exactly who should be able to upgrade what plugin when. I am keen that users be able to get a new listings grabber as soon as they need one without needing their admin to do it for them. On the other hand, probably only the admin should be able to upgrade the main app. The way jEdit does these things seems to work pretty well.

DIYPlanet

Friday, June 24th, 2005

When I wrote DIYBlog it occurred to me that what I was writing would translate into a blog aggregator pretty easily, and so I’m working on making that so. I’d like to start a little community of Java developers who are working on small free and open source software Java programs, so we can start to communicate through our blogs and help each other out with thorny issues e.g. how to get our programs working with an all free software systems (more on that later).

For the moment I’m working on aggregating my own favourite feeds, which you can see here: Planet Andy. All this is/will be running on pure FTP web space, with a little cron job running on my own machine to keep it updated. Of course, that does mean it only works when my machine is turned on…

Re-implementing

Thursday, June 23rd, 2005

Been discussing with Alex about the dangers of re-implementing – he wants to simplify the command-line arguments code in FreeGuide, but rather than modifying the existing code, he’s re-written it. The problem with re-writing is that old code usually has lots of non-obvious bug fixes in it which you will have to re-implement all over again as they are reported. Alex has re-written a few things, and generally he’s improved the code structure, but we have both then had extra work to do fixing the bugs that are inevitably introduced. That can seem like a waste of time if they’re bugs that I have already fixed in the past.

It always feels easier to write your own new version instead of understanding what’s already there, but in reality, unless you’re changing the output, it’s never a good idea completely to re-write the internals. There’s a good article by Joel Spolsky on this.

Honestly my last post about my viva

Wednesday, June 22nd, 2005

…for a while.

Woke up at 4.30am today having awful dreams about how none of the code worked. My dreams transposed the problems I am trying to solve at work onto the code I need to write for my corrections. I couldn’t stand it any longer so I got up and started work on it, and I’ve launched an experiment now which should hopefully provide all I need in terms of experimental work. So, it’s not as bad as my dreams…

The idea of getting back into the writing part also terrifies me. I guess another few weeks of getting up in the small hours might get it done, but I’m likely to lose all my friends. Obsessing about this is already making me totally inward-focussed. I am trying to make an effort to think about what other people might be feeling, to try and keep my self-pity in check.

Corrections

Tuesday, June 21st, 2005

Well, I passed, so I should be happy, but I’ve got to do some corrections before I become a doctor, so I’m feeling disappointed, but really I’m very close to finally achieving what I’ve worked so hard for. Just one last push.

Viva today

Monday, June 20th, 2005

Today I find out whether I get a PhD. I’ve been strangely not-nervous about it, although I’ve woken up pretty early this morning. It’s difficult to `revise’ since most of what we’ll be talking about is what I wrote. I’ve been trying to refresh my memory of papers I cited (especially those of my examiners…) and of what I wrote, but it’s been so boring I haven’t done much. Let’s hope I don’t regret it later.

I’m fairly hopeful about passing – I would hope my supervisors would not have let me submit if it wasn’t going to pass, but I see the viva as being both a rite of passage everyone has to go through (i.e. a horrible experience that my examiners had to go through, so they want to inflict it on me, and a negotiation process about how many corrections I need to do.

I’m not worried about having a hard time today: I tend to stand up reasonably well under face-to-face pressure like this, and I hope I can robustly defend points of which I am confident, and give way in places where I should refine my thinking. I’m more worried about the corrections. I just can’t imagine getting back into writing my thesis – I’ve left it so far behind my thinking, I’m so sick of it, that the idea of writing another chapter or two is horrific. It was bad enough the first time.

Mnemonic

Friday, June 17th, 2005

I made a page for the band Pete Beresford and me had when we were at uni. You can download the 3 songs I was getting around to sending to John Peel. If you like your metal instrumental and a tiny bit Propellorheads, it might be for you: Mnemonic. If you like it, let me know and I’ll send you some FLAC recordings of those songs (still not great quality, I’m afraid), and/or some of our other songs.

FreeGuide’s TODO list

Thursday, June 16th, 2005

Take a look at the latest TODO list. There are several categories of things on it:

  1. Already done e.g. “Add firefox to the possible browsers.”
  2. Completeness features e.g. “Use Java’s printing capabilities to print”
  3. Feature creep e.g. “Automatically make a channel set when you right-click a channel and choose
    “Move up” (or even drag!)”
  4. Difficult-to-trace bugs e.g. “Make it not say no listings after midnight”
  5. Difficult features e.g. “Minimize to system tray”
  6. Subtle UI improvements e.g. “Remember where you were in the Options screen”
  7. Major features we are in the middle of e.g. “Run an exe when a programme is about to start and/or end” (this is actually recording)

I should go through and make sure everything is relevant, but also I need to prioritise what to do before 1.0 if we are ever going to get there. 7s are being done by Alex and others, 2s really need doing if we are going to call it finished, 4s should get cleared up during the beta stage (hopefully), most 5s are likely to get dropped, and 3s and 6s are good potentials for a public vote – then the most wanted ones will get done and the others will have to be post-1.0.

I may go through the list and actually classify them this way, and then we can see what we’re doing.

FreeGuide packaging and plugins

Wednesday, June 15th, 2005

I couldn’t sleep last night, I think because my viva for my DPhil (PhD) is coming up on Monday. Work is going to be a struggle, but at least I got a chance to think about FreeGuide.

Alex is working on a plugins system (it’s sort-of-working in CVS) that will allow us to split the grabbers out from the main program, and allow people to innovate with new plugins without delving into all the code, which is quite large and a bit messy to say the least. Both of these things are really good, especially because my own time is very limited, so allowing people to work on plugins seperately means progress can continue without me being such a bottleneck.

However, handling plugins means we need to change the way FreeGuide is packaged. I’ve had some thoughts about how to do it, and I’ve put them together into an OpenOffice.org Impress presentation (or try the PDF). I’m looking for comments on this before we finalise the system. Once it’s established it will be hard to change, so I want to try and get it right.

If there are a couple more sleepless nights we might even see FreeGuide’s 0.10.x branch going stable … Alex has a few more bugs to fix, but we’re getting there.