Recent blog entries by rossigee

We settled the balance for our piece of land, cleared away the overgrowth and now we've nearly finished building a house to live in. It's gone well over budget, so money's very tight at the moment. We're already living in it, so when the rent runs out on our rented house at the end of the month, we can move all our old junk here and we'll still have a roof over our heads. The new house has got a phoneline, so my infrequent trips to the Internet cafe are no longer necessary.

Work's been a bit of a pain. I took on a job that 'should only take about ten days', back when I last posted, but it's dragged on horribly for various reasons. Half of it is because the design is based on a set of webpage mockups (supplied as PDFs!), with no verbal explanation of the requirements of the application, or what should happen and when. I've just been told to 'guess' and fill in the gaps, which has led to several designs for the underlying databases and classes etc being worked on and then scrapped - lots of time wasted. And to top it off, I didn't even get a deposit to start the work and I don't get a penny until it's finished, so I'm having to live on fresh air. If I hadn't already put a great deal of time into it, I'd probably just scrap it and find a new project to work on (one that pays at least a little bit up front, or at certain milestones). However, nothing else is forthcoming just at the moment and I'm determined to finish it off and call in the money it owes me. Sadly, when the money does come in it will all go toward paying off existing debts, so my dream of getting a new laptop for my birthday in a couple of days is just not going to happen. Mine died horribly shortly after my last post, so I'm borrowing P'Chai's (horribly slow Celeron) laptop to get my work done.

I finally branched gtranslator and started committing all the stuff I've been working on off-line over the last few months. Nice to get it off my laptop and into CVS where others can chew it over. However, it's still far from usable and in particular needs a certain amount of GUI love. I'll have to sit down and get into a GTK+ frame-of-mind at some point. When it's ready, it should be a massive improvement over previous releases and due to the fact that a lot of the buggy code has been completely cut out and replaced, it should also knock most of the existing bugzilla bugs out in one foul swoop (hopefully).

I've also spent a fair few hours recently doing GNOME sysadmin work. As well as dealing with the day-to-day enquiries, I've made a suggestion or two to the (closed) mailing list, and started looking into resurrecting Bonsai, which seems to be sorely missed by a lot of people. I'm also preparing to produce a monthly sysadmin summary for public consumption, so the rest of the community can see what new issues have come in, and what progress the team has made towards fixing stuff on our team todo list.

We left England on Saturday evening, just as the weather seems to have started taking a cold turn. Arrived home in Ban Krut after a fairly uneventful flight via Dubai to Bangkok (Sat/Sun), and a similarly uneventful train journey down to Ban Krut, in the Prachuap Kirikhan 'jungwut' (district/county). It's still rainy season, and although it has been mostly hot and muggy, we've had some pretty spectacular thunder and lightning storms and torrential rain.

We're staying with P'Chai at the train station. We're still looking for a house to rent. The owner of the land I'm buying showed me the extent of the land - it's a lot bigger than I first imagined! Looking forward to getting the sale completed so we can spend a day cutting down the overgrowth. Although it was nice to see everyone back in England, it's also nice to be back where I can continue building a future for Mee and I. Also looking forward to seeing the hordes of people who have promised they'll come over to visit (yeah!). At least my Mum and my Gran will be coming in February.

Work

My current work priority seems to be making fairly slow progress. Whilst I'm very happy (and proud etc) of the design, I'm struggling to bring it to completion due to various problems and distractions. I've had to do some technical support cover, fix a few problems with another customer's site (which I admittedly broke trying to fix something else), and my laptop battery has finally given up the ghost, leaving me with a laptop which dies whenever there is a power glitch. My main issue at the moment is that although it works great on PHP5 with the new DOM XML and XSL APIs, when run on PHP 4.3 (the platform it is expected to be hosted on), the crappo deprecated APIs don't seem to behave in the same way. I am wrapping all XML and XSL calls in the application program using the HDOMWrapper and HXSLTWrapper classes from my

