Older blog entries for salmoni (starting at number 313)


I haven't done much work lately except for a brief investigation into writing my own graphing module. Yeah, there's plenty out there, but none of them do what I need in the way that I want. All have been made with particular purposes in mind, all of which are different from my aims. The process would be quite simple (maybe a couple of days dedicated hacking at most), so I'll take the idea seriously (please, nobody say "don't reinvent the wheel" - if we didn't reinvent the wheel, all our wheels would be made of stone. Ego is the mother of reinvention anyway, so you haven't got a chance).

Not much else done on the multivariate stuff except for looking at a generic design matrix module. I have some code for it already, but it's not suitable.


Guess what folks! Disaster has struck.

All the written work for the last four years of my Ph.D was kept in a filing cabinet in my office. I have been working from home lately (because I didn't have a computer and the office I was in was being redecorated). I went in yesterday to pick up my stuff and move it home (because I am due to leave the office in a months time), but I find out that someone has thrown everything out. Every test I performed, every questionnaire, every piece of raw data.

All in a landfill somewhere. Four years of flippin' work. Now being trodden underneath the stealthy feet of rats.

Luckily, I transcribed all the data into electronic format using a speadsheet, but I cannot now go back and check my data if a query is raised about it.

I'm really not sure what to make of it, and I'm a bit shocked. My supervisor was obviously not happy about this, because in science, data are sacrosanct and should be preserved. I've never seen him angry before, and like he said to me, I was remarkably restrained considering.

Confidence and Stability

I wonder when it is that people decide to announce that some software they've been working is going to move from a beta to a stable release.

Personally, I find the idea a little bit intimidating: I am sure that many people here have done so many times in their lives, and now do so without much, if any,trepidation. However, I have not done so before.

I'm not asking for advice, but I find it interesting as to how people would make the decision: to stay for a bit longer as a beta release, or to launch as stable. As I see things, there is a massive difference between the two. Beta releases are not yet complete, they may crash, lose data, cause problems or any kind of mischief. But then, that us what a beta release is: it is not finished or completed, and despite the best efforts of some anti-FOSS shills, if someone says that their application is beta, it means that it is not intended as a fully funtional piece of work. A stable release though, is intended to be used by end users without too much trouble. Yes, things may go wrong, but that happens with any development methodology (and does!).

To me, releasing something as stable means that it has my personal seal of approval, and my name is irrevocably attached to it. If it fails like one would expect from beta software, I have made a mistake, and one that may have cost people more than it should in terms of time and the effort in cleaning up.

So, yes, I'm getting the feeling that once I have made the final set of changes to SalStat, I am going to want to release it as a stable application. Actually, it pretty much is already. Being written in Python, it is unlikely to do anything other than stop if a serious bug is encountered: taking out a users home directory is extremely unlikely, but still I don't feel the confidence that I thought I would in it.

When I use my application, it still feels a little bit "clunky" even if users have complimented me on it. I suppose that as it is my work with my name associated with it, I just want to make the best darn application that I can. Sadly, I will never be truly satisfied (unlike, say Donald Knuth who seems to be happy with TeX).

And of course, I am facing the same issues with my Ph.D. It feels hard to be satisfied by it, at least to the point that I thought I would when I first started.

Outside of these (perfectly natural) doubts, all is going well. I've done a bit of hacking on some more advanced routines, but there is nothing firm to show for it yet (in terms of actual tests).

22 Nov 2003 (updated 7 Dec 2005 at 12:21 UTC) »


I've started working on the multiple regression algorithms. The basic stuff is extremely simple using the Numeric and LinearAlgebra modules (maybe 6 lines at most) for the basic stuff. Of course, there's lots of extras to put in which is taking up the time.

After this is finished, I can begin work on the other multivariate stuff. I'm quite enjoying matrix maths with Numeric. Am I sick or what? :^)


Went out to a club called "Jumping Jacks" last night and danced loads. Good night overall.

Cardiff was surprisingly quite. I don't know if it was because the rugby world cup final was being played the next morning.

And congratulations to England! For the first time ever, the World Cup is coming to the Northern Hemisphere! Let noone talk about the north south divide again!

This may come as a shock to people who know that I'm a Welshman - and yes, I'm damn proud of it - but I really turned against this attitude a few years ago when I saw some English friends of mine nearly getting into a fight because some of my countrymen took a dislike to them purely because they were English.

I don't mind making jokes about it, indeed when I was in Bristol, I had loads of jokes made at me, but as long as it's good natured I don't mind. The problem is that there are always people who's sense of humour fails and then they take it seriously. And if they're going to have a go at the English, why not next the Scots, Irish, French, or blacks, gays, jews, anyone slightly different? Where is the line of hatred drawn?

Best just to accept the England really do have the strongest rugby team in the world - at the moment! We did scare them in the world cup though, and who knows, the six mations should be a lot more interesting now we have the world champions playing! Can't wait for it now!

Congratulations again, England!


Not much, except a few thoughts on its future which I will keep to myself for the time being. Still having probs with one of the tests. The actual test routines are easy, but the preparation is difficult.

Read an interesting article on layering architecture which someone recommended at comp.lang.python. Turns out that that is how I've done my program already - aren't I clever!!! ("oh yeah", I hear you say. "Prove it!"). Anyway, it isn't my ideal model. I have thought about this (please bear in mind that I am self-taught about this stuff), but (using OO programming) code reuse would be greater if every object was independent, or at least relied upon a common object. In other words, a program would have all communication passed to and from one object (a controller) which intelligently knows what to do and how. The problem is working out the "intelligently" bit. However, this means that only one object would need to be specific to a program. In fact, once the classes were defined, programming could be a simple drag'n'drop affair.

I need to think more about this. Is there such a thing as "intelligent classes"? Heh, I'll use some AI code to make them self-aware, and then I don't have to do any more programming - just slap the computer when it doesn't work right! </sad joking>

LifeWales lost to Russia in football which I predicted. It's not very loyal of me, but I couldn't see them winning, especially with the pressure put on them by the press.

And my housemates have colds. And I don't! Which was nice...


Not done much except for cleaning the output - just basic html kind of stuff, though I have also ben boning up on matrix maths ready for an assault on some more advanced statistics - is now the right time to do this, when I am supposed to be finishing off my Ph.D.? But then I remember: there is never a right time for anything, and it actually gives me a welcome break from studying and analysing data. Just something different to take in: after all, there is a saying "a change is as good as a rest".

I'm going to spend the rest of the evening getting to grips with Information Foraging by Pirolli and Card again. I really need to know it at a low level before I begin to write about it in my thesis.


I wonder if my Uni webmail is borked somehow? I sent my supervisor an email on Thursday (he was checking up on my progress, so I responded after a busy week last week), but he hasn't replied. He must have been out of the office.

All else is good for the moment, though I had a refusal for another HCI job. I was actually surprised to get a reply, as so many job applications for on the web result in no contact whatsoever.

Work seems hard to come by at the moment...


Sorry folks, I've done little work over the last couple of days. My sleeping patterns are seriously out now, and only staying awake throughout the day lets me sleep at night, even tho I walk around like a zombie all day. Not nice.

I've been in touch with someone who's giving me advice about stats which is nice.

Downloads are going well too considering. Of course, not on the same level as stuff like GAIM, but then mine is a very niche market.


Outside of Phd work, I've managed to apply for 2 HCI jobs. There was another that sounded good, but they wanted a UI designer with skills in html, xsl, oracle, jscript etc as necessary. Optional were skills in usability, HCI and so on. If they want a programmer, why don't they ask for one? HCI people are *not* (by definition) programmers.

So I didn't apply, even if I do have most of the skills. :^) The others sounded good though.


Getting interesting!


Some more gradual work done with the output. It looks a little nicer now. I have also done some work on the overall architecture and it is more cohesive as a whole. I'll get the upload to cvs a bit later on tonight.

I'm using cvs a lot more than I thought I would, though I haven't had to use any of it's features yet. It's the kind of thing that a developer would only notice when its gone and needed!


Spent yesterday in Bristol - my stepfather Chris was having a heart operation and it seemed to go okay, though there was a little bit of trouble in getting him a bed in the first place. It appears to be the limiting factor in operations these days, and Monday isn't the best day to go in, it being after the weekend and so on.

Other than that, I am really tired and sleepy. For some reason, I'm sleeping during the day more than I should do. Example: today I slept from 11.00 through until 16.30. I had a good few hours last night too, so I'm wondering if maybe I'm working too hard?

The problem is that I don't know any other way to work! ;)


All going nicely, thank you very much! I've set up a mailing list for the manual translators at SourceForge. Tonight I will spend a little time working through the keyboard shortcuts which are actually trivial to implement in wxPython once a menu has been constructed. I also need to figure out drag and drop kind of stuff so that files dropped onto a widget get imported properly. That would make a nice difference.


My date cancelled yesterday evening which was a bit disappointing as I've been looking forward to meeting her at some point. Still, we've rearranged things for next week, maybe Wednesday.

But no big trauma - I went out with some friends last night, 2 of whom (not me, btw!) were "kind of" on the pull. Ended up in Liquid, a club in Cardiff city centre. I had quite a good dance which I haven't had for a long time.

Also been thinking more about setting myself as a HCI consultant. Perhaps membership of the ACM might help bolster my credentials? My Phd should be enough for most people, though the field of HCI is apparently littered with "usability experts" with few relevant qualifications or experience. It is quite an open field and doesn't require any accreditation, though there are moves to change that.


Got my daily fix this morning. I loved the perceptive comment by someone who noticed that IBM's submissions always seem to require the SCO legal team to work through the weekend. In some ways, it is entertaining to watch this case slowly unfurl as IBM's business tactics become clearer by the day, but in other ways I would like it to finish quickly and decisively.


A handful of changes! I redid the between subjects anova routine (optimised along the way using as many Numeric functions as possible), and started sorting out the descriptives output. The new architecture appears to be working! Everything seems to have a nice little place and all is coherent (at least to me it is!). The changes are being committed to cvs as I speak.

And I have had some firm offers of help now! The manual is being translated into Spanish and German, with possibly Swedish, Russian and Ukrainian. Surprising to me, I found the offers of help genuinely touching, and I am looking forward to seeing the finished versions. The original authors will retain copyright and should (I believe) get authorship. It's a bit of a job at around 12-14,000 words too. Shame I couldn't sell it to make them some money.

I made a list last night of things that need to be done before SalStat can be considered a serious application (at least by myself). By serious, I mean something that wouldn't look out of place being used on a business desktop. However, the list is a lot shorter than it used to be which is also encouraging.

vdv - interesting rant by Linus Torvalds. Got me thinking whether it really is worth the bother of using XML for my native file format. Thinking about it, plain text would actually be easier to use both from a users point of view, but also from a programming point of view, i.e., the increased complexity wouldn't offer me anything extra.


Got a hot date on Friday! Looking forward to it.

And films-wise, I cannot wait for the new LotR film to come out. I haven't even seen a trailer for it yet (because I haven't been to the cinema), and I was wondering if it's worth completely avoiding them and going into the experience "pure". I did that with the last Indiana Jones film - tried to avoid all materials about it, and it was a bit more interesting for me. I still get excited when it's on telly now. Daft, isn't it?

