My Photo

My Online Status

Blog powered by TypePad
Member since 11/2005

June 2009

Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

Sense

  • Google
Share |

28 June 2009

Why do cool kids write Ruby, PHP rather than Java?

Reading this article, I was inspired to articulate my thoughts on the topic. The short of it is that Ruby, PHP. JavaScript, and like languages address the desire for the right level of abstraction. Java, with all its innovation and genius, is still a compile-bound 3GL. It represented another realisation of the next step from C/C++ (as were Smalltalk, ObjectiveC) together the addition of standardised libraries. As it is, Java needs to perform some neat tricks to enable greater levels of abstraction.

Think about it this way: How quickly can one code and configure a data-driven Web application with Ruby, AIR/Flex, Silverlight/WPF, PHP or other next-gens? Now compare that to doing the same with Java. Although such inspired efforts as Spring have come a long way to narrowing this chasm, the precipices are still not close enough to encourage Java over these next-gens. 

The next-gens did something that Java once did, but stopped doing, when Sun decided to focus on it as a way to sell more Sun. They responded to the community - principally users (consumer & enterprise) and the developers striving to meet their needs. Java was simply stalled on the old-school concept that "If it is hard to build, it should be hard to use." On the other hand, the next-gens evolved from KISS concepts to fill this gap.

Although many development posts require knowledge of Java, this is more of an experience requirement than a practical matter. Should even the 'cool kids' be able to write a bubble sort or double-locking algorithm? Most definitely, they should. Will they be actually writing Java? More likely not, and why should they? If you can achieve far greater productivity with the next-gens, what is your motivation to use Java in development and production? (I challenge you to think hard about your assumptions w/r/t Java - the so-called stability 'gap' is not as far as you may have once thought, if it still exists)

I see the evolution and growth of the next-gens as a functio of their greater productivity, yet the prime factor is the community. Without the influence of the community, we would still be only talking about such next-gen languages, rather than writing web and cloud apps with them.  

Cloud as fulfillment of the Internet revolution

Recent discussions with Brian Madden and at CloudCamp, Structure09, and elsewhere this week started my thinking about the nature of Cloud. Rather than an euphemism of the Internet, I see Cloud as the next step of its fulfillment. The Internet has held the promise, if not necessarily the conscious intent, of any device, any where since its inception as ARPAnet. With every abstraction, Internet technologies have brought this promise closer to fruition. Only we technologists have been slow on the uptake to understand and realise the potential. Now, Cloud stands on the threshold of realising this across the plethora of connected devices in use. 

Recently, I argued that whilst the Internet itself has been a successful model, the curious Web 1.0 of star-architecture, J2EE-centric models to have hit its wall, run its course, seen its tail collapse. The Web communities as a whole are well aware of the spectacular FAILs of badly architected web applications, as is the Enterprise of the too little, too late of EJB and Servlets. Web applications' successes derived from the concurrent and thoughtful analysis, insight, and/or inspiration w/r/t scenarios *and* technology; at the same time, enterprise applications' (those which utilised internet architectures and technologies) successes were driven by the same, with the addition of the abstraction of resources. Only with the rise of RIA and Balanced Compute has there been a grand awakening amongst IT to the fit of Web 1.0 only to task worker and basic computing scenarios.

It is this combination that has inspired the latest evolution of Internet computing, the Cloud. The Cloud is more than hand-waving marketing smooth talk, more than co-location or hosting, more than the every present desire to reduce TCO. It is enabling any device, any where. Anyone in this industry would argue this as being the goal of compute models and architectures, and anyone with more than a couple years experience can attest to the mixed success/failure of technologies to make this a reality. 

