Watching the Language Wars

Today, at least in the US, it is Programmer’s Day.

Maybe it should be called “International Programming Language Peace Day“. The level of advocacy for various programming languages reaches rhetorical heights last seen during the one of the not-so-successful 18th century revolutions.

When not speaking to humans, other programmers to reading the latest advocacy on their language of choice: programmers stitch together the wild thoughts of others to munge data into information.

Programmers are the people who use computer languages, in their various forms, to get computers to do cool things. From blikenlights to cool online maps: there are a pyramid of programmers responsible for your computer experience. A programmer is behind the “ding” in the lift you used this morning; and the software that validated your ticket on the bus ride to work.

The beauty of computer languages is that they never seem to stagnate: like modern, spoken languages: they evolve as the world changes. Except those that are abandonware.

Microsoft has recently released my current favourite programming language, Python, as a CLR/.net language: IronPython. This implements Python as a dynamic language on the CLR engine.

C# is the language of implementation for CLR, as is Sun’s Java is for the JVM. A# (Ada), B#, D# F# (OCaml), G# (Generative language), J# (Jsharp), P# (Prolog), L#. More sharps than Beethoven.

The language wars has returned to an old field: dynamic languages. The grand-daddy of dynamic languages, LISP, has received some recent positive PR. One person, Paul Graham, is the poster millionaire for LISP. Lazarus of LISP.

This week, Sun Microsystems parried Microsoft’s IronPython by hiring the team behind JRuby. The aim here is to implement the Ruby dynamic language on the Java Virtual Machine (JVM). Some months ago, this team was able to get a Ruby on Rails working on the JVM.

Whilst the big language guys battle it out, is Erlang the next Ruby, or is it just a viking proto-language with the best non-pun name? The Erlang community is starting to come out of their telephone exchanges.

No language has deemed to have arrived in the 21st Century until there is a web framework written around it. C# is ASP.NET, Python has Dyango, Ruby has Rails, Erlang has Jaws, Scheme has Magic… and so it goes on.

This broken thing called Javascript that has been reborn with AJAX, and is receiving daily blood transfusions of new features.

All of these languages just remind me of my personal alltime favourite language love of my life: Hypercard’s HyperTalk. As Hypercard is no longer sold, and “Classic MacOS” is a battle to get going on my MacBook Pro – sadly it is a language as useful as Cornish.

So, for a short period of time it is back to one of HyperTalk’s children: Applescript. Basketweaving for the mind.

Google Inside your Business

Google and Intuit have announced a major partnership. Along with the Google Maps changes this week where an organisation can advertise at a location – the world of web applications and deeper connection between the desktop and information – is at hand.

It would be extremely unlikely in the near-term that a web-based accounting application for small businesses would fly – as financial information is the holy-of-holies for business. One can just imagine the privacy watchers having a field day arguing against sensitive numbers being scattered through the tubes.

In my mind, being more connected with this information aids the flow of business. The less paperwork in the world is a good thing. But my mind is a not a safe place for ideas such as this.

Back onto Intuit: recently, Australian retailers such as OfficeWorks and City Software have been advertising Quicken for AU$0.00 (after $99 cash back). Everyone in marketing knows that there is never a 100% redemption on these cash back offers; but still the numbers seemed “odd” to me – didn’t add up to being beneficial to Intuit at all. If the redemption rate drifted above 70% (that is, 70% of purchasers sent in their Intuit coupon, the each unit sold would cost more than they received in revenue in direct costs)

There are secondary revenue opportunities: post-sales support agreements and the ability to direct-mail market future upgrades to the users who have redeemed their cash-back.

With the Google announcement, it all falls into place: the revenue is either from support agreements you would purchase to help you determine whether something is an asset or a expense. The second revenue source is online, in-your-face, in context advertising.

Accountants and bookkeepers the world over are now going to see multiple advertisements whilst sending out the day’s invoices.

As the world of pure-in browser applications moves to richer client applications, the new revenue stream open to smaller developers is enticing.

