unique visitor counter

Posts filed under 'technology'

Our patent office

Patentlyo reported that the patent office has developed a position against patenting against processes and algorithm.  The wording was that it must “tie to a particular machine” or otherwise it is not patentable.

What the patent office refuse to accept is using a description of a general purpose machine (i.e.  a device capable of obtaining an imagine and transmitting data to a remote server), a common practice to enlarge the claim coverings.  It has to be a particular one, like a particular crisplant.

This would nullify patents like one click or buy it now.  What the patent office failed to recognized is a lot of productivity gains (or lost) we enjoyed today comes from process engineering.  The general purpose machine already exist.  It is the process that’s revolutionary.  On the other hand, I think the damaged rewarded to these patents should be limited.  If the patent is not implemented, it should be limited to 10 times the implementation cost.  If it was, 100 times actual revenue lost, or half of profit gain by the infringer.  So that way it won’t limit someone with a ability to take something to market from doing so.

Consumer will have more choices.  If the invention was not implemented, either the cost is too high or the inventor did not believe there is a market.  He will be properly paid either case if someone took it to market.  If the invention was implemented, and someone can do a better job at scaling it, the inventor is rewarded accordingly with royalty.

Setting a limit would encourage faster settlement for suits, thus speed up how some of these case get processes and put back the focus on rewarding those with ideas.

Add comment July 24th, 2008

the 10 msec business

Up until this point, I never understand how executing a trade in 10ms and 100ms would make any difference. Well, apparently if your business is arbitrage, it makes a lot of sense. Arbitrage takes advantage of price inefficiency in the global market and exploit them to make a small amount of money each time. (i.e. buy a once of gold in US with USD and selling it in its chinese unit HK for HKD) A 10 ms execution means you can stick your order in front of everyboy else’s.

But let’s talk physics for a second. It takes 100 ms to simply send a packet across the transatlantic undersea cable, 40 ms to send across the US, and 10 ms to send across the Hudson river. When you are in a 10 msec business, every milliseconds counts. Then you have the biggest time sink, the database. Even when you are able to reduce the transaction to one load and one save on the return leg, you are still talking about 15 + 40 ms. It’s a fun problem to work on, and long as the arbitrage business makes enough money to cover the servers and the piping.

Add comment May 14th, 2008

Am I hot or not peer reviews

Over the break I was talking to Ajit and Pradip about how ineffective 360 reviews are.  With any large organization who centralize employee performance rating, it is hard to do a truely fair job.  How much did Kavin contributed to the 11 billion dollar profit last year.  How much of it should be credited to past employee who built the infrastructure.  How much work did I put it to enable future success?  When my rating travels up the chain, how much of my work is actually visible to other managers?

So I thought, why not have a peer driven system as a part of your rating?  Much like open source developers get his reputation, we all know some developers in another group that’s really good, and some that sucks.  Why don’t we randomly show each developers a list of logins, and ask them to rate from 1 to 10 (with an option for N/A).  At the end you can draw all sort of statistic from it, like if one group ranks above others.  Using this system you will actually encourage developer to work with another group for the greater good of the firm.

2 comments April 1st, 2008

Microsoft photosynth

Microsoft did this prototype product where you can navigate a set of 2D photos photos in 3D. http://labs.live.com/photosynth/video.html  Pretty interesting application I have to say, esp for street maps and battle field recreation.  Imagine taking a series of photos, upload it and have a halo map of your house back.  I thought about what would it take for you to do that.  Basically you’ll need:

  • longitude
  • latitude
  • altitude
  • point
  • tilt
  • zoom length (angle of view)
  • time (optional)

You just need to stick the first 5 into the data link of your camera.  I search online.  Currently there is no hand held GPS device that has a both a compass and a tilt sensor, although Garmin has a patent out for one.  I thought about hacking the Wii Remote to hijack it’s motion sensor and strap it to the camera, reset to base when camera boots up. But most camera out there doesn’t have bluetooth input capability either…

