Skip to main content

Why I like the current iPhone craze

· 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.

Custom hierarchical cursors with the AdvancedDataGrid

· 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.

MediaWiki 1.13.0

· 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.

An AIR of excitement

· 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! :)

Memory leak in ibm_db.fetch_assoc

· 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.
ibm_db.free_result(stmt);

AdvancedDataGrid column switching performance

· 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...

DB2 Net Search Extender's index update sheduling

· 5 min read
IBM DB2

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'

Never trust a bunny!!

· 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/catchmail.sh ; rm {}'