unique visitor counter

Posts filed under 'technology'

Kavin making it in Europe

I got a letter from the EU. Thought it was Scotch related cuz that’s my only connect to the EU. But it turns out its a notification of patent application filed when I was back in Amazon. Somehow the patent office found my address. It’s kinda cool to tell you the truth.

Have another patent in the works with the current company. I’ll spill the beans once I file the non-provisional.

Add comment November 21st, 2006

nownow.com

Amazon’s lastest product nownow.com is one of the coolest thing I have seen. It’s now in beta and I would imagine that they will charge a subscription for it soon. It lets you ask any question you want in humand readible language. So I asked:

Question:
Where is the closest public bathroom to 3 Hanover Square NY NY 10004….um like NOW!
Asked: Nov 21, 2006 2:44:40 AM GMT
TAGS:

Answers:
McDonalds. 6 Water St New York, NY 10004
Good luck!

Source: http://www.tdc.ca/nywashroom.htm

Answered within: 3 min 5 sec
Worked for: 3 min 2 sec
McDonald’s have public restrooms
McDonald’s
90 Maiden LN, New York, NY
(212) 422-3791.
Head northwest from Hanover Sq – go 98 ft 98 ft
2.
Bear right at William St – go 0.2 mi 0.2 mi
3.
Turn right at Liberty St – go 404 ft 404 ft
4.
Arrive at McDonald’s
90 Maiden LN, New York, NY 10038

Source: http://maps.google.com/maps?f=l&hl=en&q=mcdonalds&near=3+Hanover+Sq,+New+York,+

Answered within: 3 min 42 sec
Worked for: 3 min 35 sec
Mcdonalds – three blocks away at 90 Maiden LN, New York, NY
Good luck

Source: google

Answered within: 5 min 32 sec
Worked for: 5 min 3 sec

This Rocks!!

How it work is that it do some search to find out if it has the answer. If it doesn’t, it will farm out to MechTurk.com for 2 cents a question. People who are willing to do the research also compete for quality of the answer ranking to win a weekly prize of $1000. Man, I can be on this thing all day…

Another job well done.

2 comments November 21st, 2006

Software Sizing

I am begining to realized there is a right size for everything, including software.  I have been developing enterprise level applicaton , where there is a clear seperation of duties for each and every component and services.  Database stores data, log aggregation service stores logs, performance monitor service aggregate and analyse data.

This doesn’t work for small and medium sized companise.  There is just way too much overhead for handoff points at the Chinese Walls.  If you are not going to have several buildings full of developers with seperate release schedule, you can always walk over to change things.  The limitaton of this is that you are pigeon holing yourself to a maximum of 20 oods developers before you have to refactor.  But at a given point that’s all that’s necessary to push the company forward economically.  Should that be a bad thing?  Resizing and refactoring is just a fact of the software life.  I am sure the next batch of developers down te line is goign to say my stuff sucks, just as I say the previous guy sucks.  But the fact is it worked for its time, and software is just something we need to keep changing.

Add comment November 17th, 2006

Craig’s List

What else can you add to craig’s list to make it better? Well, what else can you take out and still make it work? Nothing. That’s exactly why it is such a beauty.

My friend Ajit recently finished Amazon’s EC2. It was one of the few beautiful API I have seen for a while. It has lots of feature, and not an ounce of fat. That’s right. There is no bells and whistles. Everything is there for a reason, and without it it wouldn’t work.

I know exactly how difficult this is, because I am trying to take my team’s API there, while convincing our business folks we need less options or less features. The delima I am facing is trying to be the core service provider and a value added service all at the same time. And it is difficult to explain the chinese wall theory to a bunch of Chinese developers. Once you allow Craig’s list to have fancy Ajax and user preference and recommendations, Craig’s list is no longer the slender beauty that it is now.

So, please no fancy AJAX for EC2.

Add comment November 16th, 2006

On Software Requirement Specification

