Archive for the ‘Technology’ Category
MapReduce in the cloud
So if you have a large job for Hadoop but don’t yet have a couple of hundred servers in your garage, Amazon has just launched Elastic MapReduce.
Hypertext Bidirectional
New mailing list @ietf for discussing all matters around the bi-directional web. Right away, an interesting conversation on Websockets.
Get on it if you are interested in the subject… lotsa smart people talking in there.
RESTful Cloud API from Sun
So Sun seems keen to up the ante from its Sun Grid offering, announcing a new Cloud Platform recently, primarily built out of its Q-layer acquisition. The interesting part of the offering seems to be new REST-ful api for controlling the cloud, which they hope to standardise at some point.
Dynamically adding instrumentation agents in Java
I’ve not seen much application (as opposed to framework level) use of the instrumentation api very much. While it seems like a goldmine of possibilities, one difficulty has been the inability to load an agent dynamically in a VM (ie, without using a command line option) However, the OpenJPA has an interesting implementation of InstrumentationFactory that uses the Attach API to load the agent. (via Peter Royal)
Also part of that class is a cool, if hacky, method to get the PID of the running VM: a simple requirement that many have torn hair over.
API Design
Great article in the ACM Queue on good and bad API Design
To me, the most pertinent comment is on the fact that programming has changed over the last twenty years (you wouldnt implement your own private version of bsearch() or qsort() any more), CS education still does not teach anybody
how to decide whether something should be a return value or an out parameter, how to choose between raising an exception and returning an error code, or how to decide if it might be appropriate for a function to modify its arguments
Must read!
Truth is stranger than fiction!
If you ever thought that the stuff they put out at The Daily WTF is too outrageous to be true, see this and this.
Lua
So apparently 40% of Lightroom , Adobe’s new digital photo management app, is written in lua. Interesting!
Processing on the GPU
The GPGPU game seems to be hotting up. Apparently ATI is about to announce its FireStream products next week.
Our very own Damien Morton had written a nice summary on programming on the GPU.
JP on Fred Brooks
JP writes: Time to rethink Fredrick Brooks? (Full disclosure: I used to work for JP, many lives ago, many steps removed…)
The Mythical Man Month is my favourite book on software development, bar none. I first read it years ago, in college. So initially, it was quite out of my context, but the more I experienced working in the software industry, the more I saw how true it all was!
So while we may be on the way to mitigate a lot of what Fred Brooks said years ago, I’m not sure if its time to completely overhaul the picture.
*The Mythical Man Month*: We do indeed prefer to develop software in smaller teams. However, social software is hardly the pancea to human communication… or, dare I use the word, empathy. Tim Bray asked earlier today, in the context of real life social networks, why do we need computers to help us with this?
*The Second System Effect*: I see second system effects not really with companies, but with people. So yes, while Google or Skype or eBay or Amazon may not have experienced the second system effect as organisations, I’m sure they’ve had to beat a few of their architects or developers over the head to ensure that. Plenty of open source software, I reckon, also displays the second system effect.
*The Manual*: This is where I see the biggest disconnect with Brooks. He was talking about building Operating Systems on evolving hardware designs. So for him, manuals were about bus architectures and instruction sets. Not sure if we can draw conclusions either way from there to the web.
*Project Estimation*: I believe here JP envisages an Utopia which we all want to achieve, but so long as appraisals and contracts and SOX exist, have we any chance of achieving that? So while we may have development teams that work in this way on a day to day basis, the elephant never really leaves the room. This may be the one aspect of enterprisey that we cant work our way against. Or have’nt I seen the fun stuff?
Building Global Teams
Jon Udell talks to Andy Singleton about building global teams.
An interesting ‘listen’ in general, but one of my first comments was on how these teams “wield open source componentary”.
I’ve seen how, over the years, as open source toolkits have matured, the benefits to distributed teams have been immense, and direct. Built without the assumption of co-location, geographically or temporally, they were immediately useful to any kind of distributed teams. Even simple things like how CVS is so much better over a WAN link than most older version control systems. Or that most tools were built with a web interface, making them easier to deploy access over heterogenous networks.
A succint example of what I am talking about is Collabnet, which started by packaging and supporting many of these tools in commerical environments
One emerging phenomena in this space is distributed version control systems such as bazaar-ng that take these concepts to quite another level. It will be interesting to see how these tools evolve in commercial environments.
But the connections go beyond just tools. To look at how to run a distributed agile project, a good starting point is to see how agile processes map to open source projects. That however, is a topic for another day.