Skip to main content

· 4 min read

Most people who know me will be somewhat surprised by the title of this post... but it's true. I do, indeed, enjoy the current iPhone craze - simply because I think some good is likely come of it :)

Specifically, there's two main positive things that I think may come from the current iPhone craze:

A shake-up of current mobile phone manufacturers

Until recently, I had just spent six years working in the mobile services division of the Telstra Research Labs, and I've gotta say, I'm not really impressed with the current state of mobile phone products. Frankly, they suck. They should be a lot smaller, faster, and easier to use. And yet, the likes of Nokia and SonyEricsson keep making phones bigger, slower, and more powerful - aka more complicated and buggy. Of course, there are exceptions - some of Nokia'a Series 40 phones, for example, are excellent. But the general push among manufacturers and retailers, is towards bigger, "smarter" (yet dumber) handsets. I can only assume that this push is largely driven by the telcos, who want, more than anything else, to see mobile data traffic sky-rocket.

· 2 min read

Yesterday, I was trying to write a custom hierarchical cursor class that implements the IHierarchicalCollectionViewCursor interface. But no matter what I tried, the AdvancedDataGrid would not recognise my implemented cursor class as being hierarchical. When I extended the HierarchicalCollectionViewCursor class, the AdvancedDataGrid would happily recognise it - even I overrode every single method and property... yet, as soon as I switched the class to implement IHierarchicalCollectionViewCursor instead of extending HierarchicalCollectionViewCursor the AdvancedDataGrid would break again.

· One min read

I just upgraded Winiki to MediaWiki 1.13.0. But once I had done so, the site failed with following error message:

SQL failed ... column "rev_parent_id" does not exist.

Now, it turns out that the revision table was added to MediaWiki in version 1.10.0, so it seems this was something broken since the upgrade to 1.10.0 back in November last year, but was only now being exposed. No doubt the issue has arisen because I insist on using PostgreSQL.

· One min read

Last night I received some pretty exciting (to me) news about something that's just been released on Adobe's pre-release site (which I am a member of)... unfortunately I can't say what it is yet (I've been sworn to secrecy), but it will likely help with a number of technical issues I'm currently facing in a major project at work, so I'm very happy with the timing! :)

· One min read

I had a really frustrating time yesterday, trying to sort out some bugs in IBM's ibm_db DB2 driver for Python. Unfortunately I don't know Python well enough to know whether the bugs are in the ibm_db driver, Python, or my misuse if either or both :( But what I can tell you, is that the following Python / ibm_db code results in a definite memory leak.

sql = "SELECT filename, data FROM files WHERE id = ... ";
stmt = ibm_db.exec_immediate(conn,sql);
row = ibm_db.fetch_assoc(stmt);
row.clear(); # Just to be sure.

I've started a discussion on the memory leak issue over at the ibm_db group (on Google Groups), so it will be interesting to see what transpires :) But all I can say at this stage is this: IBM's ibm_db DB2 driver for Python seems only half baked, currently. To be fair though, it is still officially in Beta.

· 6 min read

At work, we've been having some significant performance issues with the Flex AdvancedDataGrid control, so my boss has begun a dialog with some of the AdvancedDataGrid control's developers over at Adobe. As part of that dialog, my boss asked me to write a brief summary of the problem - which I've done. But it has occurred to me that the problem description is likely to be very interesting to some people, so I've decided to publish it here too. And so, here it is...

· 5 min read

The DB2 NSE service crashed my DB2 server over the weekend... again!! And this time it corrupted one of my user tablespaces!!! Very annoying. However, in the process of restoring the destroyed database from the most recent backup, I noticed entries in the db2diag.log file indicated that db2text (the NSE indexing process) was trying to update indexes for a database that no longer exists - ie a database that I dropped some time ago.

Now, this was not new to me... I'd actually seen this benign error before, but had not found a solution to it yet. You see, to fix the problem, the most obvious thing to do is simply drop the indexes via:

db2text 'DROP INDEX idx FOR TEXT CONNECT TO db USER name USING pass'

· One min read

Ok, I screwed up!! I was playing with an xargs command in order to process, then delete, some files. Since I was still "developing" the command, I was simply echo'ing the commands rather than running them... here's what I ran...

ls -1 | xargs -I{} bash -c 'echo cat {} /usr/local/bin/ ; rm {}'

· 5 min read

We use a Thecus N2050 at work for external backups. The Thecus had been running very well (albeit noisily) in a hosted data-center environment, but has recently been shifted to our local office.

Now, a couple of days ago, the Thecus (as we like to call it) started to have some serious issues - spefically, our Linux kernel was reporting constant IO errors whenever the device was under heavy use. After a quick check, I noticed that the lights on the front were flashing to indicate that the second disk had failed. Since the device was (and still is) running in RAID 1, this should not have affected the device's reliability, but just to sure, I pulled the second disk out.

It was then, upon restarting the Thecus with one less disk, that I noticed the horribly loud fan... and subsequently realised, that the fan could not have been working prior, since it was so obvious now! :(