Sunday, March 26, 2006

March Madness :: Final 4 Probabilities!

I was looking on ESPN.com to see if anyone picked George Mason in the Final Four... and lo and behold, there was a guy who not only has them in the Final Four, but has correctly picked GMU, Florida, LSU, and UCLA!

It's pretty amazing. It seems freakish at first glance. It's one thing to pick an 11 upset in the first round, or the 2nd round. To have that upset all the way through to the final four, along with nailing the other 3 teams correctly (who are 2,3, and 4 seeds)... defies the odds. This should be worth more than $10k in my humble opinion. ESPN and Pontiac are getting a deal on this marketing!

There are very close to 2,681,679 brackets that were filled out on ESPN.com (each person is allowed to fill out up to 5 brackets per signup, so it's not necessarily 2.6 million people). The reason I know this is because according to their leaderboard, I am in the 94.7 percentile with a single Final Four team selected (UCLA), and my rank is a distant 142129. ...=142129 / 5.3% = 2,681,679. (surely this 94.7% will plummet in the next couple of days as I have ZERO possible points remaining with UConn being knocked out!)

The number of possible outcomes to the tournament is 2^64... which ends up being: 18,446,744,073,709,551,616 to 1 that you get all 63 games picked correctly. But that is to get every single game correct, those aren't the odds to get the final 4 teams. To just get the Final Four teams, (I'm not 100% sure my math that follows is accurate, but I believe it is: please correct me and provide justification if I am wrong) you have to get 16 coin flips correct in succession (4 teams through 4 rounds -- which would be 50%^16 = 0.001526%. But that assumes you know the four teams from the beginning, it doesn't include the selection of the 4 teams, which would be 4/64 * (50%^16) = 0.000095367%. This makes 1 in 1,048,576. So it makes sense that they have at least 1 person with these final 4 teams. ...my logic might be incorrect though, but that's how I see it, with the teams as ping pong balls. I'd like to get the answer from a probability guru.

Anyway, March Madness... great times!

Here is the guy who correctly picked these 4 teams:
Here is my defeated bracket :(

Monday, March 20, 2006

AJAX Position Available in Redmond, WA

There is an exciting AJAX position available in Redmond, WA for interested developers. The customer is re-designing the online B2B and B2C webpage and need some front end java developers with AJAX experience. This is a 6 month contract to hire and is with a company who had over $300 million dollars in profits in Redmond, WA.

I was interested myself, but because of the project I'm on I am unavailable.

They are moving fast and the faster you can get Cheryl your resume the better. If you are interested, contact:

Cheryl L. Burdett
Technology Recruiter
YohIT
Phone: 206-720-5312
Cell: 206-437-1473
Fax: 206-322-2718

Friday, March 03, 2006

Google : Admiring their top priority

As of yet, I do not own Google stock, but I have admired their company for over 4 years since a colleague at my last company introduced me to their search engine. I admire their innovation in pushing web technologies forward and their philosophy on how they develop and deliver service to the consumer. There's been a lot of misplaced media 'fluff' about "click-fraud", so I wanted to give my opinion.

Here's why I don't think "click fraud" will threaten Google at all. It's a great free market system as it self-regulates. For as long as people show a return on investment they're comfortable with, they will keep buying ads. What many not in the business (and apparently many writers) do not know, Google provides the ability to imbed pre-formatted javascript into your 'buy confirmation' webpage, that enables you to track the exact percentage of users that clicked on your Google ad and then went on to buy. It is the best form of advertising on the planet that is: targeted and measureable.

Even if there is click fraud vs a particular company, one of the effects of this is causing that particular advertisers "click through rate" to go to astronomically high levels. "Click through rate" is the number of clicks divided by the number of page impressions, and is used as one factor in determining ad position. Ad position and frequency are not determined solely by cost -- it's relevance to the keywords, click-through rate, and cost. So, this person whose ad was being assaulted by clicks would have to pay less for the top spot than another whose ad wasn't clicked on as much. If done at extreme (E.g. automated) levels, it could perhaps cause those advertisers to drop out for bidding for those keywords at that price... however these drop outs cause less demand for those keywords, lowering the bidding price and letting others in (or the original company back in). In other words, the fradulent clicks are built into the price-per-click already. It has been and continues to be a brilliant system for the consumer, the advertiser, and Google. What's great is that their first priority, even in delivering advertising, is delivering links and information that are relevant to the consumer's search request.

Thursday, February 09, 2006

The Most Compelling Web 2.0 Application :: Zimbra

Without exaggeration in my mind, Zimbra is a company that is at least 2 years ahead of the game in terms of rich, browser-based application development. Two years is light years when it comes to software development. From a developer's perspective, this is the most compelling application I have seen on the internet, given it's rich, deep, browser based interfaces, and unparalleled functionality. They simply "got it right" and have set a high-water mark for others to set their sights on, while seemingly just beginning to push forward. With tremendous respect to Google, I would put this application above Google Maps in terms of technical accomplishment on the client-side UI design and execution. I say this especially given the fact that they did it when very few, if any, AJAX frameworks were in existence, let alone organized. Even today many of us are eagerly awaiting Open AJAX (which, not coincidentally, Zimbra is active as a collaborator).

Zimbra has targeted a ubiquitous application realm -- email, messaging, rss, net phone, calendar, contact managing, all integrated into one "business collaboration" app. (demo) It's a tall order to capture market share in the area of email clients, with so many players in the market, but if you take a look at the design and execution of this browser-based application in the demos of the product, it's very tight, feature rich, while also being completely intuitive and familiar looking to its PC-based ancestor. It's more than all of that though. It's absolutely inspiring in the manner in which they have innovated with AJAX interfaces and web-services to deliver a seamless integration between mail, news feeds, emerging mapping applications, and even internet telephony. It doesn't feel at all like a traditional web application, yet it is seamlessly integrated into the web. Examples that I particularly like include: within the body of an email hovering your mouse over phone number text gives you the option to directly call this person using your preferred VOIP service, like Skype or Google Talk, with the click of the link; hovering over a name automatically generates that contact's information; mouse over a date and it will pull up your appointments for that day; hover over a web-link and it shows a thumbnailed screenshot of that webpage as a preview; tag based searching, and even searching within attachments, search for Amazon books within the email client... What I find paradigm-shattering is the manner in which it is all accomplished -- it is all built using web standards, AJAX, plus server and web-service (SOAP) calls.

Zimbra and their touchstone app, "Collaboration Server", more than any one existing application I've seen, is the first to demonstrate clearly that the 'game' has changed, from a pc-based paradigm to a web-based one. I say this with knowledge and respect for the level of progression and proficiency from cornerstone browser-based applications Gmail, Google Maps, Google Suggest, Yahoo Maps. This feels just a cut above because of the rich and complete functionality and apparent maturity of their implementation and the fact that they have pioneered the use of the technologies here, many of which are captured in their free, open-source Ajax Toolkit that they openly share with the community: AJAXTK.

The company is also directed by some of the web-digital elite, as can be seen by those on their Board, with seminal figures from Netscape, BEA and guiding presences from those involved with NetFlix, RedHat and open-source stalwarts like mySQL. This is also clearly evidenced in small part by the open, coooperative communication they offer regarding their strategy and philosophy. They are openly engaging the community for ideas, concepts, along with technology partners for 'Zimlits', while giving us individual developers an AJAX Toolkit (AJAXTK) so that we can utilize some of the same libraries and high level function calls they have used in construction this remarkable application.

If you are a developer, or just someone interested in technology, you have to check out the hosted demo to see for yourself what is the present and near-future cutting edge of interface design and execution on the web. This is a great inspiration on many levels to me.

Our software worlds are inching their way towards the rich interface, and browser-based paradigm, but this Zimbra team appears to already be there.

-Mark Holton

Tuesday, February 07, 2006

Flex is not AJAX

In my experimentation with the Flex 2.0 builder BETA, I'm excited. Flex is already a very rich interface creation tool. I've barely scratched the surface in my experimentation the last couple of months, but it makes my head spin with the possibilities for rich interfaces. When the opportunity presents itself, it's going to be great to develop in Flex, and leverage the work Macromedia/Adobe is continuing to put into that. Adobe continues to innovate with ColdFusion, and the Flash Platform with Flex, and have released the ColdFusion/Flex connectivity BETA.

That being said, Flex is not AJAX -- according to Jesse James Garrett in an AJAXIAN podcast, the AJAX realm is characterized by using free and open web standards (CSS, DOM, javascript...and XMLHttpRequest / XHR object, even though it isn't a W3C standard) to communicate with the server asynchronously. This distinction makes sense after developing a bit using both Flex and AJAX. Yes, Flex and Flash have the capability to communicate between the browser and the server asynchronously, without page refreshes, as does AJAX. But Flex is a rich, proprietary tool that enables much more than what AJAX does. The statement that "Flex is not AJAX" is in no way a knock on Flex, but rather it's a qualification that Flex is a rich, proprietary tool, and therefore requires knowledge of proprietary standard based languages such as MXML and Actionscript in order to fully realize the potential of a Flex RIA.

Aside from capable, yet independent efforts like CFAjax, and AJAXcfc, Macromedia/Adobe does not have a committed company effort (that I know of) to integrating open source, client-side technologies that make up AJAX with server-side ColdFusion. I bring this up because of the tight integration between Prototype and Ruby on Rails that has seen some significant growth and high-profile applications like those pioneered by 37 signals. While ColdFusion developers can work to integrate javascript libraries like Prototype (its subset Script.aculo.us), DOJO, etc... there doesn't seem to be a move from Adobe (yet) to tightly integrate with AJAX. It is my hope that something comes out from Adobe's camp that changes this perception.

From my perspective in development, AJAX will become ubiquitous in high quality "web 2.0" applications. There will be many instances of AJAX that become commonplace in these apps that deliver a clean, rich, efficient user-experience. Supporting ColdFusion developers in giving us tightly integrated toolsets for asyncrhonous client-server features would be very helpful and help grow the user-base of the language. In no way would supplying this tight ColdFusion/AJAX integration undermine the efforts of Adobe with the Flash Platform and Flex, as that group of applications appears to be set for a different market, given the features of a Flex RIA and likewise the requirements to become proficient in the languages required to develop an RIA in Flex. However, one way or another, if web application developers who primarily develop in ColdFusion do not get on board developing AJAX applications, they will no doubt be behind the curve. It is my hope that Adobe and the ColdFusion group help us out in this regard. Perhaps their answer is related to the recently announced Eclipse AJAX Toolkit Framework.