Yet, what I recognise with the Cloud is a move to understand and solve a problem, rather than push a technology. This is where the current state of the Cloud, with the lack of solid standards at its level of abstraction, provides fertile ground. This is not to say standardisation is an impediment or negative. Rather, standardisation, just as with any other stage of compute maturity, has to be applied at the right time and place. Too early, and either the model/architecture/technology is not embraced, or technology is pushed as with the latest fashion without consideration for what problems are to be solved. J2EE, sadly, was one such victim. In the end, where it succeeded was largely, if not entirely, due to the inventiveness of IT (e.g. crafting their own abstractions to avoid the then high-latency, tightly-pinned EJB), and the development of models, architectures and technologies which came from outside the JCP process (e.g. Spring). Admist these successes have spectacular FAILs been observed, driven by the triumph of technological dogmatism (e.g. driving EJB when and where it clearly did not suit the task) over understanding and solving real problems. 

The Cloud is at a stage where the models and architectures are being subconsciously realised, whilst the technologies themselves are nowhere near standardisation. The vendors are pushing models in the vector of solving real problems, and pushing technologies only with respect to value add. To the untrained eye, this may seem to be more of the same sort of hype. However, what is remarkable is how Cloud has brought all the interested players to push scenarios and models/architectures rather than tout technologies. 

In a sense, we have Google to thank for this. Instead of speaking the babel tongue of operational semantics, and the ego-satisfying need to plough through gory details, Google 's desire to protect its IP has driven it to hide all that schmutz ;) behind abstractions. By hiding its value add, Google has encouraged its competitors to adopt the same focus. Whilst I see true Cloud success arriving with the fulmination of the Private Cloud, the Public Cloud-dominated bent has adjusted and encouraged our collective thinking in what I believe is and has always been the right direction. As such, I'll add that Cloud is any device, any where with the addition of abstraction; it is the next stage of the fulfillment of the Internet revolution, rather than an euphemism for the Internet. 

27 June 2009

Galileoscope - the affordable telescope for everyone

As a part of the International Year of Astronomy, there is a movement that's been put together to produce an affordable telescope for everyone. It's called the Galileoscope - a 50-mm (2-inch) diameter, 25- to 50-power achromatic refractor. which costs just US$15. In a similar vein to the OLPC project, they invite folks to additionally donate for less fortunate people.

More information available at: https://www.galileoscope.org/gs/

26 June 2009

Data Stores in the Cloud

The traditional ACID guarantees in databases have given way to newer approaches in the cloud emphasizing higher availability/scalability.

 

 

LWN has an article discussing alternatives to SQL databases: (Multiple extracts which have been reformatted for readability follows)

Cassandra is a data store written in Java that was open-sourced by Facebook and is now part of the Apache Incubator. Cassandra was originally designed to solve Facebook's in-box searching problem. Email reverse indexes were growing much faster than their databases could keep up with and they needed a affordable way to continue to grow.

Perhaps the simplest key-value store is Memcached. Memcached is widely used to to speed up web applications by caching dynamic content. Part or all of the web pages are served from the cache instead of generating them at each request. Unlike in-process or shared memory caches, Memcached listens on a network socket and can be shared by many servers. Memcached may also be run on multiple servers and it will spread the keys across those servers and transparently fall back to servers that are still available when one goes down.

For a key-value data store that won't throw out data, Tokyo Cabinet is a good choice. Like Berkeley DB, it uses either a hash table, B+ tree or a array of fixed-length records to store data on disk, but Tokyo Cabinet performs better and is thread safe. Tokyo Cabinet also promises to never corrupt data even in a "catastrophic situation". Tokyo Cabinet is actively maintained, and data stored is not limited by system RAM.

Redis is a disk-backed, in-memory key-value store with a number of additional features. Redis supports master-slave replication for redundancy, but not sharding, so all data must fit in a single system's RAM. Redis values may be binary strings, lists or sets. Redis provides atomic addition to/subtraction from integer values stored as decimal strings and push/pop/replacement of values in lists. The intersection of set values stored may also be calculated.

CouchDB is a JSON-based document database written in Erlang. CouchDB gives access to the database over HTTP with a RESTful API. Views of the database may be created on demand using Javascript to collect and filter document contents and are updated as documents change. Indexes are not maintained outside of views, so there is a start-up cost associated with constructing a new view.

