More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  James Zhuo 卓宇翔PhotosProfileFriendsBlog Tools Explore the Spaces community

Blog

August 19

The Dynamics of Change and Fear


 
Great talk for entrepreneurs.

On a more personal front. I used to go through emotional ups and downs a lot more. In retrospect, this was probably because of fears, fear that while others make money in a full-time job to pay off their house, that I would come out of it with nothing. These self-doubts can sometimes kill one's entrepreneurial spirit, I am just glad that I no longer seem to suffer from these mental struggles.

Python Decorators

Using python decorators you can easy do inject behaviours through declaration.
A good example of how this might be used in an web application is as follows

@authenticated
def home(request):
  """ a function to handle web request for the home page """
  .... code to handle web request ....

@authenticated injects authentication functionality through a decorator implemented
as either a Python decorator function or decorator class. Here's a great 3 part tutorial on
python decorators http://muharem.wordpress.com/2006/10/18/3/

One of those lovely things about python.

IDKWTF - Learn the Value of Wasting Time

How's this for a way of differentiating yourself? With all these video sites around, people's got to find a way to differentiate themselves somehow. I guess this is how idkwtf.com does it.
Futurama - 100 Cups Of Coffee » Latest-videos » IDKWTF.com




August 18

Python Humour (Sorry if you are not a programmer)

This was some python geek's signature in a python mailing list that I've recently joined. I thought it's quite funny.

"Thus spake the Lord: Thou shalt indent with four spaces. No more, no less. Four shall be the number of spaces thou shalt indent, and the number of thy indenting shall be four. Eight shalt thou not indent, nor either indent thou two, excepting that thou then proceed to four. Tabs are right out."

July 31

How's this for originality?

http://i242.photobucket.com/albums/ff261/ikaika_34/check.jpg

Lion Reunited with Man

http://www.youtube.com/watch?v=adYbFQFXG0U
    


July 05

Al Gore being really Funny (TedTalk)

This TedTalk is pretty average but Al Gore was being really funny.
You wouldn't think a presidential candidate has the funny side in him.

  

Now if you want an interesting TedTalk and has 20 minutes to spare now, "Classical Music with Shining Eyes" by Benjamin Zander

  
June 11

Glassdoor.com is turning companies inside out

Glassdoor.com is a really cool site. If you are like me and constantly try to understand how companies and businesses work. Glassdoor enables (ex)employees to reveal a different side of every company. These reviews are subject to individual opinions and experiences but taken together they are a great insight into a company and its culture. For example, Google has been seen as this great company to work for that does great things, but perhaps they are more like the next Microsoft than most people think, here's a few extracts

“If you enjoy your individuality and time alone, Google is not the place for you (keep in mind I’m not an engineer). Google pushes a highly "googley" atmosphere, which is something akin to what the Brady Bunch would be like if they lived in communist Russia. ... People are encouraged to have googley attitudes, wear plastic smiles, and not to question the infallible nature of the executive management group. Marathon hours are the standard because, after all, employees are practically encouraged to bring a cot and sleep there…barracks coming soon (really?! no, not really). If you like feeling awkward during forced group activity, Google is your haven. ... if you don't participate you become labeled as "ungoogley." Once deemed “ungoogley”, you're practically viewed as a rotten apple that threatens to spoil the bunch.”

“Real life at Google has NOTHING to do with what you read in the papers. Management is mostly useless and doesn't know how to manage projects, let alone people. Folks like Marissa Mayer (who appears on every news magazine of the world) have 200+ people reporting to them. As direct reports. Also when you are not kissing your way up, you not only have no job progression or promotions, but you also will get ousted at some point. No matter if you are good or bad. In fact, most of the super intelligent people at Google are bitching because they are put on dumb jumps which makes them feel undervalued and miserable all the time.”

See for yourself here.

PS: tradevibes.com is another great site, a new startup trying to be wikipedia but for information related to startup companies, they seem to be attracting enough people to their site to get the whole movement going. This is another 1 dollar bet for me and Michael. I think they might just make it, though they do have a formidable competitor - crunchbase.

April 29

Would you buy Google shares? What about Apple and Amazon?