As for the laptop, given all the problems I listed (on a previous Advogato post), I don't see much point in wasting money trying to fix it. Hopefully, by my birthday in a couple of months, I will be able to buy a PowerBook. I am looking forward to getting it to dual-boot MacOSX (which I was fairly impressed with when I saw it for the first time the other day - it has a shell!) and Ubuntu Linux (PPC). I managed to shoehorn Ubuntu Linux (i386) onto this machine (a long story in itself), and am fairly happy with it so far (glad I came back from the RPM-based Fedora for workstation use). However, having a few minor package dependency problems trying to install the correct set of libraries to compile PHP5, so have entered a world of pain trying to get it to work using the stock Ubuntu PHP 4.3 package. The problem boils down to the fact that, with the DOMXML API on PHP4, the XSLT processor does not look for the 'xsl:included' stylesheets in the right place. I rewrote part of the XSLT wrapper to use the actual 'XSLT' (Sablotron/Expat) module, but then that fails with invalid tokens when parsing the output from a libxml-based 'DOM-to-string' function (and gives a rather useless error message which means I still haven't tracked down why - bloody Sablotron!). I've decided to not let PHP4 problems from keeping developing going. We'll have to decide when it goes live whether to upgrade the server to PHP5, host it on another server with PHP5, or attempt to debug any outstanding PHP4 XSLT problems.

Due to the fact that I don't yet have a telephone line, I am having to work offline and spend a couple of hours a day at the local Internet shop, which is a bit of a pain. After using ADSL again back in the UK, the 56k dial-up is painful to use, especially when trying to sync large amounts of data, especially when others in the shop are doing stuff. I definitely need to find out when DSL is coming to Ban Krut, and see if there's anything I can do to bring it on.

Non-work

No time for any significant progress in any particular open source area, except for a dealing with a few very minor GNOME sysadmin issues. I attacked the Gtk2 version of Gnucash but found that there are problems with the Debian guile (f**king scripting languages in applications again!) dev libs mean that I can't compile it. No way am I going to start building Guile from source or fixing f**king Guile problems. If I'm going to do any work on GnuCash, the first thing will be to remove the dependency on any languages other than C, probably by rewriting the important bits in C and making anything else a compile-time dependency. Proper PITA that I'll have to install a shedload of GTK1 libraries just to keep my accounts up-to-date.

Apologies to anyone waiting for progress with gtranslator! I'll try to get my work on that finished, tested and released before I start digging into other stuff like GnuCash.

Had a nice few days in Jersey, except for my laptop problems causing me pain and embarassment. I've decided I'm going to aim towards getting a 15" PowerBook (w/ATI gfx) for my birthday in November and struggle by with this one for now. Going to the airport in a couple of hours. Looking forward to getting home, but am feeling a bit rough after drinking all sorts with my brother and a few mates last night, so I'm not looking forward to spending the night in an economy class plane seat to Bangkok (with a connection in Dubai).

Oh, I should point out that I was completely wrong about GnuCash. It does rely on some nasty scripting (via Guile), but it is actually mostly Gtk2/Glade-based and not python-based as I suggested. I don't know where I got that idea from! I've started playing with the Gtk2 branch of GnuCash now, but it doesn't compile cleanly for me just yet.

Only one more week left in the UK. We're up tomorrow morning early to head down to Weymouth, where we're going to catch the ferry to Jersey too stay in St Aubin for a couple of days with some guys I'm working for. It sounds like they might be putting a lot more work my way, so it'll be nice to meet them. It'll also be nice to see Jersey, and a nice experience for Mee's last week in the UK.

Laptop/Ubuntu

