Languages I Have Known

Exploration of a different kind of multi-lingualism

At school, I spent 3 years studying German. Sorry Herr Niemann, but all I remember are the coffee and cake sessions, and I can now understand parts of German speech. I’d probably still get lost in Germany. In an effort to expand the brain a little, in 1990 Avril Hodge and I spent 3 months learning Japanese. The last time I tried my Japanese was at a restaurant. In Tokyo, my extremely limited skills left me. Luckily the waitress spoke English — or else I would have starved.

Programming languages; well that’s a different story.

As an exercise, I’ve decided to list the programming languages I have known – and see where it leads.

AppleSoft Basic, and Logo

The first computer I saw, touched and used was an Apple //+ in mid 1981. In a country school, computers were something very alien. I recall our school were given a loaner Apple for 2 months.

The more nerdy of us at the school played around with the computer during lunch breaks — and this is where my love, awe and respect for computers started. The school’s science and mathematics teacher was a good guy. I probably owe him for getting me into this great industry.

Included with the Apple //+ was a spiral bound AppleSoft Basic manual — and Logo. Therein began a long love of programming.

TRS-80 BASIC

Somehow, I managed to convince my parents to spend money on a TRS-80. Now I was a computer geek, fulltime.

The TRS-80 incorporated a great BASIC language in ROM.

I remember programming a word processor, spreadsheet and a simple accounting program. Things were slightly different in the early 80’s – storage was a 1200baud cassette tape.

Oh, and now I have an aversion to using the backspace key whilst holding down shift…

Cobol

Spent a week on work experience in the deep-dark 1980s doing a small bit of Cobol. I am glad that its time has gone – although, if I had persisted I might have made millions during the Y2K crisis!

Having spent many hours with SQL, I can see why I am happy that I’ve left Cobol behind

Microsoft Basic for the Macintosh: versions 1 through 3

My memories of these versions of Basic are mixed. The first version of Microsoft Basic on the Mac did no Mac UI coding at all. From memory, the most you could do is call up different fonts and different windows. The subsequent versions rectified this; but its interesting to note that Apple had something called “MacBasic” in the wings – written by the same guy that wrote MacWrite. I remember getting a pirated copy on a floppy from a user group meeting. The stories you read in Apple history books state that Microsoft and Apple were at loggerheads over MacBasic; and Microsoft would not release Multiplan for the Mac is Apple released MacBasic. How times have changed (?)

Pascal

A little exposure to this… also wrote a kiosk style system in 1987 I think – customers would come to a Mac and type in their details — and we ran some sort of competition based out of the data in the kiosk. Tied into this was a simple database system that stored the records. The database system was a C-ISAM package you could purchase in these days.

HyperTalk

HyperCard, as created by Bill Atkinson was a pleasure to work with and in. I remember first seeing HyperCard in 1987 and saying “this is amazing” It predated the web, and whilst limited, the web lacks the simplicity of HyperCard.

Although AppleScript has inheritied HyperTalks feel, was a powerful language that Apple evolved over time. Then they went into this Pink, SK8, Taligent boondogles and never really recovered their path.

Overall, I loved the HyperCard environment – the web is a poor replacement. To do any thing interesting, you have to know too many syntaxes: HTML, CSS, Javascript, PHP (or similar) – and this is just to start.

Wrote a chapter for a book that was published in 1989 by The Waite Group, “Tricks of the HyperTalk Masters”

C

Hmm, C. Didn’t do any Unix C stuff – but around 1990/1991 did some Macintosh based C stuff to keep my hand in at MacOS programming. All I remember was reading Inside Macintosh, learning to convert this to Pascal stuff and all that jazz. Ahh yes, also wrote an XCMD/XFCN that appeared in the above book.

In a lull of consulting work in 1991 I started to write a small Mac application in C.

sh, csh

Unix rocks, and these shell scripting languages are extremely powerful. Created a simple network management and reporting system for the Australian Submarine Corporation (to look at SNMP information from Kinetics Fastpaths of all things – LocalTalk to Ethernet routers) – plus internal stuff for Random Access when they used the Unix-based accounting system.

The integration of these shell scripting environments into the Unix environment made it too easy to create simple “push” systems. For instance, I created a system that permitted end users to design a simple report, and have it emailed to them on a daily basis. There was also a system of “watchers” where people could ask for notification of an event in the accounting system (ie: an item was invoiced to one of their customers) – they would get notified when this event occured. 1993.

