Monthly Archives: November 2004

Firefox 1

It’s here.

Firefox 1.0 is now available for download.

Stop what you’re doing, go get it now and help reclaim the web.

UDPATE

And now I’ve installed it I’m over the moon! They’ve included the one feature I wanted more than any other – force other applications to open links in a new tab instead of opening a new window! No more spawning new windows – just the one browser and many tabs. Heaven!

More changes and bug fixes here : http://www.squarefree.com/burningedge/releases/1.0.html

It’s Time, If You’re Genuine

When you follow a foreign sport (go the mighty Canucks!) one of the trickier things to keep track of is time. GMT, +/-, daylight savings, all play havoc with the tiny section of my brain set aside to calculate in base 24.

Now, of all organisations, Microsoft have come to the rescue with a fantastic little tool bar icon, called rather aptly Microsoft Time Zone that allows you to specify up to five locations to keep track of. It’s small, elegant and does the job it’s supposed to with the minimum of fuss. Most un-Microsoft.

Of course, there is a catch.

It’s one of the carrots they are dangling in their new Genuine Microsoft Software program. Yes, you can only get this, and several other toys, if you agree to let Microsoft check if your install is genuine and licensed. For the moment it appears no action is taken if you are found to have an unauthorised copy but I’m sure the conspiracy theorists amongst us will be keen to speculate on where this may lead.

Imp hates Firefox… or is it the other way around?

Missing HTML?
The webmail my ISP uses (a horde IMP, or somesuch opensource thingy) doesn’t play nicely with Firefox. It was broken in 0.9.2 and it’s broken in 1.0PR. Why does it stop in the middle, or miss the start, or something, of the HTML transfer?

The only things I keep IE around for now are Flash amusements and webmail.

I demand that someone who isn’t me fix this. It’s my right as a freeloader.

Visio and database creation

For quite a while I used Visio 2000 Enterprise Edition to design database schemas, and then have it create and update the tables. Admittedly the Visio 2000 interface is a little cumbersome for such things: it’s overzealous on its checking before you can update the database, and just try and delete a relationship without the sky falling on your head — it somehow thinks some kind of underlying link is still there, and if there’s anything wrong with it, it refuses to play ball. But when it behaves, it’s an excellent timesaver.

The other week I upgraded to Visio 2003 Professional Edition. Somewhere between 2000 and 2003 they’ve scrapped the Enterprise Edition, and although Microsoft don’t specify it in their literature comparing editions and versions, gone too is the database creation stuff. Apparently they’ve moved that functionality into Visual Studio Enterprise Architect — which Joel On Software describes as the super expensive “Enterprise Architect” edition at the top of the line that hardly anyone ever buys; it’s only there to make the other prices look reasonable by comparison. Great.

In Visio 2003 you can still draw database designs, or even generate them from existing databases, but there’s no way to create the DDL (SQL) for them, or update/create the databases themselves. I spent a couple of hours searching vainly through the Visio menus (the “Database” one is particularly deceptive) looking for such options, but couldn’t find them. I did find stuff pertaining to outputting a bunch of data describing my database diagram, but nothing would let me create the database I’d meticulously designed, or even print out a list of the fields and their types and sizes.

I have Visual Studio 2003, but for various reasons it’s the Professional Edition. So I couldn’t get my lovely design into the waiting and ready Oracle database. On the Visio 2003 Save As, it lets you choose “Visio 2002”. I wondered if by some fluke Visio 2000 would read a 2002 format. So I saved it, removed Visio 2003, installed Visio 2000 and tried to load it up.

Eureka, it worked. There was some further messing with it to get around a relationship on the database that was causing an error, and which I eventually decided I wanted to delete (an impossibility in Visio 2000 — see above) but eventually I got my DDL and indeed managed to create my glorious Oracle database.

But really, it shouldn’t be this hard.

Halo 2 arrives tonight

Halo 2 midnight openingIt’s not just Firefox which is released on the 9th. The Halo 2 publicity bandwagon is in full swing, with its official release on Tuesday… or for those who can’t wait a second longer than is necessary, midnight on Monday night. The “Master Chief” mascot appearances (unarmed) have been happening over the last couple of months, the Australian Halo 2 web site has a splash of local content — for browsers from Melbourne, the Covenant fly in over the Rialto towers (presumably while the Halo 2 tram passes nearby).

A number of shops will be open for sales on midnight (including the pictured one in Chapel Street, Prahran), but Myer stores in Melbourne and Sydney will be holding all-out parties, with music performances, giveaways and appearances from celebrities such as local footballers and one of Paris Hilton’s cast-offs.

It’s a reminder that the video game biz is worth big bucks. The first Halo did a lot to drive XBox sales. Halo 2 may not make the splash that, say, Shrek 2 on DVD did a few days ago, but at more than double the price per unit, and with some gamers likely to be queuing for their copies, there’s a lot of moula at stake.

Me? I’ll be snoozing. I’ve got Halo, but haven’t had time to play it properly. I’ll probably get the second game, but wait until it drops in price to at least below $50 (and I’ve got further through the first). I do enjoy my games, but I’m not hardcore, and personally I can’t quite stomach playing $80+ for a game.

