Category Archives: Others

Google Earth images of schools I went to

Below are three images (from Google Earth) of the school / college / university I went to:

School

College

University

I haven’t been to any one of them for many years, and it is nice to see them again. Lots of good memories of these places. Who can tell me the names of these schools?

Hint: They are in three different continents. Click to view larger versions at Flickr.

Programmer Personality Test

According to the Programmer Personality Test, I’m of the type DHSB.

“You’re a Doer.
You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money.

You like coding at a High level.
The world is made up of objects and components, you should create your programs in the same way.

You work best in a Solo situation.
The best way to program is by yourself. There’s no communication problems, you know every part of the code allowing you to write the best programs possible.

You are a liBeral programmer.
Programming is a complex task and you should use white space and comments as freely as possible to help simplify the task. We’re not writing on paper anymore so we can take up as much room as we need.”

In pursuit of the perfect keyboard

Over the years, I’ve used many different keyboards. From the flat Atari 400 keyboard, to the DEC VT100 terminal keyboard, to portable systems such as the Hyperion keyboard, to Apple II and so on. As a developer / programmer, the keyboard is the main interface to the computer, and I always look for the “perfect” keyboard.

The last keyboard I used is the Microsoft Keyboard Elite for Bluetooth, and I just bought a new wired keyboard two days ago.

Why get a wired keyboard again? It’s basically because I’m tired of waiting for the Bluetooth keyboard to respond. You see, it can get pretty frustrating when typing something and there’s no response. Sometimes it would take a good 15-20 seconds before the keyboard is fully awake. I’ve tried re-installing drivers and what not, and it’s still up to the keyboard to decide if it wants to accept my input! Even though this Bluetooth keyboard is nice and comfortable with a large palm rest, convenient Forward/Back keys, and a scroll wheel, the waiting is unbearable.

In terms of ergonomics, the standard Apple keyboard is rather mediocre. There is no palm rest, and the keys layout just don’t feel “right” for some reason. The old Apple Extended Keyboard II felt much better in comparison, although it isn’t particularly ergonomic either, but I’m not the only one who feel this way.

So I got adventurous this time and bought a Natural Ergonomic Keyboard 4000.

The layout will definitely take some getting used to. The odd shape and profile do provide comfortable typing, as it is the major selling point. The reverse slope attachment tilts the keyboard backwards (i.e. the front of the keyboard is higher than the back), changing the normal hand posture. Only time will tell if this is the right keyboard for me.

As a side note: I’m still extremely happy with the Logitech MX 1000 Laser Cordless Mouse. In fact, I have two of them – one for the main PC and one for the Mac (the original Apple Mighty Mouse is horrible compared to the laser mouse). I know, colours don’t match (the Mac), but it’s function over form for me in these cases.

Which is your favorite keyboard or mouse?

Flash in the Can & visiting Toronto

Can’t believe it’s already the 5th year. I still remember speaking at the first festival when there was a snow storm outside.

As a public service (but mostly for Guy “Watson’s Water“): It’s not cold anymore! The weather is great (warm & sunny today), but it’s always wise to check the latest Toronto weather before departing.

I’ll be at the festival, and as one of the panelists at the Flash Lite mobile panel on Saturday at 4:00pm.

Here are some links for visitors to Toronto:

Or if you like nature and the great outdoors, check out the Muskoka lakes district, 2-3 hours drive north of the city.

And now, for something totally different: Uptown Chinese malls and restaurants for those who want to check out the latest imports and great food:

There are also lots of Chinese, Japanese and Asian restaurants and shops in Markham (north of the city) along Highway 7, from Bayview to Leslie, Woodbine, and Kennedy.

Looking forward to seeing many old friends and those whom I’ve only corresponded through email!

Things go wrong at the right time

You know how it goes, everything is working fine before the presentation, and things start to fall apart during the show…