AppleScript

Bastardised object orientation and dynamic syntax. Still used today… and I have been known to cut code in it for demonstration purposes. Nowhere near a Guru like Shane Stanley.

Whilst I haven’t had time to work with AppleScript Studio, I am looking forward to using this. The integration of AppleScript and the NeXT object oriented system is a strong combination.

UserTalk

UserLand Software, the makers of Frontier (and other things now) pioneered the concept of inter-application communication on the Macintosh. The language they created to do this neatly integrated into their hierarchical object storage system.

I used UserTalk to create the content management system that created the Fairfax@Atlanta (1996)site in 1996. Basically, I stuck my ass on the line with this system and never looked back. Still have the code on me. Apple really owns it! Not that its worth anything today.

PL/SQL

PL/SQL is the language of choice when I was working with Oracle. Ugly.

VICOM Script

VICOM software is a company based in Bournemouth England. I first made contact with the then owner, Brian Morris during MacWorld January 1993. Being a “networking & connectivity” guy in the Apple world, their terminal emulator VICOM Multiterm/Pro was a pleasure use. The real beauty was a programming language invented by one of their technical guys, Darko Roje.

VICOM Script was the perfect language to create Front Ends in. It had excellent string parsing mechanisms and an easy way to make custom Mac based front ends. Multiple windows, lists etc – it had the lot. What’s more, if you wanted a change: you could email (AppleLink!) the designer. The language lent itself to userinterface programming.

I used VICOM to create a front end to an Oracle SQL database. Using the communications capabilities of the system, I was able to front end a simple terminal session that called PL/SQL scripts on the backend Unix box. Today people would create web-based interfaces. Still not as elegant.

NewtonScript

The scripting environment on the ill-fated Newton encompassed more than the language. All data, such as the address book, were accessible from your code. The language and environment was easy to get into, once you understood the Smalltalk terms like slots and prototypes.

Java

I love Java. This is the the language that really taught me object-orient techniques. This means that my concept of object orientation is Java-centric and not up to the level of a C++ programmer. Never had time or a reason to do much in C++.

Most of the real world stuff comes from WebObjects, which puts an even stranger slant on my understanding!

JavaScript (ECMAScript)

JavaScript is something I wish I had more time to delve into; and maybe I should have earlier on in my web life. Its used in two places of interest at Adobe: as the extension mechansim for GoLive 5.0 and the expressions engine part of AfterEffects 5.0/5.5.

The other small uses I have made in HTML (related to DOM work) — urgh.

More recently, this engine has been incorporated into InDesign, Photoshop and Illustrator. Newer scripts on this site use Javascript and it is starting to grow on me.

WebScript

This language is a part of WebObjects that is deprecated. Woeful language, great environment.

Visual Basic

Visual Basic is a language and an environment. The psuedo-object orientation can turn you in knots. The way that Microsoft’s COM system works whilst inelegant, seems to work. Adding extra components or calls to applications such as InDesign or Illustrator permit quick creation of front ends or data mungers. I would find it difficult to work on a large project in VB as you could get lost very easily, and the language is not very elegant.

I think that writing in PHP is faster for web coding as compared to VBScript…

PHP

Whilst sometimes inelegant – there are some similar commands that have different syntaxes; it smells of C and Unix inside a scripting environment. However, it is a language that makes creation of web based applications very easy. The data/text manipulation with arrays (and keyed arrays) makes the process of taking data from something like MySQL and poking into HTML easy.

The current version of the mungenetengine is 100% PHP currently running at over 1500 lines of code. Its too easy to create procedural style code rather than purer object oriented code.

ActionScript

Actionscript and Flash (with a little bit of XML): hmmm, mixed emotions on this one. The Flash player seems to no do things you would expect such as permit opacity changes on “html” text fields. Strange. The hierarchy of movieclips and variables held in them is also interesting. Whilst the language (at least in Flash5 level plugins) is like Javascript, I find the environment a little interesting; the scope of variables etc, and the addressing of variables cool.

Python

Why did I ignore Python for so long? It has to be the easiest language to pickup, and the easiest language to get something done.

Python is way cooler than I expected. Having “wanted” to learn Python for more than 3 years, its good to get it under my belt. There are so many extensions to COM, wx (Windowing system), SOAP – so it was easy to create a simple client/server upload system for adding stuff to the Mungenet system. The OO nature of Python forces you into thinking about MVC coding.