3 Nov 2003 (updated 3 Nov 2003 at 23:15 UTC) »


More hacking done! I found there was a problem with the output, but that's sorted now - I am placing each tests output into a html table which looks okay. I must pay some attention to the layout at some point too, in order to make it look nicer.

The modularity has been improving, and I've done what I would call some "voodoo" on the code (though doubtless, others here would quick likely call it basic stuff, but I am still learning!). SalStat can now work out what tests have been implemented and knows how to call them when the user selects them. This doesn't sound like much, but it means that to add a new test, the code just has to go into the stats engine module. That's it. No changes anywhere else needed in the entire program which is good for me and the program in general. I still have to finish the output for 3+ sample tests which will involve changing the test methods for the anova. That's going to be a hassle, but not major. The other 3 tests should be okay though (Cochranes Q, Kruskal Wallis, Friedmans).

I put an advert up at SourceForge for translators - currently have 3 offers for 4 languages: Swedish, Spanish, Russian and Ukrainiane. Hopefully these people aren't going to be too daunted by the task: the manual is ~9,000 words. I only took one evening to write it, but then I am a very fast typist. Either way, I'll get back to them and see what I can sort out.


Nothing at all around here. This is getting depressing, for I cannot even lay my hands upon even the most basic of positions. Of course, I am really in the wrong part of the world considering my qualifications and experience (in particular: the one qualification I will have soon!), and all I can get hold of are adverts for IT Skills courses. You know the kind; well-meaning but aimed at other people: "Retrain for computers! Learn IT skills!" I had a look at the website of one of them (tut tut, no alt text for the images!), and it's all how to use Office XP and the suchlike. I guess there is little call around this area for people like me. Maybe I should strike out on my own. I quite like the idea of working for myself, but it is a bit scary at times.

Life Not too bad considering I'm unemployable in the country of my birth! Had an email off my friend Trish (in Oz) this morning which was nice, and one of my webmail accounts had 518 (!) spam messages. One of them said "Stop emails like this one!" which I thought was quite ironic and a bit amusing (for once!), but still spam nonetheless.

304 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!