software


I’ve held out for a while, but last month reached the point where I need some kind of word processor & spreadsheet software. I use MS Office at work, but have always considered it too expensive for use at home as I don’t need much.

On my Windows box, I had been forcing myself to use Open Office. It worked, but that was about all; I hate the interface, it doesn’t hold a candle to MS Office. It was actually one of the first things I tried when I started using this Mac - and it was an utter mess, barely even able to load.

Office for Mac 2008 didn’t fare much better. I’ve had some exposure to it from the mac users at work, and what I’ve seen is not only yet another Microsoft interface that I would have to puzzle my way around, the memory it used on a decent machine indicated it would absolutely kill this poor little 512mb laptop.

The A$650 price, and reviews like this one from MacInTouch (particularly the memory usage section), sealed that deal.

I decided to put up with nothing, but that didn’t last long. When the need hit last month, a few searches lead me to iWork 08. I’d never looked into it beyond the initial reviews, but thankfully it has a 30 day trial.

I’m now hooked :)

It has taken me a few weeks, but my needs at home are so basic that I’ve quickly adapted to the iWork interface. The only thing that gave me grief is border styling in Numbers, but I think I’m getting the hang of it.

It’s a different and far more basic approach to Office application design, but one that focuses on making document creation easy rather than cramming itself full of features. Fairly typical of Apple software, really ;)

The biggest win, in my eyes, is the memory usage. I still haven’t lost the amazement of running Safari, iTunes and Mail at the same time on 512mb ram without any noticable system lag. Apple have taken the same philosophy with their Office apps, and I couldn’t be happier.

The only time it starts lagging is when I leave Safari + Mail open and run both Pages and Numbers with large documents. Even so, it wasn’t until I upgraded to 2gb ram that my Windows box was happy with that much running.

I just… I’m sold. All this for around 15% of the cost of MS Office.

I think 3 huge posts in the space of a week is enough. It’s not that I had them built up from a month of silence, I’ve just had a lot to say about topics that came up recently :)

And just because I don’t want to make a new post about it, some fun news.

I noticed as I wrote my Awaken post last night that the MacHeist front page had changed to “coming soon”, and this morning I woke up to two new software keys sitting in my inbox! It turns out that the fantastic MacHeist bundle I picked up in April has been re-released with three new apps, and because it’s the same price they managed to extend the deal for existing bundle purchasers. The new apps make it even more of a steal:

  • VectorDesigner (woot I don’t own any OSX graphic tools)
  • TextExpander (read about this on DaringFireball, didn’t want to pay full price)
  • SoundStudio (if it gets unlocked)

The bundle is packed full of useful stuff, particularly for new OS X users. I haven’t tried the new apps yet but out of the others I use them all except for:

  • The games (they’re old and obviously released into the bundle as advertising, Enigmo was one of the games ported to iPhone for the WWDC 08 keynote)
  • iClip (it’s sluggish on 512mb ram)
  • DEVONthink (I’ve been looking for an excuse to use it though)

So by the time I buy a new mac, I’ll be using every app except the games. Even if you’re not a new mac user, for my money there are some very handy tools (CoverSutra, Awaken, XSlimmer, WriteRoom) that don’t have any good free equivalent and would cost more than the $50 bundle price just by themselves. VictorDesigner and SoundStudio are both worth more than the bundle price alone, so if you can make use of either one it becomes a no-brainer.

And to top it all off $12 of your money will go to charity. Pick it up now to help guarantee SoundStudio for everyone :D

I’ve had a MythTV box running for quite a few years now, but there’s always new things to learn, right? :)

My flatmate’s TV is in for repairs so we haven’t been using the box in the last few days, with a big NRL game on tonight it was supposed to be recording. I became concerned when the drive light wasn’t flashing as we ate dinner, a quick check of the web interface set my alarm bells ringing. Nothing was recording, and in fact nothing had been recording for nearly 2 days.