Now getting into Turbogears and all that Ajax stuff. SQLObejct reminds me of NeXT’s Enterprise Object Framework.

C#

Now working at Microsoft, it is imperative that you can read and write C#. Also, listening to Anders Hejlsberg in various Microsoft settings — makes me respect this language and the .NET platform immensely.

Languages I wish I had known…

C++,  Perl.

A surprise in InDesign 2.0, InDesign CS and InDesign CS2.


Wow, again!

InDesign CS2: [2147] InDesign CS2 About Box...

Thanks to the product management team, I made it for the third time running. You’ll find my name in the InDesign CS2 about box, too. Way cool. An honour. Again

InDesign CS:
[1567] I have arrived at adobe, again!


Sometimes, its the little things…

[991] I have arrived at adobe!

A goal of mine whilst working at Adobe has been to get my name in the ‘About box’ of an application. Its sorta like the credits you see at the end of movies.

In one sense, this is easy to do. Just ask a product manager or engineer to place your name there. However, these seem to be controlled to (rightly) only include those who actually contribute something to the development of the application, and adds input to its direction (even in a little way).

The difficult part is adding your input to an application. Programs such as Photoshop which have deep features and strong user community are difficult to get any significant input that would warrant an inclusion in the about box. Suffice to say, there are much smarter people than me who have their hands on the Photoshop tiller.

InDesign, however, is a relatively new application that needs strong input from our customers to influence its direction. Thanks to a good friend on the inside, the local Adobe office has been assisting the InDesign team to ensure that it meets local requirements and customer requests as much as possible. There are features in InDesign 2.0 that are a direct result of local customer feedback. This makes me proud of the application

After a little nudge, I’ve managed to ensure that my name goes down in a little piece of history. To anyone that has suggested InDesign 2.0 features to me: this is all thanks to you

Nick, December 2001

InDesign 2.0: Photoshop, Duotones into InDesign

[1546] InDesign CS LogoVisit the new InDesign Prepress Section: Adobe InDesign: Prepress Techniques

Duotones: Photoshop to InDesign

What are duotones? From the Photoshop 7.0 Online help file:

Duotones are used to increase the tonal range of a grayscale image. Although a grayscale reproduction can display up to 256 levels of gray, a printing press can reproduce only about 50 levels of gray per ink. This means that a grayscale image printed with only black ink can look significantly coarser than the same image printed with two, three, or four inks, each individual ink reproducing up to 50 levels of gray.

Sometimes duotones are printed using a black ink and a gray ink–the black for shadows and the gray for midtones and highlights. More frequently, duotones are printed using a colored ink for the highlight color. This technique produces an image with a slight tint to it and significantly increases the image’s dynamic range. Duotones are ideal for two-color print jobs with a spot color (such as a PANTONE Color) used for accent.

Duotones is a generic name given to monotone, duotone, tritone etc images. The mono- prefix here denotes the number of colourants (plates) in the final file generated by Photoshop.

Generating Duotones from Photoshop

The greatest control over true Duotones as defined above is going to be in Photoshop. However, there is a concept known as fake or poor man’s Duotones, which InDesign 2.0 supports directly.

The process of converting a coloured image into a Duotone in Photoshop starts with converting the image to grayscale. The quickest, and rawest method of converting is to go Image>Mode>Grayscale

After converting to greyscale, the next step is to Image>Mode>Duotone change the grayscale into a Duotone image. The dialog box that appears allows you to change the spot colour that makes up the second colour. If you would prefer a monotone, change the first “Black” ink in the list to the spot colour. The curve box permits tweaking of the ink density where the second colour is applied.

[1404] duotone in photoshop

How do you get Photoshop Duotones into InDesign 2.0.x?

To place this file in InDesign, the format that we need to save the file is Photoshop EPS. Photoshop EPS is a nice, Composite format that permits us to print composite output; including Composite PDF. I am not a major fan of Photoshop DCS as a format. (ref: InDesign 2.0: Photoshop with Spots, InDesign and Composite PDF)

[1405] duotone in photoshop save eps

In InDesign, File>Place the Photoshop EPS saved above. Once the image is placed, you will notice that InDesign adds a new Swatch to the Window>Swatches palette.