MongoDB is a document database written in C++. MongoDB uses a binary-encoded JSON format that shrinks the data size and allows for faster searching and indexing. Large binary data, such as video files, can also be stored more efficiently in this format. Data is updated in place and MongoDB will automatically run a repair procedure on the database in the event of an unclean shutdown.

The new NoSQL community :) recently met - slides from their recent meeting go into details of a few alternatives:

Presentation slides and videos
Intro session - Todd Lipcon, Cloudera (slides, video1, video2)
Voldemort - Jay Kreps, Linkedin (slides, video1, video2)
Cassandra - Avinash Lakshman, Facebook (slides, video)
Dynomite - Cliff Moon, Powerset (slides, video)
HBase - Ryan Rawson, Stumbleupon (slides, video)
Hypertable - Doug Judd, Zvents (slides, video1, video2)
CouchDB - Chris Anderson, couch.io (slides, video1, video2)

VPork - Jon Travis, Springsource (slides, video)
MongoDb - Dwight Merriman, 10gen (slides, video)
Infinite Scalability - Jonas S Karlsson, Google (slides, video)

Additional Commentary: 

Is the Relational Database Doomed ?

Anti-RDBMS: A list of distributed key-value stores

The current database debate and graph databases

BASE: An Acid Alternative

Trading Consistency for Scalability in Distributed Architectures

25 June 2009

Never say "never"

Larry Ellison has exhibited a grudging about face regarding Cloud Computing. As the saying goes, "never say never". After touting the "network is the computer" together with Sun (before its time had come), Larry's distate for Cloud seemed odd, illogical. In light of the acquisition of Sun, Larry seems to be coming to grips with the lay of the land. Courtesy GIGAOM Newsletter:

Oracle CEO Larry Ellison is rethinking his earlier disdain for software as a service and all things cloud, according to a report today in The Wall Street Journal. Maybe a dismal economy and a drop in Oracle sales are forcing him to change his position. The Journal quotes comments made on Oracle’s earnings call yesterday, when Ellison was asked by analysts if the software company would embrace cloud computing. First off, software as a service isn’t cloud computing, but perhaps I’m being too picky here. Anyhow, Ellison said Oracle would be getting “a little bit” into cloud computing, according to the Journal.
But is this really a far cry from Ellison’s early mocking of cloud computing as being driven by whims of fashion? Ellison said he sees a gap in the market between true software as a service and providing on-demand software that’s hosted inside a customer’s own data center. That sounds like software as an appliance rather than anything on demand — and it’s something Oracle already offers through a partnership with Hewlett-Packard that puts its database software on a specialty server that customers pop into their own data centers. Oracle may also be selling some of its Fusion middleware products on demand, or as Ellison said, they could be “on-demand ready.” This is not a very convincing change in position for Oracle.
However, Oracle is buying Sun, and Sun had a true cloud computing strategy that involved building out infrastructure as a service for compute and storage. Maybe once that deal closes, we’ll see if Oracle wants to take cloud computing all the way up the stack.

24 June 2009

HTC takes Android, Flash to the next level with Sense and Hero

HTC announcing Sense and Hero, showcasing the next (available) generation of Android-powered devices, and making Flash on the MID a reality. From Engadget:


"With HTC's official launch event today, some details appear on HTC's own website of the much rumored Hero. Through some URL trickery, we've managed to unearth several details that confirm the previous rumors. Hero includes the new HTC Sense widget-based interface that puts at-a-glance info right up front on the home screen where it belongs. A new Scenes profile feature lets you transform your phones focus from business to weekend mode. Viewing your contacts shows the usual data in addition to the interactions you've had through social networking status updates and photos from the likes of Facebook, Flickr, YouTube, and Twitter. A dedicated search button searches the phone as well as services like Twitter. In fact, like Palm's Pre, the HTC Hero seems ready to fully integrate your local data with all your subscribed social media sites. The big unveiling is just about an hour away, until then, have a poke around HTC's Hero site yourself by hitting the read link below.