The time of failure co-incided with a machine lockup while we were trying to watch TV over the network (it’s saved as MPG so this is easy to do). With no TV screen I hadn’t verified that MythTV was working after the reboot, only that the SMB shares were alive. Visions of dead hard drives floated into my head as much frantic searching and diagnosis ensued ;)

The problem turned out to be very subtle, this explanation may get a bit technical but I couldn’t find any references to it on google so hopefully this post will be useful to someone else.

I only have one machine, but the log clearly said “Running as a slave backend“. Therein lies the problem, the Master server thought it was a Slave backend and sat there trying to connect to nothing. This means no scheduled recordings either because scheduling is all handled by the Master server :(

MythTV is amazingly flexible. It handles multiple backend recording machines, each with multiple capture cards, as well as multiple frontends. Unfortunately a very flexible system easily leads to a lot of configuration complexity, a fact I know all to well from my time in ELJ support.

After browsing around various forms and mailing lists for nearly half an hour I ended up in the Configuring MythTV docs. If you scroll down to the general section, you’ll see some confusing paragraphs:

If you will be deploying multiple backends, or if your backend is on one system and you’re running the frontend on another machine then do not use the “127.0.0.1″ IP address.

NOTE: If you modify the 127.0.0.1 address and use a “real” IP address, you must use real IP addresses in both fields, otherwise your frontend machines will generate “Unexpected response to MYTH_PROTO_VERSION” errors.

To understand that, you have to understand that everything in MythTV land is controlled by a single MySQL server. Both the Backend and Frontend sofware connect to the database, read config settings for their hostname (they’re designed to netboot on diskless machines) and then read the global Master Server IP to connect to.

I don’t know why this option exists, but one of those per-host config settings is a Backend Server IP.

And suddenly it hit me.

A week ago, I downloaded MythFrontend for OS X. This poor little iBook is too slow to actually watch TV, but before I discovered that it was the first time I had run a remote frontend so I had to change a few things to make it work. One of those was the Master Server IP.

Since this had been set to 127.0.0.1, the frontend couldn’t connect to the Master Server so I changed it to the Master Server’s network IP. The frontend worked, everything else seemed fine, so I thought nothing of it. Until the Server rebooted.

It turns out that when the Backend loads up, it compares Backend Server IP it has been assigned to the Master Server IP. If they match it loads as the Master; otherwise it becomes a slave. Apparently, it doesn’t bother to figure out that the Master Server IP is the same machine as the 127.0.0.1 it has been told it owns. Isn’t this option redundant? Can’t the Backend just check if it owns the Master Server IP when it already listens on all interfaces?

So long story short, if you mess with the MasterServerIP in your database make sure you also update the BackendServerIP listed in the settings for your Master Server’s hostname. ugh.

On the plus side, I think half an hour to fix a problem this subtle in configuration settings that I had no clue existed is a new record for me :)

I’ve done it. I’m ditching Vista for OSX. You may think I’m a switcher, you may think I was a fool for using Vista at all and if you’re like the rest of the world, you probably think I’m a fool for sticking with it for the 12 months I did. If you think any of those things, you’re wrong. I still love Vista, but have decided that it just doesn’t run well enough without a beefy dual or quad core cpu and I have no intentions of upgrading right now. So what am I using? Well bear with me, there’s a bit of background to this one :)

I am by no means a switcher, or if I am I switched years ago. Despite never actually owning a mac, I’ve been saying ever since I left uni that if I buy a laptop it would be a mac. Unfortunately, I’ve had absolutely no need to buy a laptop and my desktop machine is for games which means macs are out. I did however convince my mum to get a mac laptop in 2003, which she loved and has stuck with macs through to what is about to be a second replacement laptop.

Which brings me to today’s story.

Over the christmas break, the screen on my mum’s iBook G4 went dark. It didn’t take me long to figure out I could still see the screen if I used a torch, but a quick hunt around google revealed it would be a monumental pain in the arse to fix - most likely a broken inverter cable (an apparently common problem in this model of laptop after 3 years of use). The worst part is that in what I can only describe as a fit of stupidity, when I helped her buy the laptop in 2005 I neglected to make sure she bought the extended warranty which would’ve covered this.

