Skip to main content

"Giving a newborn baby a firehose to drink from"

After a complete system rearchitecture, full code rewrite, and database migration, Trusted Opinion Site was re-born.

Birth was painful (as it should be) with sleepless nights and emotions were running high. But that's pretty much what was expected. What was not expected is the huge amount of crawling traffic the site got from the second it was up (hundreds of thousand hits per hr). It looked (and still feels) like we are under DOS attack. But we are not! That's the new reality - computers are much better at networking than humans are, and by the virtue of the Internet, they use their potential to the full extend.

I like the quote from our COO Todd Greene: Launching the site these days is like giving a newborn baby a firehose to drink from"

A few lessons from the launch:
  1. What looks impossible and feels impossible, is possible as long as everyone ignores that it is impossible
  2. Food is important! After 30 hours of work it becomes even more important than internet connectivity
  3. People mood is more important that server health (and harder to fix)
  4. Shortcuts always bite. Taking shortcuts in data migration bite really hard. Even in order to save a few hours of downtime, even if you really-really want it, do not take shortcuts!
  5. And, the most important, do not forget celebration when the job is accomplished! Even thou I put it into the migration project plan, we managed to ignore the task.


Popular posts from this blog

Posting to FaceBook feed using Graph API

Graph API was announced at F8 with a promise to dramatically simplify the FB API. I checked the read access over the new interface during the presentations and to my big surprise it worked flawlessly and from the first time. When I tried, JSON-formatted info about the FaceBook page was returned (as expected).
Then I tried OAuth 2.0 way of accessing the API to post a message to the feed. And to my even bigger surprise it worked too!
Here is what you need to do to access Graph API over OAuth: 1. Create a FB app, store app properties to a file:
$appkey='7925873fbfb5347e571744515a9d2804'; $appsecret='THE SECRET'; $canvas=''; 2. Create a page that will prompt user the access permission (I am prompting for the publish_stream and offline_access permissions at the same time)
// require'settings.php';
$url=""; $url.=…

Developing Google Glass application showing the Heart Beat Rate

Wearable Sensors + Google GlassWearable sensors  are a lot of fun! I played with them for some time by now, both professionally (at work), and for the coding pleasure. This post is about my latest weekend project - native google glasses app showing heart rate. The idea is to continuously measure hear rate using the sensor and to show pulse rate in real time, for example, while running or exercising. Honestly, I did not find running with Google Glasses to be much fun (as they tend to fell off when I am running), but to see what makes my heart beat faster is an interesting and educational experience.

Google Glass (GG) Turns out to be a nice piece of hardware that is a fun to work with: reasonably fast processor, Android 4.0.1, wide range of sensors, WiFi, and Bluetooth interface!

IngredientsGG ( glass SDK ( SDK ( Sensor (…

Respect Coin

Respect I think it's time to talk about currency. Let's create a Respect Coin.
Step 1. Install OpenZeppelin library npm install zeppelin-solidity
When it comes to coins, I like to use some functions that smart people already implemented and other smart people verified. I think that Zeppelin is a nice collection of Solidity contracts that can be trusted. Let's use the StandardToken contract and use it as a parent class for our own RespectCoin contract.
Step 2. Create RespectCoin contract and store it in "contracts/RespectCoin.sol" file pragma solidity ^0.4.4; import "../node_modules/zeppelin-solidity/contracts/token/StandardToken.sol"; /** * @title RespectCoin * @dev ERC20 Token example, where all tokens are pre-assigned to th e creator. * Note they can later distribute these tokens as they wish using `transfer` and other * `StandardToken` functions. */ contract RespectCoin is StandardToken { string public constant name = "RespectCoin&quo…