How a few screws cost $2000 and a 240GB multinodes cluster cost $50

About ten years ago I was an electrical engineering intern at MDA Space Robotics. They are the company that designed the Canadarm 1 and 2 used on the International Space Station. I still remember meeting the R&D team next door to see their demo of a 3D LIDAR system mounted on a Mars Rover model. It was one of the competing designs to serve as the eyes of the rover. To put this into perspective, this was at a time when a single-beam scanning laser was common on a robot to gauge distances. Seeing a vision system which can generate 3D polygons of the terrain in real-time for navigation was just unbelievable.

As for our mundane electronics team, we were designing new power electronics to upgrade the Canadarm2. Obviously, I didn't actually contribute much as an intern. One project which I had my hands on was building loading circuits to simulate the electrical response of the motors on the Canadarm2. So that we can test the new power electronics with live circuit without having motors spinning in the lab. For my particular role, I didn't do any of that either. What I did was design and build safety housing for these big loading circuits.

Normally, this wouldn't take more than a couple days in a workshop. Not so in a regulated industry. Even though these boxes were only used as a superficial safety mechanism during ground support testing and were never going to be used in production or have anything to do with the actual test itself, we still needed to follow proper engineering guidelines because my mentor told me that it's safer to have a blanket rule for every component than nit-pick what is or isn't regulated.

After designing the housing in no time (it's just a rectangular shell to cover the circuit, how hard can it be?), I sourced a contractor to mold these polycarbonate shells for us. That's the same material hockey masks use because it's transparent and strong. To secure the shell onto the loading circuit, which are about as big as a moving box each, I needed big screws to bolt it on the baseboard. Seeing that we're an electrical team, we didn't have suitable screws for it in the lab. I figured I should just drive down to Home Depot to buy them.

Not so fast. Apparently, as I was technically sourcing in a new component, I couldn't just go down the street and get them. I ended up having to order from one of our approved suppliers and had them shipped to us overnight. Not that I was in any hurry. It's because we did all shipping by courier. And even though I needed just a few screws, the supplier don't do small orders either so I had to order the minimum of a hundred or something. Still, all of that didn't really cost that much. The majority of the cost came from my hours spent in getting technical and administrative approvals for adding this new component into our bill of material.

And so that is how I ended up spending the company around $2000 on a few screws. I never saw an itemised bill for those screws. But I figured that's about right based on hours spent and people's estimated salaries.

This forgotten story from my engineering days came about this week as my colleague Paul and I were spiking out a big data project on Amazon Redshift. On a whim just for the sake of it, we launched a 32 virtual cores, 240GB memory, 32TB storage multi-node cluster with literally just the click of a button. We played with it for a couple hours, did what was needed, and decommissioned the cloud servers. It cost us $45.

What is my point of the stories? Same concept of materialising an idea. Different time, different industry. Diametrically different prototyping experience.

Update: this post generated some heated debates on Hacker News.

Posted 10 May 2013 in journal.

Business is on hold

Back in November, I started working as a Data Scientist at uSwitch, an utility price comparison site. I am very fortunate to be able to work with so many smart and passionate people there. There is so much that I am learning in fact, I haven't had time to do much else. Although my ridiculous 4-hour commute is also a factor. I didn't even notice that EUR/USD dropped 1000 pips! As such, I am officially putting my own business and research on hold until further notice. I will continue to post relevant technical discussions on this blog. All of my existing clients have been notified and arrangements made way back before I began my employment. Thank you for all your support!

I've quit my day job and moved to the UK to do this full time

My wife is pursuing graduate study at Oxford. So I'm taking this rare opportunity to quit my day job and concentrate on developing trading systems full time. I am also doing some consulting to keep in touch with civilization. I have just one project at the moment building a customer relation system for a friend's financial services startup.

Now for some self-promotion. I specialise in building software systems for information discovery, and of course, trading systems too. If you know of any business that can make use of an information discovery system for better customer relation, inventory management, etc, then please forward email.

That's it for the public service announcement. I'll be off to my first meetup this Sunday to hack on an open source statistical computing platform. I can't wait to meet some very smart people!

Back in R&D mode

Just some updates as to what I'm up to. I've been fully immersed in research and development mode for some new systems and technologies. This could take a few months. I am also deliberating rather I should revert Quantisan.com back as a pure blog again and separate QTD on its own domain. Quantisan.com has too much random topics and history that makes it difficult to keep a consistent message as a company blog.

Posted 02 August 2011 in journal.

Why success starts with failure

Many people dream of making a cash cow trading program and be set for life. The reality of the business, which is just like any other profession, is that you need to be persistent and persevere. You really need to enjoy the work to be able to keep going at it day after day even if nothing that you do seems to work at a time. This video by Tim Harford explains why success starts with failure. It rings with my previous post on why the secret to trading system development is to fail faster. Harford's three principles of success:

  1. Fail a lot.
  2. Fail affordably.
  3. Fail and fix early.

Posted 10 June 2011 in journal.

Transitioning to a professional website, front and back

Yes, this is still Quantisan.com. In case anyone is visiting and noticed the different design. I've made some major changes to the website over the weekend for both aesthetic and technical reasons.

  1. Professionally designed. The previous theme was something that I hacked together over a weekend. It's actually pretty bad under the hood as I had only learned PHP scripting to write that theme. This new theme is a minor tweak over a professional framework. It enables more flexibility to the page layout. Expect some major changes to the front page in the weeks to come as this personal blog transforms into a company site.
  2. Reduced computing resource hog. I disabled a number of Wordpress plugin modules as the theme has already taken care of things like search engine optimisation.
  3. Optimised page loading time. The code for the new design is also optimised for faster page load times with built-in optimisation of javascript and css file loading.
  4. Geographically distributed content delivery network. As forex is a global endeavour, the readers to this blog is quite geographically diverse. While the site is hosted in the U.S., I want to ensure the readers from Germany and India (8% of my readers) have a smooth browsing experience too. The use of a CDN to mirror contents around the world makes this possible.
  5. Bad traffic filtering. A significant traffic on the web is due to software crawlers. Some of them post spam comments on my blog or copy my copyrighted materials. I added a server-side security control service to block all those unwanted traffic. This increases security and reduces unnecessary server load.

You might have noticed that aside from point #1, which is purely aesthetic, everything else is done to improve page load time for readers to this blog. The result is that the new loading time is down to about 4.0 seconds. Whereas the old site took around 8 seconds to load. You might think this cost a fortune. But it still costs less than most small websites out there. The old site cost me \$30 per year to run, including everything from domain name registration to web hosting. The new total is still only up to \$70 per year. The key to the savings is that I made use of a free network enhancement service (cloudflare.com) and exploited my remote server and network optimisation knowledge acquired from the long nights of administering a remote trading server. Technology is cheap nowadays. The real values are in the ability to deliver on that technology to bring about even greater return. This is what drives everything I do at Quantisan Systems.

Posted 05 April 2011 in journal.

continue   →