I knew it would work fine with an external monitor, but mum doesn’t travel with the adapter nor did she want to buy a monitor and tether the laptop to a desk. So mum took the lappy to her local apple shop, they refused to believe it was the inverter cable and charged her $100 to say “We will only fix this with a new screen, which will cost you nearly a thousand dollars to fix. Buy a new laptop”.

Buying a new laptop is what’s going to happen, that’s for sure, but not from those idiots. Said laptop was sent down to me (including the external monitor adapter) via an uncle who was visiting Brisbane, and now sits on my desk. I’m heading up to visit mum later this year and my task is to buy a new MacBook and do all the data transfer legwork so the new mac has all the photos, music etc from the current one. In return, the iBook is mine to do whatever I want with.

So you can see why this was an opportunity I just couldn’t resist. I spent most of last week testing the water for using this laptop as my primary machine, and all I can say is it never ceases to amaze me how lightweight unix feels. I have a linux file server and MythTV box so this is nothing new to me, but we’re talking a 1.2ghz G4 with 512mb ram here. I have 6 apps running + a temperature monitor, this works because the only apps using more than 50mb ram are Safari and NetNewsWire. There’s no free ram but it has 130mb inactive and there is no swap activity as I switch between apps. Things can get hairy if I go nuts with installers or other cpu heavy tasks in the background, but I

Not to mention the fact that it has a 3 year old graphics card designed for a 1024×768 screen - but I’ve installed a hack to run the external monitor at 1920×1200 on my 24″ lcd. I figure it’d hate that for sure, but it’s surviving admirably.  Most of the fancy graphical effects are horribly slow due to using the CPU to render them, but they’re all either rare or avoidable.

 

Overall I’m amazed at how much this little machine can handle, which is why I’m migrating. I was already running my mail and documents off the file server and use Newsgator to sync my RSS feeds, so the only thing left to migrate is my iTunes library (which I doubt will be much fun, but I’m up for an adventure).

Having used a mac plenty of times, the only real issue I’ve had so far is the keyboard shortcuts. I was willing to put up with the pain of re-learning the text navigation keys, but while looking for a way to fix the terminal keys I discovered a way to enable windows-style keys (although making it work on leopard requires info from one of the comments). Yay for windows shortcuts and muscle memory! It even has old DOS favourites ctrl+insert, shift+insert etc.

I also need to buy a new blogging client, I’m leaning towards ecto but there are still a few options to consider. I noticed MarsEdit 2.1 making some waves on my rss feeds but I can’t stand editing HTML with tags anymore. I’ll rant about that later :)

 

As for my desktop machine? Well it was already dual booting to XP for intensive games due to the vista speed issues. XP will now be the only thing it runs.

I just found a Vista Death March article by John C. Dvorak talking about Vista’s lack of ability to sell, and for the most part I agree with him.  However at one point he suggests they should go back and rebuild it on XP.  Funnily enough, that’s actually the exact reason Vista was delayed so much.  What I’m about to say won’t be a surprise to my close friends because I’ve been saying it to them for most of this year, but I think it’s time to try getting the word out there and at the very least give me an easy link to point people at.

The huge delay in Vista’s release cycle, and the dropping of all those cool features, did not happen because Microsoft are stupid.  It happened because Microsoft have more balls than most software developers (although money helps too).

The details are buried in Paul Thurrott’s Road to Gold article from last year.  It’s actually quite an interesting read if you have some spare time, but today we’re going to concentrate on page 3.  It talks about the 2004 area of the timeline, the point where Microsoft had been building hype about the OS for nearly three years and then suddenly went silent.  The story is spread a bit thin through the page, but is mostly summed up in this quote about a third of the way down:

By that time [April 2004], Microsoft group vice president Jim Allchin had decided that Longhorn wasn’t going to work. He told Bill Gates that the company would have to start over again from scratch, using the more recent Windows Server 2003 (rather than XP) code base as a starting point.