It is now becoming almost unbearable. I listed all the niggles I've got with the hardware in a previous post. I switched (why!?) from Debian Unstable to Fedora Core 2 a couple of weeks ago, which broke a lot of stuff. I had to frig around to get MP3s working, and even now I haven't got half the useful applications working that I had before. I then made the situation worse by installing GNOME 2.8 (out of CVS) into /opt/gnome, which has taken out some of my panel applets, keyboard shortcuts (Alt-Tab) and other stuff because when I did it I ran out of time too tie up all the loose ends. I decided I wanted to go back to Debian, and along came Ubuntu Linux.

So, I downloaded and cut a CD, but for some reason my laptop (Dell Inspiron 8100) just freezes during the initial stages of the Debian installer. I cut another CD and checked MD5SUMs, so it's not a defective CD. Now, I must struggle on and get some work done on an 'only-just-usable' laptop. I'm now considering my next laptop purchase, and if I can hold out long enough to save up for one, I'm considering one of the new PowerBooks (15" or 17" would be fine!) with the ATI graphics cards (nVidia can suck my cock). Which brings me nicely to working out how to pay for it...

GnuCash

I've always had a love/hate relationship with GnuCash. One one hand, it lets me track all my financial accounts and transactions, but on the other, it's written in Python, and looks ugly with it's GTK1 interface. I've got nothing against Python as a scripting language, I just think that desktop applications should be implemented in C. I now have a considerable amount of data built up in GnuCash files, some of which I need to do a certain amount of post-processing that doesn't seem to be possible in GnuCash. Also, GnuCash won't work on my iPAQ, which is how I (eventually) want to input transactions.

So, I figured I'd start by analysing GnuCash's XML format and preparing some C data structures for them. I'd then write file parsing and writing functions, and wrap them up in some kind of 'libgnucashfile' library. I figured this shouldn't be too hard, and would pave the way for a set of Glade interfaces and some code to provide a GUI to maintain the files. Eventually, you could re-implement all of GnuCash this way, or just use GnuCash for the bits it does better.

gtranslator

I've made a lot of progress with converting the internal translation message structure to use the new gettext API directly. I found that I was wasting a lot of time trying to fix up things that I didn't feel belonged in gtranslator (at least, not in a GTK2-based program), such as colour-schemes and configurable fonts etc. Also, code to uncompress po files before editting, or work on compiled po files seem to me to be a kind of 'feature bloat' now. All this stuff is handled by other programs (e.g. fonts and colorschemes are now handled by GNOME/freedesktop, and users file manager should uncompress a po.gz file and run gtranslator on the temp file - no need to attempt this in gtranslator). Re-writing all this unnecessary stuff to work with the new internal structures proved to be more hassle than it was worth.

So, I'm stuck with a monolithic patch that changes far too much and wondering how to commit it in a clearly defined set of stages without reducing gtranslator in CVS to a largely rewritten beta version. I want gtranslator to follow the upcoming six month GNOME development cycle, and have a fully-featured translation editor by the time GNOME 2.10 (or whatever) hits the mirrors.

Why do people set up virus filters to report back to virus senders when most of the time the virus has forged the sender address?

It usually just means they end up mailbombing innocent bystanders and mailing lists with false 'virus notification' e-mails. For some lesser-technical people, this can cause them to panicky and paranoid that their (otherwise perfectly healthy) PC is infected and waste time and money getting re-assurance from techies that nothing is wrong.

So, help spread the word. If you, or someone you know is running anti-virus filtering software on your mailserver make sure the virus notifications are disabled. If you receive a virus notification to one of your e-mail addresses or via a list you are subscribed to, write back to the virus filter's e-mail alias (CC the 'postmaster@' too!) and tell them to cut it out and maybe point them at this diary entry or somewhere else that explains the pain.

The world could really use a VirusCop service (similar to SpamCop). Forward your virii to it, it will scan the headers, identify the source by IP (not by sender address, doh!) and contact the ISP. Only the ISP are going to know enough about the originating IP address to be able to do anything useful with regard to letting the user know they have been infected and/or getting them disconnected until it's resolved. A VirusCop RBL would also be useful.