Getting marketing people into the application as an advertising “platform” is the challenge. Interesting world.

Rorohiko ImpositionCompanion for InDesign CS, CS2

The Lightning Brain ImpositionCompanion Plug-In helps to overcome some limitations of InBooklet SE, which doesn’t impose correctly when a document contains objects that overlap two or more pages. The Lightning Brain ImpositionCompanion Plug-In unlinks text threads and splits objects which overlap two or more pages. This allows the page order to be changed without problems.

Parallels 1884 Vista Quick Notes (and update)

Download the 21Mb update to Parallels (to build 1884)

Boot Windows XP to ensure all is OK before I install Vista. Windows XP “seems” to boot a little faster. Unable to quantify exactly how much.

Backup existing 15Gb Windows XP .hdd, just in case. Create a new 15Gb image to install Vista into.

Pararllels settings:

Parallels settings

Install into the fresh 15Gb image, 1024Mb of RAM allocated to image. Vista is marked at (experimental) as OS. Installing onto a MacBook Pro with 2Gb of RAM and MacOS X 10.4.7

  • Beta 2 Build 5384 DVD (thanks, Frank Arrigo at Microsoft Australia)
  • Started install at 11:05am
  • Vista install auto-restarted at 11:35
  • Vista install auto-restarted at 11:43am
  • Questions (location, time, username) at 11:46am
  • Vista install auto-restarted at 11:47am
  • Into Vista Beta 2 at 11:50am
  • Install Parallels Tools from the Parallels VM menu. Note that these don’t seem to be signed drivers, so ignore all the warnings and install away
  • Manual Vista Restart
  • On restart, if the “Welcome Center” doesn’t appear, choose it from the Start menu. Click on Add Hardware.
  • Vista found network card, and automatically configured network. Also note that Vista also finds “PCI Bridge Device” which I asked Vista to ignore
  • Restart; Vista found network card, and automatically configured network. Note that the Network Adaptor settings for the Parallels VM set “Bridged” worked OK

In short, it works. Note that I haven’t stress tested this; and the Parallels guys say its experimental. Beta OS on experimental hypervisor virtualization. Your mileage may actually turn into inchage quickly.

vista login

Vista Desktop first questions

RC1 Note from 8:20pm

You cannot install Vista RC1 on Parallels. Bugger. ISO, DVD burnt or upgrade from Beta 2 to RC1. None of these paths work.

***STOP: 0x000000A5 (0x0001000B, 0x50434146, etc)

The ACPI Bios in this system is not fully compliant to the specification. Please read the Readme.txt for possible workarounds, or contact your system vendor for an updated bios.”

FreeDOS and Parallels

File this into the why basket.

freedos

FreeDOS works with Parallels. So now for the full 1987-1992 retro-experience, the MacBook Pro can learn about HIMEM.SYS, FAT32 and other evil that Windows has shielded us from.

How to:

  1. Download FreeDOS ISO image
  2. With Parallels, create a new VM (virtual machine), Hard drive
  3. Set the CD as the boot device, and select the VM
  4. Start the VM
  5. Follow the onscreen install instructions: note, be careful erasing your hard disk image!

The VM settings screen will look something like this:

FreeDOSVM

Uptime: 22 days. And I run Windows XP SP2.

I am not a Mac fan-boy. Been there, done that. And to be truthful, I think I am a little too old for zealotry. The innocent dogmatism of youth has been replaced with that pragmatism to the point of pessimism middle age.

My 15″ MacBook Pro runs MacOS X 10.4.7. The last time I rebooted was the installation of the MacOS X 10.4.7 update. That restart was so long ago, I honestly cannot remember rebooting.

uptime

Pop over to a Terminal window, uptime: up 22 days.

Up until May this year I had been a Windows person. Dell this, Windows that. A clean shutdown or restart at least once per week would keep the Dell going. After constantly sleeping/hibernating, things just didn’t feel stable anymore under Windows XP. Maybe it was all the weird VPN networking stuff that I had to run. Or memory not being freed up.