Update: First images are out! More after the break. Inside you'll find Qualcomm's MSM7200A proc running Android at 528MHz, 512MB/288MB ROM/RAM, 3.2-inch TFT-LCD with 320 x 480 pixel rez, 900/2100MHz HSPA and Quad-band GSM, trackball, GPS, 802.11b/g WiFi, 3.5mm audio jack, G-sensor, compass, and 5 megapixel auto-focus cam with microSD expansion. It's all there baby.

Update 2: A bit more detail just rolled in. The White version has an industry-first Teflon coating (right, just like your pans) to keep things clean and grime free. Multi-touch and anti-fingerprint coating too. Hero arrives in Europe in July with T-Mobile and Orange, Asia later in the summer, and North America even later in 2009.



23 June 2009

In the Cloud(s) this week

I will be attending Cloud Camp SFO and Structure 09 this week in the SF Bay Area, and am looking forward to meeting a lot of my friends from the Web, Cloud and IT mgmt areas next week. If you are planning on attending any of those events, feel free to ping me....

MIT Technology Review - Key Players in Cloud Computing

MIT Technology Review has published a series of Cloud Computing articles in the July/August issue - Jim Blakley has been listed as a key player and Intel has been named a key Public company to watch w/r/t Cloud. Also, Enomaly has been named a key Private company to watch in the space. 

To read the articles please see the following links:

» Technology Overview: Conjuring Clouds
» Industry Challenges: The Standards Question
» Market Watch: Virtual Computers, Real Money
» Companies to Watch Private, and Public
» Open Source Projects and Research Consortiums
» Key Players
» How it Works: Cloud Computing
» Webcast Interview with 10Gen CEO
» Case Study: Making Art Pay 
» Map: Water-Powered Computers

Congratulations to Jim, Intel and Enomaly!

MIT's 'House of Cloud':

House_p55_x600

Flash for Android, Symbian, webOS, WinMobile... and not iPhone, BlackBerry

Adobe announced that it will release a beta version of its Flash player for MIDs - Android, Palm's webOS,Nokia Symbian S60, and Microsoft's Windows Mobile -  before the end of 2009. (Update: HTC just announced its Hero MID which will have Flash 10). 

Adobe has indicated that getting Flash support onto MIDs as a top priority. In previous years it has tried doing this with Flash Lite, but recently admitted defeat for this strategy. The new plan is to bring the full version of Flash to most devices, starting with a beta they plan to debut at their MAX 2009 conference in October. 

Adobe's announcement omitted details on which MIDs this player will be supporting . However, Adobe was quoted recently as working on a beta version of Flash for Google's Android, Palm's webOS, and Nokia Symbian S60. When Adobe first discussed this effort last year, it included Windows Mobile on the list of supported operating systems.(Update: HTC has made its own announcement regarding Flash 10 support on the Hero, so Google Android is confirmed).

The outlook is less rosy for two of the biggest mobile platforms, though. Adobe does not know when versions of Flash will be available for Apple's iPhone or RIM's BlackBerry models. There are apparently business issues blocking these two, as illustrated by YouTube's support of Flash content on both platforms.

20 June 2009

Clone Cloud @ Intel Research Day

Intel's Research Day showcased a scintillating project: the Clone Cloud device:

“...to create a clone of your smartphone's data and apps and run them in a cloud environment where they can take advantage of far more computing power than could ever be squeezed into a pocketable device……………..
………. your phone (or netbook, nettop, MID, or whatever) could live a schizoid life, existing both in your pocket and in the cloud.
When you ask your handheld to perform a computational task that would benefit from more horsepower, the device and the cloud could negotiate at run-time to determine how best to satisfy your request. If the cloud can help, it will - delivering the results back to your handheld.”

More at:
http://www.theregister.co.uk/2009/06/19/clone_cloud/http://www.intel.com/pressroom/kits/innovation/newsletter/eNewsJune/Q2articles/article4.html

 

LINKS

  • OnlyWire
  • Bloglines
  • Sound Copy
    say no to copyright extension
  • TwitterCounter
  • FOWD
  • LIFT
  • ZoomInfo
  • barCampLondon
  • FOAF
    my foaf data | about foaf
  • Technorati
    Add to Technorati Favorites