Update: Dhoni said this in his post-match interview, but I was seething after the game so didn't stick around to watch it. Listening to the water while walking around the shore aimlessly cooled me down and let me reflect on the games to come. India has one thing going for it: its batting. A batting effort can only go so far to hide the inefficacy of the other 2 departments: bowling and fielding. Being unable to defend 338 runs sends a message to both India's batsmen and the opponents. The batsmen psyche themselves into taking undue risks because they know they have to score a lot of runs at better than a run-a-ball - an unsustainable feat even for the likes of Sachin and Viru. The opponents believe that they are always in the game regardless of the enormity of their target; if England could do it, so can they. Both messages are detrimental to India's chances of holding the Cup aloft. The captain, team (bowlers, I am talking to you), coach and selectors best get their heads together and devise a plan. Or, kiss the Cup goodbye.
V Sehwag
- Nothing to add about Viru. He sticks to his game-plan, which is a rarity in this motley crue of cricketers.
SR Tendulkar
- For some reason, his centuries are almost always in vain. India loses because hubris sets in after a huge score has been posted on the board. He walks out with his head held high, gives it his best, and walks off with his head - and ours - held higher.
G Gambhir
- Great foil to the aggression of Sehwag. Only thing he needs to work on is his fielding.
Yuvraj Singh
- Mercurial. Inconsistent. Sublime and ridiculous. The mood of the team derives from his mood, so he needs to be upbeat, always!
MS Dhoni
- Winningest Indian captain, so can't really call him out for his decisions, but his bowling changes today were rubbish.
YK Pathan
- All-rounder and great fielder, so the only thing I'd ask off him is to work on his bowling in the death. He tends to bowl short and stray on the leg-side. As a bowling strategy, this isn't really one to write home about.
V Kohli
- Touted as the best fielder on the Indian team, but hasn't lived up to this billing. Needs to lose the sunglasses, hunker down, and inspire his teammates with his dives and jumps on the field. A treat to watch as a batsman, but in today's game, that isn't enough.
Harbhajan Singh
- The 2nd Indian spearhead. Bhajji bhai, you need to reach out to the junior bowlers in a manner they can digest, and dispel wisdom on how to deal with batsmen that aim to dominate. Piyush Chawla really needs this guidance.
Zaheer Khan
- The spearhead. The thinker's bowler. Enough said.
PP Chawla
- Has turned in a run of mediocre performances but he takes wickets. Tends to be inconsistent, too short, and bowls the wrong line. To let tail-enders hit 2 sixes off your last bowler, the 49th of a massive run chase, is plain unacceptable. You need to aspire to the greatness of Shane Warne, not the mediocrity of the last bowler you replaced on the Indian squad.
MM Patel
- Refer notes for Piyush Chawla. Good in sparks, but there aren't enough sparks to warrant praise.
Suresh Raina
- 12th man, young kid who isn't doing his due diligence to merit inclusion in the playing 11. When you're a substitute, you need to pull back runs, latch on to impossible catches, and make the 11 uncertain of their position on the team. With you waiting in the wings and playing the way you are, there is no fear in any of the 11 that their position is in jeopardy.
To summarize:
- Inconsistent performances need to be penalized.
- Bowling is sub-par, but there are simple things that can address the issues. First thing to do: have a plan. Second: stick to the plan. And don't forget, bowling short and/or bowling on middle and leg is a bad idea regardless of the conditions.
- Hubris is entrenched; it needs to be eviscerated. There is no place for hubris in modern sports. You're not the anointed champions; you can earn the right to be called champions, but nothing is ordained.
Sunday, February 27, 2011
Saturday, January 01, 2011
What I shipped in 2010
In the Corporate world, you are what you ship. Here is who I am:
1. The AWS SDK for .NET updates for EC2, CloudFront and S3
2. AWS S3 Console:
a. Large Objects support
b. Usability improvements
c. RRS Bucket notifications
Though small, each item on that list had big implications for AWS developers and customers alike. Nailing the user experience, defining the API, determining which interactions to simplify and which to further flesh-out took a lot of research and hard-work.
Here's to 2011 being another year of features, both small and large, that improve the AWS customer experience.
1. The AWS SDK for .NET updates for EC2, CloudFront and S3
2. AWS S3 Console:
a. Large Objects support
b. Usability improvements
c. RRS Bucket notifications
Though small, each item on that list had big implications for AWS developers and customers alike. Nailing the user experience, defining the API, determining which interactions to simplify and which to further flesh-out took a lot of research and hard-work.
Here's to 2011 being another year of features, both small and large, that improve the AWS customer experience.
Tuesday, December 28, 2010
Another knock against the "Multitasking is good" argument
Doing several things at once is a trick we play on ourselves, thinking we're getting more done. In reality, our productivity goes down by as much as 40%. We don't actually multitask. We switch-task, rapidly shifting from one thing to another, interrupting ourselves unproductively, and losing time in the process.No one is exempt from this, but some people are better at switch-tasking than others. For my part, I try to put my all into whatever I am doing, ergo I am a big proponent of single-tasking.
Thursday, December 16, 2010
The Chaos Monkey
One of the first systems our engineers built in AWS is called the Chaos Monkey. The Chaos Monkey’s job is to randomly kill instances and services within our architecture. If we aren’t constantly testing our ability to succeed despite failure, then it isn’t likely to work when it matters most – in the event of an unexpected outage.Cool.
Wednesday, December 15, 2010
Firefox's new Infallible memory allocators
When working on Windows, we were trained to write and test code under low memory conditions to ensure that code was resilient to allocation failures and the like. The question that always came up was, "What is the apt behavior when an allocation fails?"
Well, the good folks at Mozilla have given us one answer - crash.
Well, the good folks at Mozilla have given us one answer - crash.
Interesting concept in my opinion, as long as the application has a chance to log its state, failure code, and die "gracefully".How can memory allocation be infallible?
The term "infallible" means that your memory allocation request is guaranteed to succeed: your code can never see a failed request, and so doesn't need to check for failure.
Inside the allocation routine, the situation is different. Under extreme memory conditions, it's possible that the allocation will fail; however, the allocation routine will not, in this scenario, return to your code. Instead, the application will terminate. This should be rare, because the memory management system will do everything it can to find the memory you've asked for.
Choosing a memory allocator
As you write new code that needs to allocate memory, there are some simple rules to follow to help you decide whether to use a fallible or an infallible memory allocator:
If you're allocating what may be a large chunk of memory, you should allocate the memory fallibly (using moz_malloc() for example), and check the result to be sure it's not null. You should do this for large memory allocations because in extremely low memory conditions, as described in How can memory allocation be infallible?, the application may terminate if an infallible allocator can't find the memory you requested.
If you don't know whether or not the memory will be large, use the standard malloc() routine, which is currently fallible but will eventually become infallible. Be sure to check the result for null.
When instantiating objects, the new operator creates them infallibly by default. If you want to allocate them fallibly, use the syntax new (fallible_t()) Foo().
When in doubt, use the infallible allocator and don't null check.
Tuesday, November 16, 2010
File under engineer makes something that no one needs: Facebook messaging
This solution doesn't actually solve any user problem. Humans were successfully texting, IMing, and emailing each other, before SmartEngineer came along & decided to slam them all together into a mixed up mess, in the name of "abstracting away the transport."Way to have your finger on the pulse of your users.
Thursday, November 11, 2010
Comprehensive Windows Phone 7 review
There’s a lot of complaints in this blog post and that is indicative of this being version one of Windows Phone – I used the word “unfinished” a couple of times and that sums up the whole phone pretty well. Happily the majority of these irksome foibles are not core to the phone and can be easily fixed and I’m sure that will happen in the not too distant future. I don’t want to give the impression that I’m not enjoying the phone –I am, I’m loving it- but be aware of its shortcomings before you decide to jump in!All of the complaints were issues in the original iPhone as well. We all know how that cookie crumbled, so let's hope that Microsoft is serious about this platform and ready to ride the wave of good press its unique Metro interface is garnering. They need to innovate early, often and if the stars align, they will become not just pioneers but the leaders in this space.
Subscribe to:
Posts (Atom)