Everything about Google looks so promising, bar the following Google sued over 'unwanted ads', or more specifically the fact that their revenue relies solely on online Advertising which is unreliable and potentially a bottomless pit hole. Perhaps I am overly concerned since Google's revenue has been steadily increasing despite these lawsuits. But instinctively I see no substance in Google's online advertisements. I've asked many around me and none of them pay any attention to Google's text based ads, their acquisition of DoubleClick is probably a good sign that they've realised this. Personally I am much more inclined to click on ads with pictures or Flash similar to TV ads and even then I might click on at most 3 ads every year (yes I can count the number of times I've clicked).

What's most promising about Google for me is their push into software as a service (Saas). I can see Google becoming a leading enterprise software maker in the not too distant future. In fact I would argue that they already are, Gmail is the proof. But there are also Google doc, Google site (wiki), Google reader, Google calendar and let's not forget their newly launched App Engine service. We are boot-strapping our startup operation using all of these Google technologies and we see absolutely no reason to use anyone else. In a sense we are at the bleeding edge of using all these technologies and we see many others following swiftly in the same direction. This is really the root of my optimism about Google.

Google may face competitions from Microsoft in all of these areas, but I just can't see Microsoft transitioning from their existing business model to the new cheap, on-demand, commodity based, enterprise, web solutions model. It's the culture of these companies that ultimately dictate what they become and I think Google's culture is much more well-suited to the new economy built around the web.

Having said all of these, is $552.12 USD at a P/E of 38.81 a good buy given the current state of the US economy? Or would you buy Apple at a similar P/E, an equally promising company with arguably less risk and more prospects for growth? Or Amazon with a P/E of almost 70, again very promising with the release of Amazon Kindle and Amazon web services. I think in the long term all these companies will be good buys, for me it's just a matter of what price to buy into them. If you've any valuation model to share with me, I would love to see it.

JZ
April 21

DHH Talk - Startup School 2008

http://www.justin.tv/hackertv/97862/DHH_Talk__Startup_School_2008

This is definitely one of the better presentations that I've seen from DHH.
He sounded a lot more matured and his arrogance seemed to have subsided.
But great advices on how to build a startup. I think many internet entrepreneurs
or indeed any other entrepreneurs would really appreciated this information.
DHH was just being honest and trying to help, which is really good to see :)

Great video!

April 18

You don't need a Mac Book air to fit your laptop inside an envelope

I was just chatting to my friend Michael about how the MacBook Air fits into an envelope. I had a thought and thought i should try it with my MacBook pro. Voila, IT FITS!!! hahahaha, well that just kills Apple's MacBook Air promotion doesn't it?



April 14

China and Tibet from a Chinese Australian perspective ...

Before I start my rant, here's a more balanced perspective about China and Tibet from my friend George who has a passion for East Asian cultures, and who understands China and Chinese more than most westerners because he has studied and lived in China and Korea. After reading my post below, another friend has sent me a post on a public forum by M.A.Jones who presents some empirical evidence on the subject matter. His view is consistent with mine below but he goes into much more details.

Let me start by revealing the true face of western media as the author of this video puts it.

            

BBC, CNN, Washington Post, N-TV, Bild Zeitung, RTL, Berliner Mogenpost, Der Spiegel, the list goes on ... If you are reasonable about it, you would agree with me this is shameful stuff. It is no wonder why people in the west think the way they do about China.

This is from Time Magazine, March 2008 "Playing the Games" by Joshua Kurlantzick - "the unrest in Tibet stems from years of brutal Chinese religious, economic and political repression". Let me dissect each one of those 3 repressions for you since Time Magazine is unwilling or unable to do so.

"Economic repression" - China has pumped billions of dollars into Tibet since its economic revival. Tibetan region enjoys tax exemptions and a large capital inflow for its infrastructures and tourism-based economy. Tibetan has been treated in the same consistent way that 54 other minorities have been treated in China, i.e. being given special privileges and economic support. People must also understand that China's rise is a step by step process, The 3 special economic regions in China have been given priorities to kick start the Chinese economic engine. The rest of the country will prosper along side as investments spread in-land for lower costs over time. The Tibetan Automous Region already enjoys a lot of benefits from the Chinese government. Chinese Han and Muslim entrepreneurs are doing great businesses in Tibet, why don't Tibetan people do something for themselves instead of rioting and looting from those who have?