During the 4 years I was an engineer at Amaon, I never found requirement spec to be useful.  Instead they uses a concept called one pager, which is to describe the problem vaguely in one page, and hand it to the developer to figure out the rest.  It is then the responsibility of the engineer to understand the problem space and make the best technology decision to anticipate what detail feature the business really wants.  Rapid prototyping, using something close to code as your canvas to refine your picture.  This, I found, have shorten the development cycle; and give the engineers the sense of ownership they are looking for.
Part of the team I am working now with requires a set of specification similar to those of a Boeing airplane plan.  Basically you are fronting all the thinking into the requirement phase and allowing a long period of dark time for development.
In the three months that we spent doing requirement, the business needs have changed significantly.  So the process becomes constantly having to jump hoops to adjust the requirement to fit the changing business needs.  By the time the product is finished, the market might have changed, and the software is not flexible enough to accomedate that.
The problem of the first approach is that you need engineers who are willing to take risk to own a problem space.  If he gets the problem wrong, he should be held accountable and his head should be on the chopping board.  At the end of the day, all business folks are held accountable for the same thing.  Why shouldn’t engineers be treated the same?   You need to find engineers who is capable of doing that, which I think is the main problem why a lot of people go with the second approach.

I can’t say which approach will win.  Having been on both side of the fence, I persoanlly do not believe in software requirement spec anymore.  The flattening of the world introduced a huge inflaux of engineering talet at a much lower cost.  These engineering talent are mostly commodities to fill the second type of work.  You cna now get an army of them to bang out code for you.  So probably what will happen is big company who have a more stable requirement can afford the time to use this method; and small company who wants to out speed them will stick mostly to the first type of engineers.

So as an engineer, the two caree choice I see is either to provide more value by taking on more business risks, or to place yourself as the management of these commodity resources, or to compete for the finite space of being the industry expert on things like pubsub and do that all day.  The days where average engineers can just code is getting shorter and shorter.

2 comments October 17th, 2006

Logistics in Hong Kong

I havn’t been back to Hong Kong since 1997. Over the years I have heard how technologically advance Hong Knog has become, but man was I in for a treat. In the last 10 years, Hong Kong has implemented two centralized proximity cards, the HKID and the Octopus. HKID is a government issued card that identifies who you are. Upon entering the immigration hall, if you are a HK citizen and has nothing to declear, you can walk straight through with this proximity ID card. The system keeps a record of who goes in and out, and flags any anormalies.

All luggage entering the HK airport is tagged with an RFID tag with an antena. Through the different gates they are able to track your luggague and know where it is if it get lost. Leaving the airport you rely on something called the Octopus. The Octopus is a stored value proximity card endorsed by all public transportation, vending machines and some cas registers. Because fare for HK subway is distance based, you register once when you gain entrance into the system, and once more when you exit. The fare will be deducted from your card. You can use the same card to get a soda from the vending machine as well.

But there are times that Taxi is more convience, such as going to the new territories. There is live TV on an LCD screen in the cab. The government has subsidized natural gas as a fuel source, so almost all cab now runs on natural gas. The taxi now all runs different ad hoc social networks, each with about 15 cars serving a single neighborhood. They would take calls from their pool of customers, and dispatch it among themselves first before passing it back to the main dispatcher.

At the resturant, the bathroom attendant have a company picture ID on display, along with a number to call to report how good or bad of a job he did. Not only him, but also anywhere from government departments to the guy who collect tolls all have an ID and a phone number to report performance.

I am amazed how the west hasn’t catch up to these advancement yet. I have a feeling that they are going to show up very soon through Hutchison Whampoa and PWCC’s investment in China.

Add comment July 10th, 2006

To become more fireble

One of the job of a technologist at a small company is to become more fireble.  By that I don’t mean trying to get fired everyday.  By definition startup runs on very little margin of error.  Everyone in a startup plays a key role in the company.  Thus it is far more important that a technologist to make himself more replaceble through the means of documentation and knowledge transfer.

The goal here is not to get replaced, but to be responsible enough for the truck factor, (if I get hit by a truck, what happens) to make sure that the company can still operate if they pick up an equally competent engineer.  When I took this job I took a 30% pay cut.  What that bought me is the ability to walk and get an automatic 30% raise.  So I will try harder to make sure I like what I do.  On top of that, I am not afraid to get replaced.  So I will not be afraid to go and make myself more replaceble.  Which put me in a position that I need to be on top of my toe to keep my job.

1 comment June 6th, 2006

Hacking on Windoze

It sucks. Yes, that sumarize it. It sucks. Amazon A9 has a portal called OpenSearch where you can plug in your own search engin. So as a proof of concept, I listed my blog up. Since workdpress already provide RSS search result, all you need to do is wrap it and XSLT it to OpenSearch response format. If I need to vi the whole thing myself in php it would probably take me about 2 hours. It was easy to hack, fun to work with, and most important of all, it’s didn’t feel like a big job to add a new feature.

If I were to do it on windoze “enterprise”, it would have taken me 2 days. Who says all programming language are the same?