[1406] duotone form photoshop in indesign

From this point, the new Swatch is considered a Spot colour. Managing this is the same as managing Spot colours in InDesign: through the Ink Manager.

Note: There is a known (and you do read Readme’s, right?) a documented bug with InDesign 2.0: it considers the spot colour’s alternate colour space RGB. This means, if you print separations where you have Ink aliased the Spot to Process in the Ink Manager, it converts the Spot specified in the Photoshop EPS to RGB rather than the CMYK alternate. The workaround is to make this element 99.9% Normal Transparency, and print using the [High Resolution] Transparency flattener style. The Flattener will correctly convert the Spot to its CMYK (Process) breakdown, and permit a pure Process output. (ref: InDesign 2.0: Printing Output Choices and Flattener Tricks (including force Greyscale export!))

Poor Man’s Duotones in InDesign

Grayscale images can be directly made into Monotones in InDesign 2.0. Here, we are assigning the Black (K) plate to an alternate colour, including potentially a Spot Color. The user-interface needs to be carefully described as there is a little twist: something the help file doesn’t quite explain. The order of steps below are critical!

  1. Place the Grayscale TIFF or Photoshop image into InDesign 2.0
    [1407] duotone place greyscale into indesign
  2. Open Windows>Swatches
  3. Ensure that the Swatch, Spot or otherwise is in the Swatches list
    [1410] duotone swatch created
  4. Select the Direct Selection Tool
    [1408] duotone direct select
  5. In the Swatches palette, ensure that the Fill is selected at the top:
    [1409] duotone swatch fill
  6. Click inside the Greyscale image with the Direct Selection Tool
  7. Click on the Swatch you would like to apply to the image:
    [1411] duotone swatch created

The key to this process is ensuring that you have the Fill selected in the Swatches prior to Direct Selecting the content of a greyscale image. I do not think the online help in InDesign 2.0 clearly explains these steps.

Thanks to Gene Palmiter for suggesting I write this up. Its been in my head for months.

InDesign Prepress: Text and the Transparency Flattener


Why is my text printed from InDesign (a) fat (b) outlined (c) fuzzy (d) or all of the above?

This article describes the Adobe Support Database Text Is Rasterized When You Print to a RIP from InDesign (2.0 on Windows or Mac OS)

In this example, you can see there has been a Photoshop file placed into a layout:

[1333] 01_inddsource.jpg

The Photoshop file on the red-marked layer (named: “photoshop file”) has been masked out of a background image, and saved as a .PSD . A text wrap has also been applied to this Photoshop files alpha channel (or transparency) causing the text in the yellow layer (named: “body text”) to wrap. Nothing too strange about this, however when printed to Postscript and Distilled, the following occurs:

[1334] 02_pdfresult.jpg

This is a screen dump of the PDF generated from the InDesign CS file above (Print to Postscript as CMYK, using the [High Resolution] Transparency Flattener Style. PDF generated using Acrobat Distiller)

As you can see, around the marker “A”, the text looks “fatter” and “fuzzier” than the text next to the marker “B”. This is the result of the transparency flattener. (NB: in Acrobat, in Edit>Preferences, Display if you turn on the “Smooth Line Art” option, this fuzziness goes away.)

[1335] 03_inddsource_zoomin.jpg

Lets zoom into the area where the Photoshop file and the body text overlap. You can see in the above image that the red outline of the image overlaps certain lines in the underlying body text. In this instance, the Transparency Flattener has decided to covert the all the text to outlines in the lines that run underneath the image.

The effect we are seeing here is the Transparency Flattener in action. In Postscript, there is no way to have a semi-transparent image (the masked portion of the car) blend into type. Therefore, the flattener converts the relevant text to outlines and “clips” into the outline shape any image information that is required to generate output. The important end goal is to generate output in print that matches the designers intent.

To an average observer, at high resolutions (I have examples at 2400/133lpi Computer-to-Plate output) — its difficult for the naked eye to pick “outlined” vs “normal” type with serif text at low point sizes.

How do you solve the problem?

There are two possible solutions to this problem. One key point I would like to make before I continue is that you must choose one path or the other for the whole job.

Choice 1: Convert All Text to Outlines.

InDesign 2.0, Edit>Transparency Flattener Styles… Create a New Transparency Flattener style that turns on the “Force Text to Outlines” option.