"Political repression" is rubbish. Tibet is an Automous Region in China which means they get to govern themselves with funding provided by the Chinese government (not to mention the tax exemptions). But of course Tibet must still be governed in line with the Chinese constitution because it's part of China. It's no different to how states in Australia are governed by local state governments, but each state must still be governed in line with the Australian constitution while the central government overlooks everything.

"Religious repression" may have occurred in the era of communist ideals (pre 1980), but this applied across all of China, and it is in the past. Tibetan are free to practice their religion today, only political dissidents are suppressed in light of social unrest, some of them being monks.  If you ask Tibetan monks whether they like the Chinese government, of course they will say no because their authority and power has been stripped by the Chinese government when the slavery system was overthrown in Tibet (where the monastery, monks and the upper class enjoyed privileges and power over the ordinary people and slaves). If you ask descendants of Tibetan slaves whether they like the Chinese government, of course they would say yes. This is about interests of particular groups, not about religious repression.

But most westerners would never understand these because they hardly understand a thing about China and Tibet. Yet they are happy to stand along side those exiled Tibetans and protest for Tibetan independence, claiming cultural genocide and human rights abuse. Sure, the Chinese cultural revolution was wrong, the Tian An Men Square event was wrong. But the west can be less hypocritical by not talking about China like the west haven't done worst. Europeans have done far worst things than what China has ever done to people of other cultures, you name it, ethnic cleansing, cultural genocide, the list doesn't end. But the world has largely put this past behind and wants to move onto a better future, so why don't the west do the same when looking at China instead of nitpicking on every little thing. Why not stop looking at China with prejudice and stereotype and learn more about China if you so wish to talk about China.

I've brought this topic to the open table with my business partner and friend Michael who is a white Australian, and his view is that surely I would understand why Tibetans wants independence, and sure I do. If I was a Tibetan I would probably do the same, well maybe not the rioting and looting and killing but I would certainly have joined the independence movement. Having said that, the west must surely also understand that Tibet is situated at a very strategic location in China and for this reason alone China would never allow Tibet to become independent. Same story goes with Taiwan but that's another story all together.

Some people like to talk about the legitimacy of Chinese claim to Tibetan land. Tibet has been occupied and controlled by China since the 13th century, i.e centuries before the founding of European colonies in America and Australia. Ask why Britain won't allow independence of Northern Ireland, ask Canada why Quebec is not allowed to become an independent nation, Ask Germany why Bavaria is not an independent nation, Ask Belgium why Flanders is not an independent nation. I don't think I have to make my point any more explicit.

IMHO, if Tibetans are smart, they can take advantage of Chinese investments, take advantage of the tax exemptions, take advantage of special privilege that the Chinese Government has given every ethnic minority cultures in China, all 55 of them including Tibet and make a better Tibet. Independence is only for the idealist.

I am interested in what your think.
twitter me: jamesz
email me: james.zhuo [@] gmail.com
MSN me: yuxiangzhuo [@] hotmail.com

You can get to know a bit more about the cast system that was in place in Tibet from the video below.
       


April 12

Hirem.com is on Google App Engine service, woohoo!!!

24 hours after Google's beta launch of App Engine, we've put our first website on the service. It's only a couple of relatively static pages, but it goes to show how easy it is to put something onto Google's App Engine service without any infrastructure of our own. All credits to Michael my friend and business partner for so eagerly embracing new Technologies.

[Singing Out Loud]:  I am so excited, and I just can't hide it, and I know, I know ..... took me a while to find this, so enjoy :)



April 08

Google App Engine, Amazon AWS, the era of grid computing is dawning...

Google has just launched their App Engine service.

The service allows anyone to deploy python based apps onto google's grid computing infrastructure. The fact that it's a grid is transparent to users. So you don't have to worry about your application infrastructure and any related maintenance. If this sounds a bit like Amazon AWS, it is, sort of. Google App Engine is more a integrated service while AWS a set of isolated services. Amazon AWS gives programmers a set of highly scalable services that could be combined in use to build their applications. Google tries to provide the whole package so you don't have to worry about managing your operating system, but the storage capacity Google is providing is insufficient and lags far behind what Amazon is offering with S3.

It's too obvious that the two services could be combined to very quickly launch a highly scalable python based application on highly commoditised infrastructure for the very first time in history. If Google decides to support Ruby I am sure a lot of people from the Rails community would be very happy. Imagine running Rails on Google App Engine, using Amazon S3 for file storage, Amazon EC2 for batch processing,  Amazon SQS for message based application. Zero custom infrastructure, zero maintenance, we should all be rejoicing!