Will be interesting to see if Halo 2 replaces its older brother as the XBox game with the highest rated reviews ever.

Firefox 1.0 imminent

According to those who should know, Firefox 1.0 (not the preview version, not the beta, not the 0.8, but the real actual version One Point Zero) will be out on November 9th.

PS. I hope they’ve fixed the thing where multiple links on the links toolbar pick up the same icon…

Firefox 0.9 links bar

RSS in full

Our RSS feed now includes full articles, not just annoyingly short extracts. ‘Cos although I’d love to make some money from the Google ads to cover the hosting costs, the hosting isn’t actually exhorbitant (in fact it’s a bloody bargain) and anyway the concept behind this site is to spread and discuss ideas, not to try and make money. Besides which the proliferation of site content via RSS may in itself bring more site visitors.

Thanks especially to Paul on the comments on full vs summary RSS feeds.

How to Not Sell Shareware

Part Two of the ongoing saga of Mercury MailRoom
I’d decided to write the software and actually the bulk of the work went quite quickly, once I’d worked out how to use the ADO (Access Data Objects) components that would let me communicate with the simple database I’d designed. My first mistake, though a minor one, was being a good little client-server guy and putting business logic into the database end, by writing stored procedures. All very clever, but later when I wanted to change the SQL in one of those, it was non-trivial. I suspect it would’ve been possible, but it’s much easier to just change a SQL string in your front end. Remember, database programmers, it’s a total pain in the ass to alter existing databases with data in them ! If you want to avoid writing export/import routines with each new version, plan ahead by doing all those things you’re not supposed to do: keep the business logic entirely in the client and maybe even add extra unused columns to some of the tables. The second is not all that hard to overcome – it’s much easier to add new columns to an existing table because there’s no existing data that needs to be preserved: you simply check for the columns existence and ALTER TABLE if its not there. Mercury MailRoom does this.

The next thing I did which added several weeks of frustration to the project was to not consider buying components to help with tricky functionality. Mercury MailRoom needs to programatically “paste” one or more files into the clipboard. I googled for hints on how this could be done and tried all the “this is how to do it” code snippets, none of which worked. After lots of reading and rebooting locked up PCs I popped $100 into the wallet of a nice fellow who’d written a Delphi component that did this for you, and within 30 minutes the job was done. Don’t be afraid to spend a little money to save time.

One of the next things I did was buy an eBook filled with sage advice from other shareware authors (I can’t find the link right now). It talked about software design, website layout and how to work with other shareware companies to promote each other’s work. I haven’t done this yet because I’m not sure who to link up with; I suppose it should be someone who writes email-related software.

Another decision I made was to not worry too much about protecting my software from hackers; and in fact my program was cracked after just three days in the wild ! I figured if someone wants to steal my program, hey at least they’re using it ! And maybe later they’ll recommend it to someone and word will spread. As I’m just getting started, hackery is promotion ! I was more concerned with making my keys easy to handle for my real paying customers (erm…still none !) In fact, I rewrote the security system so that keys were no more than 10 characters long, and contained only letters and numbers; no punctuation or anything hard to type. You want the path from “I might buy this…” to “money sent and it’s registered” to be totally simple and foolproof. If your keys are long and hard to enter, it’s a point of friction in this process. Also, don’t bother with checking if the user is trying to beat your time limiter by moving the system clock back; you’ll only get tangled up and annoy your paying customers when daylight saving rolls around 🙂

And harking back to my second point, there are plenty of excellent components to handle “shareware locking” for you; I just wanted to do that bit myself.

That South African guy never got back to me about the 30 licenses. So here’s a song about him – lyricsMP3 (bottom of page)

Word options

Word 2003: Tools menuDumb things in Word 2003 that they should have fixed 3 versions ago, number 473: Not being able to get into the Options when you don’t have an open document.

Unix to Windows FTP year issue

While wrestling with automated FTP jobs at work, thanks to a colleague I’ve discovered a cute little buglet when Windows talks to FTP servers using the Unix standards (which includes IIS by default). Actually it’s not so much a bug, it’s more of an issue of a supposedly user-friendly way of showing file dates still being used even when the “user” is another machine.

It goes like this… let’s say the Unix FTP server is 1 minute faster than the Windows client one, and the file is brand spanking new, just placed there. It’s 10am, and your Windows client goes looking for a file.

Windows says “What time was this file dropped?” Unix, being the kind of laid-back casual user-friendly operating system that it is, abbreviates its answer to exclude the year, and replies “Nov 4 10:01”.

Windows sees this, and the logic says “Right now it’s only 10:00am. This file can’t be from the future. I’ll assume it’s from last year.”

Evidently this can happen if the Unix server is a second or many minutes ahead. It may be further complicated if they’re running on different timezones, GMT vs AEST etc.

The solution is probably down to your individual circumstances. For us, we know we’d never be getting files that are a year old, so we can easily code around it. Ultimately though, surely something should be changed so that the client can get the full picture, not an abbreviated form of the file date/time.