Sho Kuwamoto of Macromedia was demonstrating how easy it is to build an application in Flex Builder 2 yesterday at MAX, and things started to fall apart, but ended up fine.

Something similar happened to me recently at the Flash in TO gathering, when I was showing Flash Lite mobile development. By the way, I started using Flash 8 many months ago, it has never crashed on me, not even the early alphas.

At the gathering before my presentation, I set up all the applications, files and folders – everything’s ready to go. When it was my turn, I plugged my laptop into the projector and it detected a resolution change, my desktop was resized automatically, and I began the presentation.

When I brought Flash 8 to the front, because of the workspace was originally set for 1920×1200 and it’s now much smaller, things needed to be adjusted within the IDE. To my surprise, dragging the vertical divider bar did nothing, quitting the application did nothing – Flash simply stopped responding. So I forced quit the application, restarted it – same thing. Tried a third time, no luck. Someone suggested it was time for a reboot, that solved the mysterious crash, and the presentation went along fine.

Afterwards, I checked my graphics driver and other possible culprits, and found nothing was out of the ordinary; they were all the latest versions. It has something to do with leaving Flash running in the background, plugging the laptop into the projector, and (automatically) switching the screen resolution. Or it could be because I normally connect to an LCD screen through the DVI port, but the projector uses the analog VGA port…

This shows that things will go wrong at the time that you definitely don’t want it to happen. But that’s life, next time I’ll remember not to leave applications running while plugging the laptop into the projector.

Programming for kids

What makes a good first programming language for kids?

My son, who is 8 years old, was intrigued by some of the games I made years ago (mostly in Director), and perhaps is ready to learn his first programming language.

It doesn’t have to be all coding at this point, perhaps with a mix of visual programming. Since he likes playing with lego, we looked at Lego Mindstorms; however, I’m not sure if he’s ready (the box says for ages 12+). I know Robin teaches his kids C#, but the complexity of the language, libraries and compiler…etc. would probably frustrate an 8 year old (and no doubt my son). Logo seems to be a logical choice, but I’m open to suggestions…

What do kids like to do? What frustrates them (and diminishes the interest in learning)? Why even learn a programming language? What are the essential ideas kids should learn? Logic? OOP? Making turtles draw?

After looking at different options, I think ActionScript is not a bad choice! 😎

Flash Anthology

SitePoint sent me Flash Anthology – Cool Effects & Practical ActionScript by Steven Grosvenor and asked me to write a review.

The back cover of the book says “best practice solutions to common Flash problems”, which lead me thinking it was a book on design patterns. However, in the “Who Should Read This Book?” section, it says the book is aimed at beginning and intermediate Flash developers and designers. The book is not for learning Flash MX 2004, ActionScript, OOP, or design patterns.

Instead, the book focuses on using ActionScript 1.0 “to achieve extensible, adaptable, and aesthetically pleasing results.” There are over 60 ActionScript solutions, covering 10 chapters: Flash Essentials, Navigation Systems, Animation Effects, Text Effects, Sound Effects, Video, Flash Forms, External Data, Debugging, and Miscellaneous Effects.

I was a bit surprised to see no ActionScript 2.0, typed data, classes…etc., from a book published almost a year after Flash MX 2004 was released. Instead, I see most examples dealing with the prototype, scattering of _root, capitalization of method names in one section and lowercase elsewhere…etc.

To be fair, not all Flash projects require ActionScript 2.0, OOP or patterns. In fact, I’d think most typical Flash projects are still one-offs that have short life cycles. As Branden Hall says, sometimes pragmatic programming can be an ideal solution, especially for these quick one-off projects. Perhaps this book is for beginning Flash designers who work on small projects. SitePoint offers 30 days, risk-free, money back guarantee; so I guess it’s worthwhile to give it a read if you’re a beginner designer looking for ActionScript to create cool effects.

On a side note, for ActionScript 1.0 and effects, I’d suggest Robert Penner‘s book as an example of best practices.