This MacBook Pro gets an equal amount of digital thrashing. It’s turned on and being used at least 14 hours per day. During the day, there are multiple shut-the-laptop lid hibernations, running multiple applications. Installing, launching Mac apps; de-installing (drag-install, drag to trash deinstall). Mad as hatter cats pulling out the magsafe power connector; Dashboard widgets are added, removed and refreshed. PowerPC (Rosetta) applications launching, force-quit Sheepshaver. Wireless network router reconfiguration. The screen in brilliant for spreadsheets – the performance on the Mac and Windows under virtualization are excellent.

During these 22 days I’ve booted Windows XP at least 15 times using Parallels. Most recently to run a TRS-80 emulator, and to take a look at a personal email in an archive .pst file. Even backing up the PC is easy. Drag copy the disk image onto our family file Debian server.

Under Parallels, everything I’ve installed has worked first time. Office 2003, Office 2007 Beta. Adobe Flex 2.0, Adobe Premiere Elements 2.0. Microsoft XML Notepad.

In a smartly organized corporate environment, and some smart configuration created by some smarter infrastructure cookies, a single standard Windows XP image could be created on a server. This could be pulled down when people come into work as their standard “office” suite. Separating the environments for executives could be a mechanism of saving costs.

Without the apple-coloured glasses, there are some deficiencies: the MacBook Pro has an integrated video camera in the lid but there are no device drivers for Parallels; and ACPI is yet to be supported under Parallels: so no Vista Beta/Vista SP1 yet. Not a big gamer thankfully as games performance/Direct3D sucks.

It’s still not a real Windows XP machine. There is no little laser-etched blue OEM badge (the Windows XP Professional installed is a box copy). So 22 days uptime or not, there is something that just doesn’t feel right: running Windows on a Mac is like listening to Country and Western in a Ferrari. You feel, well, dirty.

Still, this MacBook Pro has been the most stable Windows laptop I’ve had the pleasure of using. So, by definition – is the safest way to run Windows XP is under virtualization on MacOS X?

Colin Thiele. RIP

When it rains, it pours.

Colin Thiele, a South Australian author of over 80 books died recently aged 85.

ABC News report his most famous book, Storm Boy; set on the Coorong of South Australia. Another, later book made into a movie by the SA Film Corporation was Blue Fin. Set in Port Lincoln (but filmed in Streaky Bay) – it detailed the relationship between a tuna fishing father, and his son.

In fact, most of Colin’s books dealt with father-son relationships set in South Australia. Fire in the Stone, Sun on the Stubble. Set settings were a unique view of farming life; the wheat, sheep; German heritage and a time in the first half of the 20th Century.

Even when I went to school, Colin’s books were a little “non-PC”, and as such they were not a part of the books curriculum. Both Colin and I are descendents of German immigrants, and his books had a semi-autobiographical quality – a shared perspective.

A good innings, and I am sure his writings touched many.

Steve Irwin. RIP.

Sky News Australia is reporting that Steve Irwin, Australia’s world-famous Crocodile Hunter, is reported to have died at age 44.

The early reports are that he was fatally stung by a stingray. Marine Medic web site reports that 2 people in Australia have died from stringray barbs. If I remember my Cousteau, the tail whips very quickly.

ABC News web site has more details. According to reports, a stingray barb went through his chest as he was filming an underwater sequence near Port Douglas, North Queensland. (edited from Cairns, 2:52pm)

No-one should die at work. Nor does the simple phrase “he died doing what he loved” ever repair the feeling of loss to those close to him.

A typical Aussie: a larrikin, non-conformist and passionate individual. The sort of Australian we Australians were quietly proud represented our country. Many may have thought of his over-the-top expressions, including the famous “crikey” as too flippant and superficial: no-one can deny his love for animals.

A common dinner conversation for Australians overseas is about our deadly flora and fauna. Sadly, this myth only partly based on reality is now augmented.

Australia, the world, and our native animals will miss Steve.

Good on yer, mate. Your innings were over too soon.