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.
Fed Fund Binary Options
J R Varma has a commentary on CBOT’s new “Fed Fund Binary Options“:. There’s been an “FT article“: yesterday on these.
The interesting bit is, the underlying risk can sometimes be discontinous if you believe Fed Fund target as a driver of risk appetite in other markets. This makes the discontinous and unhedgeable greeks of binary options moot.
The Energy of Empty Space
Finished reading this fascinating piece by Lawrence Krauss at The Edge. It is interesting in itself as a survey of the state of Physics today, starting from the issue of the energy of empty space. I’m not sure however if his critique of String Theory as a mere formalism rather than a theory is uncontroversial… even if I, sort of, agree.
What I found the most fascinating is his observation that apparently many physicists no longer recoil from a discussion of the anthropic principle as an answer to some of our basic questions. This is new… as Krauss says, and as I remember, some years ago, the concensus of opinion certainly was that there’s only one allowed law of nature that works, that ultimately we might discover fundamental symmetries and mathematical principles that cause the nature to be the way it is.
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.
Hi Folks!
A virtual handwave to some of our new colleagues : Matt, Marie, the Lab49 group blog. Add them to your feed subs!