January 12, 2008

Hello 2008

So 2007 saw only one entry in this blog, for reasons my one and only reader will be aware of. Lots going on last year, some good, some bad. Here’s to hoping 2008 will see a more prolific writer on these pages.

01:00 AM | Permanent Link

July 10, 2007

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!

November 24, 2006

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.

October 04, 2006

Lua

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

September 21, 2006

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.

August 08, 2006

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.

July 11, 2006

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.

June 29, 2006

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.

May 08, 2006

Hi Folks!

A virtual handwave to some of our new colleagues : Matt, Marie, the Lab49 group blog. Add them to your feed subs!

May 02, 2006

Speaking Gigs

I’m speaking on Watir at the 2006 edition of Agile India. I was there last year and it was great fun. Hope to see you there, if you are in Bangalore.

Ive also uploaded the presentations of my sessions at FOSS.IN/2005 on my talks page .

I'm Back!

Looks like its been almost a year since my last post here. With apologies to my one diligent reader (and I’m being optimistic!), here I am, back again.

To say that the last twelve months have been busy would be to understate things. However its certainly been interesting… more on that later.

April 08, 2005

Google Knows

Google Q & A : Another step towards a sentient borg? :)

March 24, 2005

Ruby India User Group

So, this is not a timely post, but …

The first formal meeting of the Ruby India User Group at Bangalore was held a few days ago at our offices. We had around 30 people packed into a tiny meeting room, so “standing room only” was an understatement.

There were people with a range of Ruby experience; so in the first hour, Yogi talked on “doing things the Ruby way” — essentially an intro to the language by explicitly coding a small application, live. A very interactive way to explain the basics of Ruby.

In the second hour, we had Bret Pettichord demo Watir and Selenium . Watir seems really cool, (and I’ve already started using it on a couple of our apps) but it seems a shame that it only works on Windows. So a lot of the discussion centered around getting Watir and Selenium to work together.

All in all, a very intersting couple of hours. I can’t wait for the next meet, where we’ll probably talk about Rails.

March 17, 2005

Log4J Considered Harmful

The pretentiousness of the title is purely a reflection of a sleepless night, a day before go-live.

Whenever I have faced jar hell during java development, it’s always turned out to be due to Log4J; which is a shame, since log4j is, for good reason, the leader among Java logging tools. Having spent a few tense hours recently with this, I thought I should blog it for the benefit of other unwary souls out there!

So did you know that if you had multiple versions of log4j in you classpath, you are likely to get

java.lang.VerifyError: (class: org/apache/log4j/LogManager,
   method: <clinit> signature: ()V) Incompatible argument to function
        at org.apache.log4j.Logger.getLogger(Logger.java:94)
 


This seems to be a reasonably common occurance, but try telling that to the log4j developers.

And no, I havent found a solution, except forcibly remove the log4j dependency :(


This weblog is licenced under a Creative Commons License. Copyright © 2003 Avik Sengupta. Some rights reserved. Your use of this site indicates your acceptance of these terms.