Dawn.com has launched their beta website available via dawn.net. Going with a phased roll-out through Beta is the only thing they seem to have gotten right and one can only hope they address the issues with the website or go for a complete overhaul. After spending 15 minutes on the website, I only hope they don't take this live any time soon. Following are some things that immediately stuck out like a sore thumb.


I never came across such code even when I was teaching Introduction to Programming at university. Why would anyone write a switch statement which says if value is 1, print X, if value is 2, print X, if value is 3 print X and if value is 4, print X. Why use a switch statement if all conditions print the same thing? It defies common logic. It's code like this that causes pain down the line and simple feature requests can take days to implement and introduces bugs waiting to go off like land mines.
How can one even move to more serious guidelines for web development. I am so befuddled by this code I cringe just thinking about what kind of blunders they have committed in the back-end and middle-tier. This website does not even come up to par with most blogs out there, let alone be worthy of a news website. Even their current dawn.com website is a class-act in comparison and that has been around since at least 1997.
I am guessing this new website is going to be rife with problems going forward given its precarious state. Feature requests will probably take days to implement because of the poor architecture, and cryptic and unmanageable code. The only winners here would probably be the contractors billing Dawn for weeks/months of labour for even the most meagre feature request. And sadly, dawn.net might be in a bit of a sticky situation here with their contractors. If you want to get rich, build something that only you can maintain and takes you days to change so the client is locked in and ends up paying hefty amounts.
Update 8/31/2008: They don't even have spell check in their CMS (Pakistan spelt Paklistan in title). It's hard to image a publishing company using a publishing platform without spell check. Even my blog has spell check.
Update 10/31/2008: Sore eyes can seek out News Watch Pakistan as a considerably better alternative.
A while back I started what I thought would be an easy little project for an Online Scrabble Game clone. It's now completed and launched as Beta. I am calling it Yabble because the other interesting *abble words are quite common on the web. My reason being that instead of bookmarking sites or remembering a URL I often only remember a keyword that will help me rediscover the website. With Yabble it's easier to get into Google's top 10 as compared to Dabble or Gabble which return way too many results.
I do not want to get into the design details in this post except to say that the game is written using PHP and AJAX and uses XML files to store game state on the backend. I also used the Prototype JavaScript framework and Leightbox.
I used YUI Compressor to minify the Javascript and CSS and get some code obfuscation as a bonus. If it demands enough attention, I'll take time out to add more features and refactor some code and design.
Seattle Times story "Why Vista might be the last of its kind" reflects a sentiment shared by many regarding the impending loom and doom of Vista. A lot of this foretelling is misdirected and regurgitation of the same old rhetoric that's being pulled back under the spotlight to create a sense of anxiety: The desktop is dying and online is the wave of the future; Users have been anxious with the wait and anticipation for 5 years; Vista is a failure even before its out the door; It's the last of its kind.
At the employees only Vista launch party held in the underground garage of building 26 on Redmond campus, Bill Gates (who flew in by helicopter straight from the airport upon returning from Europe) expressed only relief saying something to the effect of "I'm glad it's out" and went on to talk about the task of security and servicing that lay ahead. Even though the media seldom sees it, internally we are quite self-critical. Time is money and this delay cost Microsoft a lot of money.
But Vista was an ambitious undertaking and the problems encountered are not exclusive to Vista. Engineering undertakings of this magnitude have a certain level of risk attached. Sure, the whole thing left a bitter taste but fear of failure did not stand in way of ambition. The first plane to fly was preceded by countless failed designs and deaths. Many died trying to get to the moon. The Titanic crashed and the Hindenburg burnt. Our ambitions have always exceeded our capabilities and that is what moves us forward.
The remaining arguments are nothing new and most of them hyperbole packaged to be easily digestible by the naive onlooker. Online services may some day replace desktop applications. In theory it's completely possible because essentially it's your monitor attached to a computer located in some distant place. But that day is far, far away. An application like Adobe Photoshop or Visual Studio won't be replaced by an online version anytime soon. In fact the complexity of desktop applications will continue to grow and online services will always lag behind in many areas while excelling in others. The forthcoming model will be toward hybrid online+offline applications--rich desktop applications complemented by thin Internet counterparts that allow for mobility.
No matter the cost of Vista, as Bill Gates put it at the launch party: "it's a gift that keeps on giving". The platform enhancements in Vista and other changes under the hood are something that will reveal their worthiness over the upcoming years.
Microsoft's next operating system is code named Vienna.
The valuation of PortalPlayer Inc. (NASDAQ: PLAY) and its future prospects make PortalPlayer quite attractive at current prices (~$11). You can find quite a thorough analysis of the company's valuation here so I will not run through it again save to highlight some key aspects that attracted me to this stock (based on 2006 Q2 balance sheet):
* Net cash of $194MM or about $7.50 per share. Their current assets and Intellectual property are valued at $75-125MM bringing share price in the $10.50-12.50 range
* PortalPlayer's sockets are in use in Sandisk Sansa e200 (currently has ~10% market share) and iPod video players. It has also announced that it has won a wireless socket deal.
* PortalPlayer's Preface technology for Microsoft Windows Sideshow device will be a part of Vista due to ship in January 2007. PortalPlayer announced "collaborations with Acer, ASUSTeK, Compal and Quanta, two of the largest notebook OEMs and two of the largest notebook ODMs in Taiwan".
* The CEO Gary Johnson will be leaving to pursue other startup opportunities, however, his profile reveals that he has not stuck with any company more than 2-3 years in his recent career. In fact it might be a good thing as PortalPlayer forays into richer portables someone with a sales background for example could bring new vigor and reach to the company.
* Earnings Yield of 45% and return on capital greater than 100% (see Magic Formula Investing screen)
* PortalPlayer's low-power and WiFi enabled chipsets along with audio/video/image support makes these chips very lucrative for new and existing portable media devices. They already have a proven track record with Nanos and iPod videos and have also worked with Creative and Samsung among others.
* PortalPlayer is partnered with Microsoft to develop Preface technology for Windows Sideshow for Vista. Preface will aim to extend notebook use to a full day on one charge while allowing users to use the auxillary Personal Media Display (PMD) to access data and content on the notebook including email, calendars, music, video and photos. Further, Sideshow devices can be wireless and don't have to be physically embedded within the notebooks. Sideshow devices will also feature Gadgets which will be a part of Windows Vista Sidebar and are already a part of Windows Live.
Other interesting pieces of the puzzle and possible technological convergences that you could see sooner than you think:
* Microsoft's Zune player has wireless capabilities, however, in my previous post on Microsoft Zune I noted that WiFi use-case scenarios are very limited (6th bullet). WiFi capabilities are under-utilized at the moment but it's imminent that they will open up to support more interesting use-case scenarios. It would be an awful waste of hardware space, battery life and production and materials costs to enable WiFi for just photo sharing.
* As an aside, convergence and interoperability of WiFi devices can also be seen in home and media. Apple's latest foray into iTV which will feature 802.11n to support high quality video streaming from your PC along with picture slideshows, music, apps and possibly even games on your television. Windows Media Center which has been around for much longer also supports the same scenarios.
* Windows Vista has powerful P2P networking support. This will mean good things for Zune and other WiFi enabled devices that will be able to interoperate with Vista and PortalPlayer's chips offer an easy platform to build these devices.
* I believe Zune has the capability to act as a sideshow device even in its current form based on Microsoft's Sideshow specifications. It is possible that PortalPlayer might get a socket in Zune along the line though this is highly speculative.
* Even if Zune has nothing to do with it, SideShow devices interfacing with Vista computers open up the playing field for 3rd party hardware plugins similar to the ones that exist for the iPod today, only these will be for the PC. For example a cheap SideShow device could interface with your PC and run the Weather gadget or display recipes and be mounted in your kitchen--essentially acting as dumb terminals. If Microsoft does manage to create a rich ecosystem here, PortalPlayer's outlook could become very promising. Again, this is highly speculative though I don't doubt it much but then again I have a technological bias. Also these scenarios would not be enabled for another year or so.
These bullets highlight PortalPlayer's cheaper valuation which give it little downside but at the same time there is huge upside due to the technological potential. PortalPlayer chip designs have also been through quite a few iterations providing a stable platform for Portable Media Devices.
Another interesting find: PortalPlayer's Indian design and development center currently has a number of positions listed for WinCE engineers, WiFi and other curious positions posted in the last month or two.
Disclaimer: I work for Microsoft but have no internal visibility into any of this; all information here was garnered from public resources and is highly speculative. I currently own PortalPlayer (PLAY) stock (for pretty much the same reasons I mention here).
Microsoft's Zune player will hit the shelves on Nov 14 retailing at $249.99 and to set it apart from the ipod it will have a radio as well as WiFi capabilities to interact with other Zunes. A few interesting things about the Zune:
Zune's WiFi capabilities will pose some initial concerns around privacy (you can auto-discover other users in range similar to bluetooth) and possibly security but more importantly there will be quite a few interesting DRM and licensing issues which is partially the reason why any songs transferred between devices are limited to 3 days or 3 plays. The DRM restrictions, I imagine, will probably hold true even for free songs (and podcasts) so as to prevent Zune from being reduced to a physical version of a Napster like P2P filesharing network.
2007 will be a tough year for portables. RealNetworks and SanDisk have partnered up to strengthen their position and create a vertical offering. At present SanDisk commands 10% of the Portable Music Player marketshare with an added edge due to its core business in flash memory, while RealNetwork has a small chunk of the audio market with its Real Player product, making these two powerful allies. However, I consider Microsoft to be a dominanting force due to its stronger brand, marketing experience, global reach, deep pockets, and software, platforms and strategic experience which will allow them succeed where others like Sony and Rio have failed.

