Avik’s Ruminations

Musings on technology and life by Avik Sengupta

Archive for the ‘Technology’ Category

MapReduce in the cloud

without comments

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.

Written by Avik Sengupta

April 2nd, 2009 at 10:45 pm

Posted in Technology

Tagged with

Hypertext Bidirectional

without comments

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.

Written by Avik Sengupta

March 31st, 2009 at 11:33 pm

Posted in Technology

RESTful Cloud API from Sun

without comments

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.

But maybe it all will be moot soon? Or not?

Written by Avik Sengupta

March 21st, 2009 at 1:12 am

Posted in Technology

Dynamically adding instrumentation agents in Java

without comments

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.

Written by Avik Sengupta

March 20th, 2009 at 11:58 pm

Posted in Technology

Tagged with

API Design

without comments

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!

Written by Avik Sengupta

July 10th, 2007 at 10:57 pm

Posted in Technology

Truth is stranger than fiction!

without comments

If you ever thought that the stuff they put out at The Daily WTF is too outrageous to be true, see this and this.

Written by Avik Sengupta

November 24th, 2006 at 4:51 pm

Posted in Technology

Lua

without comments

So apparently 40% of Lightroom , Adobe’s new digital photo management app, is written in lua. Interesting!

Written by Avik Sengupta

October 4th, 2006 at 11:11 pm

Posted in Technology

Processing on the GPU

without comments

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.

Written by Avik Sengupta

September 21st, 2006 at 6:37 pm

Posted in Technology

JP on Fred Brooks

without comments

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?

Written by Avik Sengupta

June 29th, 2006 at 6:36 am

Posted in Technology

Building Global Teams

without comments

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.

Written by Avik Sengupta

June 29th, 2006 at 2:08 am

Posted in Technology