It was reported at the time as the “Longhorn Reset“, and while I remember reading articles about Microsoft’s new development practices I don’t think the implications of what had just happened really hit home for anyone (as evidenced by John’s article I linked above).  Microsoft had built Longhorn on top of XP.  They’d probably finished most of the features.  But the XP codebase was so old and fragile that the resulting system was horribly unstable.  So they threw out three years of work, began again with the Windows Server 2003 codebase, and took another three years to finish.

I don’t think anyone other than Netscape has had the balls to do that, which I’ll get to in a minute.

Vista definitely has a few issues, and it will probably end up with below average sales even though I think it’s fine and can’t stand the old XP interface anymore.  But Microsoft have deep enough pockets to afford this, and I think it had to be done.  In my experience Vista is far more stable than XP, much like Windows 2000 was more stable than Windows 98.  Hopefully a few years down the track we’ll have the vastly improved edition built on the rock solid base that the masses will love.

There is actually a precedent for my faith in Vista’s rewrite.  The classic example is Netscape who in 1998 threw out their code and created Mozilla.  Just about anyone who ever used it will tell you Mozilla 1.0 sucked (as did Netscape 6 and 7 which were basically just rebadged Mozilla releases).  However by 2004 that decision had produced FireFox and we all know how that turned out.

I’m not advocating everyone throw out their code; it killed Netscape and it’s going to cost Microsoft more money than they’d care to admit.  But if you have the resources to do it, I think it works.

Final thought - when describing Netscape 6, Joel Spolsky said the rewrite decision cost Netscape 3 years.  Is it ironic that that’s also how much time it cost Microsoft? ;)

I really wasn’t planning to make three posts tonight, but I couldn’t help putting up some discussion on Jeff Atwood’s latest rant about Digital Software Distribution.  I know where he’s coming from, and it’s absolutely unacceptable, but I have some insider knowledge - software companies are not to blame for this one.  He’s pointing his anger at the wrong people.

My discovery all came about with the release of Fury, a combat-oriented MMORPG type game developed by Auran in the city where I live (Brisbane, Australia).  Upon release of the game, many people chose the Digital Download option because as with all online games, the physical CD is basically useless and needs patching before the box even hits stores.

It quickly came out that the online store was charging $90 in the default Australian Dollars, but switched to $50 when you viewed it in US Dollars.  With the exchange rate already well over 90c at the time this was obviously a huge ripoff and those of us who bought the game in AUD quite rightly complained.

Luckily for us Auran are one of the most open game developers I’ve ever seen, and they told us exactly what was happening.  They were, essentially, being held ransom by the Brick & Mortar retailers.  Retail distribution is still the primary source of income for any game developer, online distribution is certainly growing but it’s far from ubiquitous (and may never be).

Retailers are scared that online distribution will eat up their revenue.  So they took advantage of their power and refused to stock the game unless the online sale price was the same as the retail price - and on top of that, they forced Auran to wait until 10am on the west coast of Australia before any online release could be done (midday on the east coast, 12 hours after the servers went live).  This meant that not even US customers trying to get the game early could buy it online.

The same deal happened with Auran’s US and Euro store prices, and I have no doubt that it’s the same situation for Valve, EA, Microsoft and anyone else doing online sales of software they also make available in a boxed CD.  The sooner we take power away from these greedy B&M retailers, the better.

 

Although, as some Australians point out in the comments, digital download at US retail price is a godsend for Australians.  Our retail price for games hasn’t dropped despite massive rises in the value of our dollar vs the US dollar this year.  We’ve gone from paying a 20% premium over US game prices to a 67% premium, and if it wasn’t for region locks everybody I know would be importing games from the US.

I’ve been saving my game prices rant for a few months now, and I think it’s about time I opened the eyes of my American friends.

