Back from hiatus

Haven't been posting on this blog for the longest time. If there is one thing i want to do more this year is to blog more, to get my thoughts out there more.

Will be back with more later this week ...

Posted

Working Stiff

(download)

Four interesting statues from the old town of Bratislava, Slovakia.

Posted

The Wait

iPhone 4 ordered (thru Smartone HK), picking it up next Friday. So the long wait begins ...

Also iPad on schedule to arrive on mid August !

(Yes I am trying to singlehandedly drive up AAPL price)

Posted

Disruptive opportunities for the "After 80s"

For an advanced society Hong Kong still has a lot of industries still running like it is in the 80s. There are tremendous opportunities to disrupt them and with new innovative business model.

For example the traveling and ye real estate agency industry. Most companies in these two industries barely have a serviceable website, and most if their day-to-day operation is very manual driven. We can use Priceline or Zillow as example and introduce this kind of business model here.

New job types created by these biz models, such as sales/biz dev jobs for travel agency and online property management for real estate agency are very appropriate for the younger generation. These jobs require the young energy to run around town, well defined job scope and yet highly autonomous.

The current economy in Hong Kong does not produce enough jobs, and the right kind of jobs for the younger generation. It is time for them to create their own one. Because sure enough the older generations, to protect their own wealth and the status quo, will never disrupt the existing business model.

Posted

Touching the Antenna

The news and reviews of the new iPhone 4 is completely overshadowed by the antenna issue. From reading all the accounts and tech analysis I think it is more about mainstream media baseless hysteria, as majority of the tech analysis point to this iPhone behavior as expected and will happen to any other phones. Just that people focus more to this issue when the iPhone is involved.

In any case I will be the first in line to get the new phone when it arrives in HK!

Posted

Waiting for iPhone.next ?

As everyone remotely interested in the tech industry will know. Next Monday is the beginning of Apple's WWDC, and Steve Jobs will be the keynote speaker. And it is almost a known fact that he will show off the latest release of iPhone (iPhone HD ? iPhone 4G ?) and iPhone OS 4.0. (And possibly new Apple TV, but up til now it is mostly just a rumor ... )

We already know that in iPhone OS 4.0 there will be multitasking, a highly anticipated feature, and iAd, a new mobile ad platform. On the hardware side we may get a new "flat surface" unibody plus a front facing camera. However the features in the OS and the hardware I am most interested in are not announced (and mostly just my wishful thinking ... ) :

  • WiFi Hotspot - HTC Android EVO 4G has it, and has garnered universal praise. With this the iPhone will become the perfect companion of the iPad, and can setup ad hoc network for multiplayer gaming.
  • Notification System - A better notification system, one which users can retrieve old notification messages, and can configure to prevent the system from robbing focus from foreground applications.
  • RAM - More RAM, we always need more RAM.
  • Wireless Sync - Especially on iPad, we need a way for files saved on iPad to be able to send/sync to different computers without resort to sync-ing.
What do you want in the new iPhone / OS ?

Posted

Getting into the zone

Often time developers will talk about this so called "zone" while they are programming. Similar to athletes' experience in the field, developers will describe that they are not consciously thinking of the problem, but code just stream out of their conscious. And the amazing thing is that code come out of this development session are often higher quality than other "non-zone" sessions.

Also just like athletes, for ages developers have been looking for sure fire way, or at least their own way, to come up with a way to reliably getting themselves into the zone. Music, light reading, exercise, long walk, or even video games (Ha! Any excuse for games ...) to set their mind up.

Personally I like to start off a day with some routine tasks that require minimal concentration, like doing back up, check-in/out code, running different unit tests. Then gradually work myself into more challenging tasks.

What's your ritual on getting into your personal development zone ?

Posted

Design Patterns Revisited

For the past couple of months I have been learning Scala bit by bit. However as other developers can tell without an actual project it is really hard to learn any new technology. Just by reading books / articles and playing with sample code you are hardly sinking your teeth into the subject. So I am trying to think of a project I can work on using Scala.

In the process of learning about Scala, I realized that a lot of the design patterns that I learned in the past is no longer useful or have to be rewritten because of the functional / multi-threading nature of Scala. With that in mind I am starting a project to redesign / rewrite most of the design patterns described in GoF book in Scala. Obviously patterns like "Singleton" is no longer meaningful in Scala (Scala has built-in support of such), or have to be heavily rewritten, like "Command" pattern, to take advantage of the parallel processing nature. I also hope that by working on this project I will be able to discover some new idioms that I can use in the future.

Posted

Reinventing the wheel

A friend has just landed a job at a major ISP in HK. He mentioned that the team he is joining has been developing and maintaining a yellow page / map of HK. Users can lookup businesses by business registration code or business name and the location of the business will show up on the map. However instead of just use Google's API and layer the data on top of Google Map, they roll their own web-based map. Of course the outcome is predictable : A proprietary system with a lot less features than Google Map, slower performance, and no way for 3rd party developers to leverage the service.

When making technical decisions on acquiring new technology to solve their problem, local businesses and government rarely will ask for guidance from the tech community, and even rarer will find whether such a solution is already existed. Most of the time they will just re-invent the wheel again and again. This approach waste time and resource, and reduce competitiveness of either the business or the government, and more importantly you are not participating in the global conversation on sharing knowledge. And in this Web 2.0 world, participation and sharing is the best, and sometimes only, way for you to get your message and name out.

Posted

Pair Programming as a Training Practice ?

This new development team that I joined recently is a staunch practitioner of Agile Development methodology. So it is quite natural that the team does not have a lot of documentation (Easy to get outdated, expensive to maintain) and frequent practice of pair programming. For the past two weeks I have been pairing with different developers almost everyday.

I find that pair programming as a training / initiation tool is quite effective. I got to see how developers perform the daily task (code / build / deploy) in their "natural habitat", instead of some dry documentation which the nuance of those steps are lost to words. You can pick up new techniques of doing things, new key shortcuts in different tools, and learn about the whole IT infrastructure (settings / server location) within the firm. Besides pair programming is a great way for the new guy to quickly bond with the rest of the team.

Posted