Here's a video introducing how to make a quick message book and deploy it onto Google infrastructure. I couldn't get an account to play with yet, in the queue. Most interesting points from the video are
1. Object Oriented DB (at least it looks that way to me) - storage magically made available as soon as you define the object oriented Models in python
2. GQuery - looks like SQL to me but maps directly to the object oriented models

        
So would i use Google App Engine? For projects to play around with, my answer is absolutely. For relatively static websites, my answer would be yes again. For commercial applications, my answer is probably no at this point in time.

PS: see how much smugmug saved switching to Amazon S3 as their storage solution.

April 07

Ruby, Rails, Gems and Plugins Demystified

Ruby, Rails, Gems and Plugins ...

It's enough to give any RoR first timers a headache.
So let me quickly demystify this for you

Ruby is a programming language.
Rails is a web framework created using Ruby, and is used to build websites and web applications
Ruby Gems are Ruby programs/libraries packaged for easy installation. The installed ruby programs/libraries can then be used by other Ruby programs in your system, e.g. A typical Rails application makes use of many Ruby libraries.
Rails Plugins are Ruby programs that has been packaged for reused in any Rails applications. Rails plugins can be installed in a Rails application by simply copying all the contents of a plugin folder and can be deleted equally easily.

So really, a Ruby Gem is not much different from a Rails Plugin in that they both enable reuse of ruby code/library. But a Ruby Gem only needs to be installed once per system before it could be used over and over again. Ruby Plugins are only installed per Rails application so if you create a new Rails application that needs the same plugin, the plugin will need to be installed for the new Rails application.

here's a treat for sticking with me for so long
 

March 06

These base jumping dudes are nuts, but it's exhilarating just watching the video

  
http://www.youtube.com/watch?v=B0tU3Hy7et8

March 05

C# Coding Standard

I've been using this as a guideline for my C# based projects for a while now. It's by Juval Lowy. They call him .net legend. I've met him once at a user group, very smart guy no doubt, but as you would probably expect, also came across as being a bit arrogant. Juval's guideline has served very well, but the reason for this post is really because I've found an alternate guideline published by Microsoft which is 99% identical to Juval's that I think is much quicker to skim through because it focuses mainly on naming conventions .

The Microsoft naming guideline can be found here. enjoy :)

March 02

Handy SVN commands, much faster than using a GUI tool

Here's some handy SVN commands I use on a daily basis.

> svn help
Lists all svn commands

> svn update
Compares and updates all files under version control in the context of the current directory

> svn add [directory_name]or[file_name]
Add a file or directory under version control

> svn help [command]
If you want to know more about a particular command

> svn delete [directory_name]or[file_name]
Remove file or directory from version control

> svn commit -m "commit message"
Sends all changes to version control

This is generally enough to get me through the day :)

Oh almost forgot, svn stat this is a really useful one, you will never miss another uncommited file again.

PS: If you ever need to delete all the .svn folders, use these unix commands
> find . -type d -name .svn
> rm -rf `find . -type d -name .svn`

I've found it here and it works really well.

February 23

Furnitures packed into a box the size of a filing cabinet ...

1 wardrobe
1 large desk/table
1 desk cabinet with locking drawers
1 revolving, height-adjustable desk chair
2 stools
1 single bed
1 mattress
1 tall set of shelves

  
http://www.youtube.com/watch?v=OYCTcPkIIBI

it's called CASULO


February 14

Handy MySQL 5 commands to help you navigate the database

I've found MySQL Admin/Query Browser very cumbersome on OSX. So I've resorted to using command lines instead to get an overall picture of the database. This has worked surprisingly well, there is a bit of typing, but you can get every where on the keyboard which is generally much faster than using a GUI interface for programming tasks.

In Mac OSX you can install MySQL5 using mac port
> port install mysql5

To login to mysql5 (no password has been set for root user in this case)
> mysql5 -u root

To get a list of databases available
> show databases;

To use a particular database
> use [database_name]

To show all tables in the database
> show tables;

To show fields from a table
> show fields from [table_name];
> desc [table_name];   (much shorter)

To show indexes for a table
> show index from [table_name];

From just those few commands you can pretty much get a good picture of the database, particularly hard-to-remember field names. There's a more comprehensive list from someone else here.