Add comment January 3rd, 2008

The weak US dollar

I put together this Greasemonkey script that looks up product price from Amazon’s US site from it’s JP, CA and European site and convert the price to local currency. It currently support Book, Music and Video and the price account for single item shipping. You can download this user script here.

Grease Monkey


3 comments January 2nd, 2008

Dependency tree for mashup

As I was going through code at work, one of the call was spawning 12 threads to call various web service to populate its underlying data tables.

Now, with all the mashup that are in place out there, wouldn’t it be nice to have a RoR module that will accept a dependency language for the different web service calls it needs (kinda like what make does) and spawn off the head vertices as seperate thread? I bet it’s already out there…

1 comment July 25th, 2007


Not sure if they worked out the referral structure and placement deals with various Realtors yet, but they seems to be rocking on with the subscriptions model. They did a pretty good job deserializing the data source initially, so now the information are begin organized to become more useful.

Quite interesting application as it serves a totally different population than Property Shark…

Add comment April 16th, 2007

Amazon Christmas

* Disclaimer: I know nothing about Amazon DC. The below are just standard practice of distributiong center and graph theory everywhere.

This is the Amazon UK Distribution Center (UKDC). It might look like your regular super market shelf, but there are so much going on in this picture it makes operational research dream land.

First thanks to standardize pallet size, the DC is organized in mahattan layout. Without standardized pallet, we would have much more wasted space. Notice there is no racks here. It because a typical product only stay here for less than 2 weeks before someone orders it and get shipped. When a pallet comes it, it is getting randomly stowed. Ramdomize stowing along with computerized location system minimize mistakes and maximize the efficicy of space use. You stowe them where there is space, so HP1 maybe next to a barbie, instead of HP2. There are less chance of workers picking up the wrong version of HP.
The worker travelling with two basket is picking items for two or more orders. Since each order contain random number of items in random location, you need a picking algoritm to try to find the shortest path to all of them. Yes, travelling salesman. When you store items like this, naturally you would think of mahattan distance. But algorithm is only algorithm, mahattan distance doesn’t account to changing condition such as water spills or falklen boxes that may block the way. So what you do is treat each location as a node, and the time it takes from one node to another as weighted vertices. You start off with mahattan, than adjust the weight based on actual time it takes from worker scanning one item tot he next. Do a travelling saleman on it, then you have your simple picking algorithm.

Add comment December 30th, 2006

Google pulls out of Google Answer

Just as the same time Amazon going into nownow.  Haven’t use Google Answer, but if nownow keeps paying its helpers, it should be able to keep the quality of its answer up.  Which to me means I don;t have to go my own Google search and read through all the entries.  Depending on where I was at the time, it could be worth a subscription.

Now if you get it free with Prime ;)   then it would be awesome

Add comment November 30th, 2006

4 years from now…

I am just curious if my outlook is a lttle too long or if am being too critical to my developers. Here are some of the feedback I am giving to my developers.

  • try not to rely on the position of the input parameter. Suppose someone need to add a new parameter. In order to support two running version of the calling code without taking an outage (one with the new param and one without), he would have to check if that position is NULL then process. Over time (in about 4 years), the code will get so many paths that it is unmanageable. My suggestion is to go with name value pair whenever possible.
  • Try to see if you can use switch case for the tag substitution. This would make sure we adequately cover all cases and handle all tags.
  • Do not use umlaut as separator. SEPARATOR_Column = (char)200; There are people with umlaut in their names. Try to use “|” or charater like that, and have escape charater build in.

I was talking to Angie the other day about development attitude in non engineering shop. No body knows what is goign to happen in 4 years, and the popular phrase is that you don’t need a mercedes, you just need a car that runs. But then by the law of entropy, if I let this in as the first line of code, what shape will it be in 12 months?

Add comment November 28th, 2006

Previous Posts


May 2017
« Aug    

Posts by Month

Posts by Category