Recently, I heard about google advertising puzzles on billboards. Since the puzzle was blogged, I knew there would be solutions out there. Being curious, I googled for solutions and found some spoilers. After reviewing some of them, I realized that there is a much easier way to solve this puzzle (for the mathematically non-savvy like myself), even though this problem is not all that challenging; just computationally expensive.
The first thing I did was get to try and get the first n digits of e. After a bit of googling I found the value of e computed to 100,000 decimal places (I followed this trail). Next I googled for all 10 digit primes, landing at this page. I downloaded the Sieve 64-bit program and ran it for all numbers between 999,999,999 to 8,000,000,000 (it's limited to 8,000,000,000 but might go further if you have enough RAM).
This gives me what I need: value of e computed to 100,000 decimal places and a list of (nearly) all 10-digit primes. Searching each of these primes in the string containing the 100,000 digits of e is a trivial task and will give you 7427466391.
The solution to the first riddle will land you at http://7427466391.com/. On this page you'll find the following:
"Congratulations. You've made it to level 2. Go to www.Linux.org and enter Bobsyouruncle as the login and the answer to this equation as the password."
f(1)= 7182818284
f(2)= 8182845904
f(3)= 8747135266
f(4)= 7427466391
f(5)= __________
This is where you have to put on your thinking caps. The first thing I did was search the first number 7182818284 in the list of primes, which didn't turn up anything. Next I searched in the string of e to 100,000 decimal places and found it right away. Subsequently, I found all the the 4 numbers in the value of e:
e =
2.71828182845
904523536028747135266
2497757247093699959574966967627724076630353
547594571382178525166427427466391
9320030599218174135966290435
7290033429526059563073813 23286279434907632
3382988075319525101901157383418793070215408
9149934884167509244761460668082264800168477
411853742345442437107539077744992
After this, the puzzle becomes much more manageable and all that remains is to find a pattern in the sequence of numbers. I have to admit that I had already seen the solution here so it was spoiled for me. The poster states something about the ordinal position of the numbers which I think has nothing to do with the solution. It's a fruitless path. The only pattern that matters is that all 4 numbers are a string of 10-digit numbers adding up to 49 which is easy to get at. Our job is to find the next 10 digit sequence of numbers in e, that adds up to 49. Solving this is also a trivial, programmable task.
There's another trick to finding the password as well: brute force! This mean you don't have to rattle your brains in search of a pattern. Right away you will realize that all four 10-digit numbers lie within close proximity of each other. It is likely that the fifth number (the answer we are looking for) also lies in close proximity so brute force appears to be very feasible. The second thing you'll notice is that all numbers are in sequential order. f(1) occurs first, then f(2), then f(3)... so f(5) will probably occur after f(4). You can get a string of the next one hundred, 10-digit numbers after f(4) and try them all as password on the linux page. In fact after the first 30 or so attempts you'll have landed at the correct answer and you're in! In a way the puzzle is a decent one, but it is easy to cheat at.
5966290435, is the password to the login bobsyouruncle for linux.org.
This will eventually land you at the Google Labs page from where you can send your resume directly to problem-solver@google.com and apply for a job at Google.