One of the most amusing things to me in the war against viruses and other malware has been the rise of outbound firewalls.  I’m talking about all these supposedly extra-secure firewalls that block any attempt your applications make to access the internet.  If you upgrade one of your applications, at best you will get re-prompted to give it access to the internet and at worst it will just silently block it.

They’re the single most annoying firewall in the world, and I’ve seen countless posts over the years saying “internet-using application x doesn’t work after I upgraded it” - 99% of the time the user has blamed the application when it’s actually their firewall that caused the problem.

The worst part is, these firewalls are worse than useless; they give a false sense of security when you can’t really stop anyone who knows what they’re doing from making an outbound connection.  I was very happy to see that Larry Osterman, one of the senior Windows developers, has the same point of view.  He was actually ranting about why Chris Pirillo was wrong to call the Windows Firewall untrustworthy, but in the process he explained why outbound firewalls are stupid.

http://blogs.msdn.com/larryosterman/archive/2007/11/02/chris-pirillo-s-annoyed-by-the-windows-firewall-prompt.aspx

I love his quote at the end though.

I honestly believe that the main reason you’ve NOT seen any internet worms since 2002 is simply because XP SP2 enabled the firewall by default. There certainly have been vulnerabilities found in Windows and other products that had the ability to be turned into a worm - the fact that nobody has managed to successfully weaponize them is a testament to the excellent work done in XP SP2.

I hadn’t thought about it, but he’s right.  There hasn’t been a huge internet worm in years.

 

 

In the many months of using Vista, I’ve seen quite a few applications crash. Every time, the “checking for solutions” dialog amused me because it never found anything.  It was no more than a pretty update to the big XP error dialog.

Well tonight Explorer decided to crash for the usual I’ll-never-understand-why reasons, and lo and behold a little balloon appeared above the system tray offering to fix my issue.  The dialog that it opened was typically microsoftified making it far too difficult to find the link it was offering me, but once I found it I didn’t care.  It’s a seriously cool update, with a raft of startup improvements and a few stability boosts thrown in for good measure.

There have been quite a few Vista updates that are released as mere updates and not pushed out on Windows Update; they obviously want to make a splash with SP1 for users that don’t know where to look.  I can’t find the site that listed them, so here’s the ones I have installed.  Normally I would just list the numbers and let you find them yourself, but we have a new Vista box at work and I want to put the updates on it ;)

http://support.microsoft.com/kb/932406
http://support.microsoft.com/kb/938194
http://support.microsoft.com/kb/938979
http://support.microsoft.com/kb/940105
http://support.microsoft.com/kb/941649 (the one listed above)

Enjoy!  I recommend installing all 5, unless you really want to wait for SP1 to make Vista play nice.

 

EDIT: KB article 941649 is “not currently available”, the download for it is here.

I was highly amused by something that came through my link blog subscriptions today - Vista RTM vs SP1 file copy performance.  Although his results may be a little off due to the use of Virtual PC, I want to point out the observation he made: Vista file copy performance isn’t really that bad but it feels slow because someone decided that users only need progress updates every 10-15 seconds.  I already knew this fact from tracking my network usage in task manager but it highlights a very interesting point.

Adding per-second progress updates to SP1 may have affected the speed of file copying tasks, but even if it was a lot slower than RTM everyone will rave about how much faster it is.  This is an interesting phenomenon that I can remember we encountered early in the lifecycle of EditLive! (back before I started working on it).

At the time we didn’t have a loading progress indicator, we pretty much showed just a blank box until everything was ready.  Adding a progress bar that updated properly increased our startup time by a few seconds so there were arguments about the benefits of including it.  Eventually the progress bar advocates won, and immediately our customers gave feedback about how much better our startup was - even though we knew it was slower.

It turns out that people are always more patient with a progress bar updating constantly than some indeterminate screen where they don’t know if it will finish in 5 seconds or 5 hours.  Even if it takes longer to complete, it will feel faster and they are assured that the application hasn’t crashed.