Last week I was going to test the performance of one of my schema on SQL Server. To do that I was planning on generating 10 million inserts in a flat file. To do this in shell script it would have take less than 10 minutes.

The real cost to the businese is not the difference in the amount of time it will take, but in the encouragement in doing something simply because they cost less. every wrong turn you make on a 1 hour job, you can make 6 wrong turn on 10 minute job. Experiment fail. That’s why they are called experiment. And if the cost of each experiment is so high, the innovation rate will get hammered.

2 comments May 5th, 2006

The price of “ownership”

Every manager wants people who are willing to take ownership of issues. (see “Type A and Type B engineer”) But until recently I haven’t learn how to put a cost to it. It is common knowledge that when a consultant leave the job, they no longer take ownership of the project. But just how much would that cost you? I had the pleasure of finding that out by working with different consultants in the past week.
The thing is when someone doesn’t feel like he or she owns a product from end to end, little thing can get dropped or delayed.  He or she is just doing what he or she was told.  The objective becomes to get the system to appear running as soon as possible.   They never step back to think about the big picture to see if doing what he/she was told actually make sense in the long term.  It’s all about perceived value baby.

When it comes to out sourcing, I am in favor of the subscription model. Subscription model is like hiring an employee, with a defined scope of duties. It enforce ownership by forcing responsibility and efficiency down the chain. Not too different than the Amazon engineering model.

We had a consultant coming in to fix a job, but he left with things appearing to be working without actually finishing it.  So we have to hire another guy from the same company to finish it. The poor guy has to re learn everything his colleague did, revert most of it and redo them again. Being the same firm of course we don’t have to pay for it, but inevitably there is time lost. That the price we paid for someone not having ownership of their work.

From my incident, the cost for replacing a competent employee with an equally competent one is approximately 1/4 * number of period in service * period pay. Which I would expect to be about the same for replacing a full time employee (excluding recruiting cost). So that means if someone is irresponsible, you are actually spending 1/4 of another employee’s time to clean up his work. Which means there is actually a place for people who don’t want to take ownership in an organization.

Add comment May 4th, 2006

Worse work day in my life

Yesterday I had the worst work day in my life. Being in a startup teach you a lot of things, and this is one of those you wish you had learned a little earlier. Working in a big company you take a lot of things for granted, such as emails, network, etc. In a small company it doesn’t make sense to have a dedicated person handling it, so being the tech guy, I am taking care of it. And NO, I am not a sysadmin. So that sometimes that means I have to do things outside of my comfort zone and learn how to do sysadmin on the fly.

Originally we had hired an external consultant to set things up. Everything seems to be working. But one thing I learned about consultant is they have no sense of ownership. They are paid by the job, and when the job is done, they go home. Which is fine and all, except that things we also take for granted like redundancy and ease of upgrade wasn’t part of the deal.

So, the unfortunate happens when during the process of setting up Blackberry Enterprise Server, I corrupted one of the windows registry file. Microsoft Window Server depends on something called Active Directory. Exchange and other application feed off Active Directory and use it to build the Global Catalog. If you only have 1 Active Directory
and 1 Exchange Server, it’s a good idea to put them in a different places. Ours was in the same machine that went down.

That was at 6:00pm. We lost the e-mail server and the staff permission setting. And NO, our consultant did not setup a replicating AD on any of our other servers. My stomach flips over as I watch the machine failed to reboot.  (I had no idea)  Luckily we had backup tapes, or so I thought. One thing I have to applaud Windows for is that you can pretty much figure things out along the way. But the worst time to “figure things out” is when you know you have to get it done by 9:00am next morning. On top of this my mom called and told me that my grandma from my dad side whom I’ve never met has passed away. Crap. But I had to keep going.

Installing the AD, getting back on the network, talking to the tape farm, finding out AD can’t restore remotely, pulling the SCSI card, cataloging the tape… At 9:00am my stomach had already flipped over 3 or 4 times, as i keep running into road block and making u turns.  The thing finally worked.  It was the worst work day ever. It’s like learning how to drive with your entire company staff on board in the middle of heavy fog, yet all of them are counting on you to get them there on time.

Now that this is almost over, I did learn a thing or two about sysadmin, how things should be setup. I have since install redundant Active Directory and Exchange into our network. But the more important thing I learn is that even in a startup, you need to know when to delegate, even when there is no one down the chain. Sometimes it’s just not worth the trouble to do things yourself.

Add comment April 20th, 2006

Next Posts Previous Posts


Calendar

July 2018
M T W T F S S
« Aug    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Posts by Month

Posts by Category