Archive for the tag 'technology'

Web 2.0 … what’s all the fuss about?

amit February 16th, 2007

A picture they say is worth a thousand words. How about a video? Check this out:

What are you up to Mr. Bezos?

amit May 10th, 2006

Jeffrey P. Bezos, does not attract news like Bill Gates, or Larry Page, or Larry Ellison or a bunch of other people. But don’t let that fool you he is doing his share to innovate and bring a change through technology. Amazon is not a technology company it’s an online retailing giant, but with technology at its heart.

They have had a few hiccups: lost the contract with Toys R Us, published a very conservative outlook for the coming quarters and so on and so forth (Google finance it). Wall Street naturally and perhaps rightly dumped them, they are down to around $35 and this has me excited. For all the bad news, I think they GET the whole internet thing. They have the absolutely the best web services to access their stuff; the design, concept and even pricing of S3 leaves little to be desired, and although I don’t think A9 is spectacular with search it has its innovative features (check it out).

Essentially its time to get in, now they say the first rule of investing is never to be attached to a company – well screw rules. I love Amazon, I am not sure what Mr. Bezos is up to and I know his name doesn’t inspire confidence, but there is definitely something brewing there and I like the smell of it.

Designed to be thrown!

amit March 15th, 2006

When radical change is part of the plan, “Use and Throw” is an effective policy. Agility and adaptability afforded by such policy are not only defensive traits in the face of a rapidly changing environment, but can easily be harnessed to gain significant competitive advantage. “Use and throw”, might precipitate the idea of waste, but on the contrary, software designed with such an objective would minimize exactly that – waste.

More times than not we tend to over estimate the useful life of software, consequently investing more than we really should, and ending up doing a trapeze act; trying to balance between taking advantage of technological advances, improved processes etc and hoping for a decent return on our investments. This is how “legacy systems” are born. The infrastructure that was supposed to liberate us, binds us. We can talk about being scrupulous in our investments and light weight in our designs to ad nauseam, but nothing drives the point more forcefully and eloquently than the simple concept of “Use and Throw”. It is with this conviction that I would like to explore few idioms to built software so cheaply that it is designed to be thrown.

  • Use generic components and resist the urge to ‘personalize’; Googled an open source component, or a third party inexpensive toolkit, plug it in – use it as is. Innovate (read work around) beyond its shortcomings. Remember we can’t spend months building something that will last weeks. Make it work – now.
  • Move to high level languages; use Python, BPL or workflows whatever. Get more done with fewer lines of code. However be cautious of vendors who advertise few lines of code at the top but require esoteric libraries at the bottom, run far from .dll’s and .so’s, understand your underlying infrastructure. Finally for God’s sake, please don’t compile.
  • Try and use time tested, widely deployed or easily available resources. Shun the “latest and greatest”, you can do without it. It is my contention that if similar application and energy devoted to learn the latest advances is applied to make do with what’s standard, better software would be produced faster. Think about building on top of the file system, http, html etc. Try to be platform agnostic, but if you can develop quicker for a specific platform by all means do so.
  • Don’t generalize, remember this is going to be thrown – simply try to solve the problem at hand. You don’t need a configuration file. Hard code, it’s not always a bad practice. And if you are thinking interfaces, or three tier class hierarchies be reminded – the fact that a refrigerator and a dryer are both Object is of no use at all. You cannot chill your beer in the dryer.
  • Strive for transparency; this is another reason to shun compilation. Let your users see the code, if need be, a bug fix could be as simple as asking your user to edit a simple text file. Alright if you have to be fancy you can mail it to them. The same goes for configuration, if you absolutely need configuration – put it in code. This is a popular scripting idiom, users can change config.py just as easily as they can change config.xml. Here is an example config.py.
    config = {}
    config['LANG'] = 'ENG' // options GER, FRN or SPA
    config['TEL_NO_FORMAT'] = 'xxx-xxx-xxxx'
    config['ERROR_CHECK'] = 'YES' // option NO
    config['DEBUG'] = 'FALSE' // option TRUE
  • What is the most effective and also the most popular form of code reuse? Ctrl-c Ctrl-v, use it, it works all the time.

The only thing predictable about the future – is that it is unpredictable. Change not only takes place, unfortunately it takes place at an ever increasing pace. In my view the era for “Use and Throw” software is here, and sooner we start thinking about it the better. Of course not all software is “Use and Throw”, but a lot of it can and should be. Besides which problem would you rather face?

(a) How to extend the life of an application that was built cheap, designed to be thrown?
(b) How to make use of this enterprise software (read, worth thousands) designed to exchange data with a supplier you don’t like?

I guess you could always wear deodorant if your supplier stank.

An invitation to hackers … coming soon.

amit December 5th, 2005

Few people realize the essence of hacking. It’s not about breaking into systems, it’s not about conning credit card details, it’s not about defaming the government (the government itself, is fairly capable at that), it’s not about inflated ego’s, its not about affronting Microsoft (although that, in my opinion, is a most welcome side effect). Hacking is about finding inventive solutions, using the properties and laws of a system in ways not intended by its designer. It’s an art, cherished and acknowledged by few, but recognized by all (1).

People like Richard Stallman, Larry Wall, Guido van Rossum, Linus Torvalds etc. understand this. They have devoted their careers to democratizing knowledge, thus making it tad easier for hackers to work their magic. An open source os and free compiler, a higher level language like python, web scripting languages like perl/php are all tools that make hacking feasible and more enjoyable. Flagships of the web, Google, Amazon, Ebay etc have joined their lot, they see an unharnessed potential and have modeled their businesses to benefit from innovation, even when it comes from without. They have opened their doors, and made the Web a playground for hackers. And hackers have heeded the call, a file system on gmail, a stitched image from google maps, ebay listings on cell phones, http://www.mappr.com, http://www.housingmaps.com examples abound, but this is just the beginning, more is to come.

I see my current project ((2) not sure if I can make the details public yet) as an extension to the same theme. It’s an attempt to bring Web hacking to the masses. Ingenuity in computing is not a prerogative of programmers, it’s simply guarded by layers of complexity, given the means amazing things can come from the most unexpected quarters. To me, we would be honored to have hackers as our users and we will be successful, if we can create hackers from our users.

(1) John Draper, also known as Captain Crunch, found that a toy whistle given away in the cereal with the same name could be used to mimic the 2600 hertz tones phone lines used to set up long distance calls. Pierre M Omidyar, wrote a person-to-person trading website in a single labor day weekend in 1995. Shawn Fanning cooked up a solution for his friend to access and share music files. Bram Cohen bettered him and wrote bit torrent to confound RIAA. Paul Rademacher married Google Maps and Craigslist to create http://www.housingmaps.com.

(2) We expect a beta-release sometime this month.

Next »