[1336] 04_fullbore.jpg

Now when printing using this Flattener Style to the Distiller (ie: same process as above), the end result will look like:

[1337] 05_pdfresult_fullbore.jpg

The result is that all the text in the document is converted to outlines. When you compare a page printed (at 2400 dpi/133 lpi) with text converted to outlines side by side with a page where the text is normal, the difference is just noticable to the naked eye.

If you use this flattener style consistently throughout the job, the result will be that all the text looks consistent. The downside is that the text is no longer text – it’s paths – unsearchable and to a trained eye slightly fatter.

Choice 2: Change Layer Ordering

This is my preferred option, and when designing documents in InDesign its best to follow a process where all body text in the topmost layer.

In the InDesign document, I am going to change the order of the layers so the body text sits above the image:

[1338] 06_inddsource_changelayers.jpg

In the above example, you can see that the “photoshop file” layer is underneath the “body text” layer.

QuarkXPress Users: don’t panic! As you would realise, in Xpress, your text wrap is based on the positioning of objects in layers. Images above text pushes the text out of the way: creating text wrap. Not so in InDesign. Text wrap in InDesign is object-to-object based. It doesn’t matter that the image is underneath the text, it will still cause the text above to wrap around.

Prepress operators: don’t panic! Changing layer ordering like this will not cause InDesign 2.0 to re-wrap the text.

What is the result?

[1339] 07_pdfresult_final.jpg

In this final result, you can see that the text has not been converted to outlines. This example was printed from InDesign 2.0 using the standard [High Resolution] flattener style.

Auckland (23rd March to 25th March)

Thursday, 25th March, 2004

Due to the timezone difference, presently only 1 hour, or more likely the lack of decent sleep: about 4 hours a night for three nights has taken its toll. Forcing myself to concentrate in meetings and actively add value. Mental fuzziness.

Sleeping in strange beds in many hotels you learn how to get a good night sleep. Its an occupational skill. Rule One: keep the room cooler than 17 degrees C. Rule Two: use a flat pillow. The problem with many hotels is they pride themselves on big puffy pillows. Instant neck problems here.

I have a bad habit of falling asleep about when the cabin crew start the safety demonstration and wakeup when level flight is reached. Its uncanny.

Reading the my new purchase in the Lonely Planet range: Japan. I have a theory that I enjoy travel to countries that I wrote school projects on (if that makes any sense) Love Actually on the screen in economy. Ahh, London. See you next week.

Sick of forms. To leave Australia, arrive in New Zealand, leave New Zealand (after paying NZ to get out of Auckland International Aiport, thank you very much) and finally arrive back into Australia takes 4 forms. Name, address, email, SARs, Passport number. There has to be a better way! In the time between the Singapore trip and the Auckland trip, the Australian arrival form has changed!

5 minutes from Immigration to Australia. The joys of packing light!

Wednesday, 24th March, 2004

The Auckland Sheraton property has been sold to someone else, according to the gossip. I hope they have deep pockets as the place is a little tired. The hotel rooms are still stuck in 1983, maybe 1984. No high speed internet access. At least BBC-World is on TV.

Meet Luke in NZ. He is a new dad, only 4 days in. He has another 21 years of fun. Men that have had children, and been involved in all the birthing action, remember more about the process of child birth and other obscure obstitric details than one would expect through the years. Is this universal?

I also realise that I am carrying 896Mb of CompactFlash memory to Europe. This is a massive amount of storage (about 900 digital camera shots) before I load them into the laptop. How the world of memory has moved on.

Tuesday, 23rd March, 2004

6.50pm flight to Auckland, NZ. Hello Qantas Club International Sydney, my second home. Almost second office as I run into Barry and discuss business.

Neil Perry my arse. The food on the 2hour 20 minute flight tastes vaguely familiar. Yes, I am reminded of 3 years of boarding house food. The lamb was probably from the mid 1980s as it was tough. Thanks to the iPod, apart from the dubious food, its a quick and painless flight. Arrive 11pm, hotel lobby bar until late.

Singapore (8th March to 12th March)

Friday, 12th March, 2004

Thursday and flying home. 20 minutes from hotel to checked-in, and through customs. A posse of Singaporean soldiers patrol the airport with their machine guns at the ready. The world has changed.

Whatever you want, there is a place to purchase it at the Singapore airport. The prices are more than the Funan, and the Funan is only about 10% cheaper than Australia.

