Twitter-based AS3 competition

flash_csGrant Skinner has organised a fascinating competition via twitter. The idea is to write an AS3 “program” up to 140 characters long that you then post on twitter, which gets automatically compiled and made available here. You get a “free” 140 character long piece of wrapper code around yours and the aim is to create the the most popular/ cleverest/ prettiest SWF. My favourite example so far is this one by Zach Archer. By moving the mouse around, you can create so really nice spinning patterns.

Most of the examples so far remind me a bit of ZX Spectrum loading screens, but it’s still clever what some people can achieve in just 140 characters.

The winner of the first round will be announced in a couple of days and will win themselves a copy of Flash CS4.

Why I won’t be upgrading to IE8

no-to-ieI am what is commonly termed an “early adopter”. I readily install beta versions of software of my machine and tend to pro-actively track new versions of the software I use, and obtain and install them as quickly as possible. Most of the time I’m happy with this, but very occasionally, my “new feature greed” comes back to bite me. IE8 is one such case.

When IE8 beta came out, I installed it, had a play around with it and then pretty much lost interest, as my main browser is Firefox. I uninstalled it as part of experimenting with removing it from Vista (its an update, so it’s not immediately apparent how to remove it) and forgot all about it. When RC1 came along recently, my interest was piqued once more and I installed that, but all was not well.

These days I’m an Eclipse user, who spends a fair bit of his time writing and debugging Flex. Flex Builder in Eclipse can be configured to use one’s preferred browser. However it is highly unreliable with Firefox, so IE has finally found a use on my machine: it is the browser that runs the debug-enabled flash player that I test my Flex code against. Whereas Firefox often fails to start, or properly end,  a debug session, IE7 just works. However IE8 was a wholly different experience.

After stopping and starting debug sessions a few times, I first noticed that my machine was slowing up, then the code that handles cookies started behaving oddly and would report that other instances of the application were already running, despite no other occurrences of IE appearing in the taskbar. A peek at the Task Manager revealed the problem: there were around 15 non-terminated IE processes running on my machine. Investigating further, I realised this was a consequence of Microsoft copying Chrome’s 1 tab = 1 process model. Even with tabbed browsing disabled, IE8 starts two processes: one for the window “frame”, and the other for the tab’s renderer. When the Flex debugger quits, it kills the frame process, but leaves the renderer process – with its instance of Flash player – still running.

This neatly highlights what I dislike about Chrome’s process model and why I’m saddened by the lind rush by other browser makers to jump on the many process browser model. I like my apps to adopt the one process/ many threads model, for I want the whole application to get its backside off my system when I kill it and multiple processes are near-guaranteed to spoil that simple desire.

Perhaps this is just an RC1 bug and IE8 will die gracefully when its fully released. However, I rarely use IE, IE7 meets my needs, and so I’m likely to follow my own instructions and block the upgrade to IE8. I do so with a heavy heart, for I fear I’m taking the first step down the road to becoming like those weird luddites who still use VS6 over 10 years after it was replaced with a newer version, or those even weirder folk who can’t cope with leaving the antiquated Windows 95-2000 look behind and run XP or Vista with that last-millennium look. I think I’ve made the right decision on this occasion though…

Linux users get Silverlight too

moonlightIt’s true: Microsoft really has given up on world domination and accepted people will continue to use operating systems other than Windows. In a classic case of “can’t beat ’em, so join ’em”, Silverlight supports both Windows and OS X. Now though, Linux users can get in on the act too, with today’s release of Moonlight 1.0. And it comes fully endorsed (and indirectly funded) by Microsoft too.

Sadly Moonlight 1.0 is only Silverlight 1.0 compatible, so it only works with JavaScript, rather than “real”, CLR-based, programming languages, but Moonlight 2.0 is planned for the future and will be fully Silverlight 2.0 compatible (just in time for the release of Silverlight 3 no doubt! 😉 )