Andrew Glover's complete blog can be found at: http://thediscoblog.com/
Thursday, February 24, 2011
A few years back while on a conference panel discussion, a panel member (Stu Halloway, if my memory serves me) in response to a question regarding how to quickly learn new APIs suggested writing unit tests. That is, the suggestion was to test the new framework, library, language as a means for learning how to use it.
I recently found myself participating directly in this excellent suggestion in an attempt to become more fluent in Ruby. The good folks at EdgeCase have put together an extensive suite of tests (274, in fact) at rubykoans.com where the expressed goal is
to learn the Ruby language, syntax, structure, and some common functions and libraries
I’ve found this project intensely helpful — while I’ve coded in Ruby before, I’m by far not conversant enough to stand on my own without some sort of reference — nevertheless, working through the various test cases has increased my awareness of Ruby’s linguistic features as well as increased my overall Ruby confidence.
I highly recommend to anyone wishing to learn Ruby that they check out rubykoans.com; what’s more, I hope to see this style of “learning framework” employed more often regardless of underlying language, platform, or framework. Thanks, EdgeCase!
Monday, February 21, 2011
Data storage has become cheap. Consequently, we’re storing tons of it:
- in less than 10 years since launching its image search feature, Google has indexed over 10 billion images
- thirty-five hours of content are uploaded to YouTube every minute
- Twitter is said to handle, on average, 55 million tweets per day
- in early 2010, Twitter’s search feature was logging 600 million queries daily
In lockstep with the explosive growth of data are tools designed to facilitate data processing — one such tool is Apache’s Hadoop. Hadoop is essentially a mechanism for analyzing huge datasets, which do not necessarily need to be housed in a datastore. Hadoop abstracts MapReduce’s massive data-analysis engine, making it more accessible to developers. Hadoop scales out to myriad nodes and can handle all of the activity and coordination related to data sorting. Yahoo! and countless other organizations have found it an efficient mechanism for analyzing mountains of bits and bytes. Hadoop is also fairly easy to get working on a single node; all you need is some data to analyze and familiarity with Java code, including generics.
In IBM developerWorks‘ article “Big data analysis with Hadoop MapReduce” you’ll get started with Hadoop’s MapReduce programming model and learn how to use it to analyze data for both big and small business information needs. You’ll find that analyzing data with Hadoop is easy and efficient!
Tuesday, December 28, 2010
As I’ve blogged and written about on various occasions, Google App Engine doesn’t just scale apps: it can also help you assemble them rapidly, using slick tools. Part 2 of “Twitter mining with Objectify-Appengine” wraps up the domain model for a Twitter-mining application, adding hooks for indexing and caching. The article ties everything together with Twitter’s OAuth authorization mechanism, GAE’s queues, and a splash of JSON and Ajax via everyone’s favorite JavaScript library, JQuery.
Tuesday, December 21, 2010
The notion of the cloud has certainly evolved from some abstract definition of shared resources into a model whereby infrastructures have differentiated themselves from platforms. That is, while one might group Amazon and Google into cloud providers, their solutions are vastly different. AWS remains an infrastructure as a service while GAE is a platform as a service. Each model has its benefits and disadvantages, yet, there clearly appears to be a preference, in terms of business models, towards platforms as services. Thus, it was an immense pleasure to chat with Sacha Labourey, the former CTO of JBoss, who has teamed up with a squad of gurus to start CloudBees.
In this podcast hosted by IBM developerWorks, Sacha argues that a complete set of tools for the application life cycle in the cloud is key to maximizing this new computing model —
and besting GAE in the platform-as-a-service space. Sacha’s view of the cloud is an evolved one: viewing the cloud as a bunch of machines for hosting applications solves no real problems; however, viewing the cloud as a service enabler whereby platforms exist to handle the minutia of infrastructures is the future and where the enterprise will look for solutions. Have a listen and check out CloudBees while you are at it!
Friday, December 17, 2010
I recently had the pleasure of catching up with my old friend, Ted Neward. As anyone who has ever had the occasion of inquiring into Ted’s opinions knows, Mr. Neward is a veritable fire hose of technical knowledge intermixed with random thoughts, name dropping, and rants, all of which makes a conversation with Ted unpredictable, and yet, a lot of fun. In this podcast hosted by IBM developerWorks, Ted answers a host of questions regarding Microsoft’s .NET platform in an effort to educate the Java community on what it might learn to do and not do. Plus, Ted touches on the OpenJDK project, Apple, Jython, Vista, cloud computing, and much much (much!) more. Have a listen and don’t forget to check out Ted’s blog and see what he’s up to on Twitter.