QF6 from Frankfurt via Singapore leaves 30 minutes late. De-icing in Frankfurt took “frightfully long”, so we’re late leaving Singapore.

2 hours sleep on the flight, and a full day of work on Friday.

Wednesday, 10th March, 2004

After 2 days stuck in internal meetings, and short sojourn to a bowling alley, its time to go shopping. Stod, Lee and I leave the hotel and head toward the Funan Centre: a building with IT stores.

If you are smart, you can walk from one end of Singapore to the other without losing sight of a retail store, and underground so you miss the sky. Half way, we see a tourist-y couple looking at a roadmap of Singapore. Stod assumed they had been stuck underground for days and were permanently lost in the mall underground.

So I got lost too. Too many changes in buildings around Raffles City, one wrong turn and you’re lost. Thankfully, a short S$6 taxi ride and we’re at the Funan. The Funan Centre houses most of the IT stores in Singapore, all under one roof. I am looking for a PCMCIA Compactflash card reader. Lee clocks one in a store on a high level. S$18 and we’re away.

Standing in the rain, 45 minute tough phone conversation. I wonder what people around thought of my conversation? Missed lunch, but didn’t miss lunch if that makes any sense.

Monday, 08th March, 2004

Flight QF5 is delayed by 30 minutes. Something about the engine needing to be “run up”, so it looks like Qantas have just fixed something on the tarmac. QF5 is also on its way to Frankfurt, absolutely full of an eclectic mixture of Formula 1 pilgrims and tragic Gay and Lesbian Mardi Gras attendees.

On the pointy end, and I mean pointy end, of a sieben-sechs-sieben vier hundert on its way from Sydney to Frankfurt via Singapore. This time, I am alighting in Singapore. Watching the inseat entertainment, choosing “Lost In Translation” from the various choices. Bill Murray (my father-in-law’s name), Scarlett Johannsen (I am in love) and Giovanni Ribisi (from “Saving Private Ryan”). Hmm, Tokyo in May; Normandy in April. The world is a small place, indeed.

Note to self: purchase the Lonely Planet guide to Tokyo so I don’t get lost. In the past 3 months, the Hodge family has purchased about 12 guides for various cities. The Seoul guide helped my not get lost. Which I think is the point.

I blame my father for giving me professional wonderlust and a desire to travel. As a sailor in the late 1960s, early 1970s I remember seeing pictures and souvenirs from exotic places including Singapore, Hong Kong, San Diego, Hawaii and Toyko. Either by nature or nuture, I want to see other places in the world. The next 70 days is going to be many cities compressed into a short time span.

In roughly 70 days time, I am in Tokyo for the first time. Watching “Lost in Translation” holds many resonant moments. Calling from a very strange time in an unfamiliar hotel room to a chaotic family at home is very common for partner’d travellers.

Sitting at the front of the 747, and I do mean the absolute front: seat 1B, the rain beats on the nose cone. It sounds like rain on a tin roof, but we are in a plane travelling at a couple of hundred kms per hour, on the equator, 25 minutes from Singapore. Ah, the tropics.

Fast and efficient Singapore: out in a taxi within 20 minutes off to the Pan Pacific hotel. The taxi driver is speaking on his mobile, hands free. Also, hands free from the wheel as he gesticulates his points in a language unknown to me. As we aquaplane in Changi to the Pan Pacific, I am eagerly awaiting to get horizontal in a hotel bed.

Singapore Gallery

[1629] Random shot from outside the taxi in Singapore
Random shot from outside the taxi in Singapore

[1631] Nick, Sydney in the background, Qantas Club Sydney Intl
Nick, Sydney in the background, Qantas Club Sydney Intl

[1632] Laptop somewhere near Darwin
Laptop somewhere near Darwin

[1633] Even the toilet in the new 747 as a window. Now the world gets to see your bare arse
Even the toilet in the new 747 as a window. Now the world gets to see your bare arse

[1634] Yes! The bag arrives in one piece
Yes! The bag arrives in one piece

[1635] Rainy night on arrival in Singapore. The taxi driver had it in hand
Rainy night on arrival in Singapore. The taxi driver had it in hand

[1636] View from my hotel room. Large buildings is the Suntec centre
View from my hotel room. Large buildings is the Suntec centre