For many years JavaScript editors have been a thorn in our side.  Browser vendors are constantly improving the rich text editing capability as used by all of the free editors.  We know our editor is better, and so do our clients; most of the time it’s easy to show just how much better we are during the sales process.  Last week we completed development on a new feature that we believe takes this a step further.  We’re so confident that our editor is better, we’re willing to distribute a JavaScript editor to prove it.

We don’t advertise this on the website anywhere, but I’m going to come right out and say it; we picked FCKEditor.  It’s one of the most lightweight editors around while still providing a solid experience, and it starts up a crapload faster than other JavaScript editors through use of an image array for the toolbar icons.  Most importantly though the FCKEditor source code is high quality, easy to understand and we felt it would be the easiest to maintain out of the editors we evaluated.

I’m really proud of how well this integration turned out.  Particularly the UI; if you compare the default FCKEditor interface to the default EditLive! interface you wouldn’t think it was possible to wrangle the JavaScript editor to look anything like our Java applet.  Using some creative JavaScript and CSS we not only made it look almost identical, we did it without modifying any of the core FCKEditor files.  We even created tabs to change between design and code view, something that took me a few days to get right and the result looks just like the real thing:
EditLive! Express Edit
(click for a better look, my theme isn’t wide enough to fit the image at full size)

This integration was produced for what boils down to two basic reasons.  Some potential clients don’t want to require Java on all user machines and others are paranoid that users will freak out when the Java logo appears (I disagree, but some people really hate Java!).  Personally, I see this as a cool way to prove to the world that JavaScript editors cannot, and often will not, beat our consistent cross platform editing experience.

As an example, load up the FCKEditor demo and try this:

  • Delete all the default content and type a few words
  • Highlight the last word on the line and insert a hyperlink
  • Click at the end of that word, hit enter and continue typing

The result will depend which browser you use - in FireFox, you wind up with the hyperlink continuing on the second line whereas Internet Explorer is a bit smarter and ends the hyperlink before starting a new paragraph.

Another example:

  • double click on a word in the middle of a line
  • insert a hyperlink

In FireFox, the selection model highlights the space after the word when you do this and your new hyperlink includes the space - you get this ugly line extending out from the end of your word.  IE also highlights the space after the word but is smart enough to not include the space in the new hyperlink.

Neither of these cases are an issue in EditLive!, and fixing such “minor” problems is often more effort than it’s worth in a JavaScript editor that relies on the browser to do all the heavy lifting.  I can personally vouch for this; I worked with the IE HTML editing component in EditLive! for Windows for so many years and there were numerous frustrating bugs that I just couldn’t do anything about.

The EditLive! UI is consistent and sensible on all supported platforms, and our support team is capable of fixing even minor UI bugs.  This is the advantage Java gives us; we control the entire editing component and can even fix JRE bugs by extending the Sun classes.

For basic commands you can get away with a JavaScript editor, but once you start creating complicated HTML the little things start to bite you.  It’s classic death by a thousand paper cuts; there are many more examples than the two I provided above and nobody I know at Ephox can stand using a JavaScript HTML editor anymore.  We use EditLive! on our internal wiki and so the entire company is now spoilt by using the best WYSIWYG editor in existence.

I’m going to sound like a salesman for saying this, but there are bigger advantages over JavaScript editors than the nicer editing experience.  We replicate the MS Word table insert wizard, use 100% Java dialogs so we don’t have popup blocker issues, and have no issues with custom XML tags in the middle of HTML.  Large systems often use such custom tags as template hooks; at best a JavaScript editor will hide the tag where it can be accidentally deleted and at worst it will completely corrupt it.  Oh and did I mention that we have the best in-browser Track Changes experience I know of?

I’m not trying to say the editor is perfect; there are always things we want to improve (and every time the development team is given a chance, we do).  It’s just that nothing I’ve seen (even other Java editors) holds up very well next to EditLive!.

 

For anyone wanting to try Express Edit, the website demos aren’t finished and it hasn’t actually been released yet so you’ll need to download an Early Access build.

Next Page »