[1637] Hotel room, Pan Pacific, Singapore.
Hotel room, Pan Pacific, Singapore.

[1638] View from hotel room toward residental portion of Singapore
View from hotel room toward residental portion of Singapore

[1640] Inside Pan Pacific hotel.  Yes, 33 floors up!
Inside Pan Pacific hotel. Yes, 33 floors up!

[1641] Morning over the CBD of Singapore.  This was the view whilst eating breakfast.
Morning over the CBD of Singapore. This was the view whilst eating breakfast.

[1642] View from the meeting room. Stuck in here for 3 days.
View from the meeting room. Stuck in here for 3 days.

[1644] Waiting for taxis, Suntec
Waiting for taxis, Suntec

[1645] Off and away
Off and away

[1646] Ray bowling, Singapore
Ray bowling, Singapore

[1647] Asleep after a long day
Asleep after a long day

[1648] In the lift to the 33rd floor looking at the night lights of Singapore
In the lift to the 33rd floor looking at the night lights of Singapore

[1649] Stod, Lee and Nick somewhere underground in Singapore. Everywhere a store.
Stod, Lee and Nick somewhere underground in Singapore. Everywhere a store.

[1650] Inside the Funan Centre. Every computer store in Singapore is in here.
Inside the Funan Centre. Every computer store in Singapore is in here.

[1651] Outside the Pan Pacific
Outside the Pan Pacific

[1652] Three of the Suntec towers
Three of the Suntec towers

[1653] Fountain of Wealth, Suntec
Fountain of Wealth, Suntec

[1654] Adobe office, Suntec, Singapore
Adobe office, Suntec, Singapore

[1655] Limo to the airport, Singapore
Limo to the airport, Singapore

[1656] Inside Singapore airport. Yes, more shops.
Inside Singapore airport. Yes, more shops.

[1657] Three Australians doing last minute toy shopping, Singapore airport.
Three Australians doing last minute toy shopping, Singapore airport.

[1658] Nick asleep, Singapore Qantas Club. Later that night I had 2 hours sleep.
Nick asleep, Singapore Qantas Club. Later that night I had 2 hours sleep.

[1659] On the flight from Frankfurt via Singapore, we had inappropriate reading material
On the flight from Frankfurt via Singapore, we had inappropriate reading material

Auckland Gallery

[1663] Waringah Freeway out of sunny Sydney
Waringah Freeway out of sunny Sydney

[1664] Nick reading Qantas Club, Sydney
Nick reading Qantas Club, Sydney

[1665] Emmah and Judith waiting in Qantas Club
Emmah and Judith waiting in Qantas Club

[1666] Doing a Jordan: one bag for this Trip
Doing a Jordan: one bag for this Trip

[1667] Mating Sony-Ericssons
Mating Sony-Ericssons

[1668] Lee Gale
Lee Gale

[1669] Craig Tegel, Hotel Lobby Bar, Sheraton
Craig Tegel, Hotel Lobby Bar, Sheraton

[1670] Arrival Maori sculpture, Auckland International Airport
Arrival Maori sculpture, Auckland International Airport

[1671] Departure gate, Sydney for QF49 to Auckland
Departure gate, Sydney for QF49 to Auckland

[1672] Maori iconography, Sheraton Lobby Bar
Maori iconography, Sheraton Lobby Bar

[1673] Best record store in the world: Real Groovy Records, Auckland
Best record store in the world: Real Groovy Records, Auckland

[1674] Skytower, Auckland
Skytower, Auckland

[1675] Bridgework over Auckland
Bridgework over Auckland

[1676] On the Freeway returning to Auckland
On the Freeway returning to Auckland

[1677] Luke the new dad and Emmah
Luke the new dad and Emmah

[1678] Stuck in a meeting room, looking furtively westwards from Auckland
Stuck in a meeting room, looking furtively westwards from Auckland

[1679] Karangahape Road. Shorted to K-Road. I wonder why
Karangahape Road. Shorted to K-Road. I wonder why

[1680] Judith, Emmah, Nick, Two Dells and an IBM. Working in the Qantas Club
Judith, Emmah, Nick, Two Dells and an IBM. Working in the Qantas Club

[1681] Judith, Emmah: retail therapy Auckland International Airport. I purchased nothing
Judith, Emmah: retail therapy Auckland International Airport. I purchased nothing

[1682] Leaving Auckland
Leaving Auckland