Even a chimp can write code

Friday, February 25, 2005

I'm moving on

After about two years working for a fabulous company in RI, I am moving on. I have accepted a Program Manager position at Microsoft and am relocating to the Seattle area with my wife Ashley and Bumper, the hunter cat.

These past few years have seen a leap for GTECH, (the company I worked for in RI) and the lottery and gaming industry in terms of the use of technology that improves the quality of applications by orders of magnitude. I am happy to have been a part of that mini-revolution. We built both back-office and online wagering applications for some of the big name lotteries of the world. The challenges here have been unlike others I have faced in my career but I leave with a good feeling. The products I have worked on are much much better now than when I started on them. So naturally, our customers would be very happy.

Given this transition, I have decided to voluntarily resign from the Java Community Process (JCP) and suspend my participation from the JSR 260 (Javadoc Technology Update) Expert Group. I have some regret about leaving that wonderful team of experts but given the situation, it is the only right way forward and it serves the interests of all concerned.

I will not be writing a whole lot of Java code (not at work at least) in the next few years. My association with this language, the platform and its community will be diminished. But not my admiration.

I am really thrilled about the opportunity of working in the Avalon team within the Windows group at Microsoft. I met some of the smartest people on the planet during the course of my interviews with them; people whose names are tied to important software innovations of the past decade. That alone is a big motivation for most. But I have others too. I've always had a selfish desire of creating products that are used by millions of people around the world, that run on every desktop, even my mom's and my wife's. Working at Microsoft will make that happen. Having worked with every competing technology to Microsoft's but its own, for all my career, I know I bring ideas on building software that may be new to many at Microsoft. But I am flattered that Microsoft is willing to listen and absorb. To me, that is the sign of a great company. In my short career, I may not have gone where I intended to go, but I think I have ended up where I intended to be.

All said, I am sure going to miss Dunkin Donuts. But it will be a welcome break from Rhode Island roads [for the uninitiated, these are the patches of flat surface between the potholes]. The people in New England have been truly wonderful to us, except when they are in their cars. That is when they lose all sense of logic and reason. Let's face it, some of the worst drivers in the world live in New England. Those traffic lights are not mere suggestions. They mean something! Believe me, I know. I'm from India.

Email this | Bookmark this

Saturday, February 05, 2005

RE: Gosling on unsafe code

I tried to comment on Cedric's post but his filter wouldn't let me get my admittedly benign thoughts in. So I figured I'd create a post here.

.Net has code access security which relies on policies, much like Java does. The .Net CLI looks at code as two broad categories: verifiable (VB.NET and C#) and non-verifiable (C, C++). It is well understood that C++ language features like reinterpret_cast are not type safe. Maybe for this reason the ability to load non-verifiable code is itself a policy that must be explicitly granted to code via policy.

I agree with Cedric. C'mon, if you love Java there's no reason to slander .Net to prove it.

Email this | Bookmark this

Security through viral propagation

Traditionally, we have had two sets of security procedures, one to control physical access to facilities and another to control access to software systems and networks. Increasingly, governments and companies are looking to unify these security measures and blur the line between cyber and physical security. The challenge of merging digital and physical security may have been tackled before. Although, how effectively, we don't quite know. The Economist reports that the world's largest lock-maker, Assa Abloy is working with Core Street, a Cambridge, MA based software company, to create a single security system that controls both your access to files, servers and networks, and to physical facilities like labs, rooms, warehouses etc.

So what? Hasn't this been attempted before? Card readers on door locks have been used to authenticate and authorize access to facilities. Typically, these readers are hooked onto networks that connect to a server hosting the access control list (ACL) and validation software. So how much of a leap is it to merge cyber and physical security? Besides, this sort of network can be very expensive. An electronic lock, says the Economist, can cost upto $5000, most of it being the cost of network wiring. Wiring up all of the door locks of say, a nuclear power plant or an airport becomes extremely costly, prohibitvely so for installations with smaller budgets. The solution these guys have devised attempts to solve that problem by using the cards themselves as the network.

The access to the ACL is decentralized and the most current copy is available to a small percentage of connected doors. Whenever you swipe a card through one of these connected doors, the access control list is transferred onto your card in encrypted form. As you walk through unconnected doors, the card lets the doors read the level of access. These unconnected doors can overwrite their copy with the newer ACL read from your card. These doors can then pass on the ACL to other cards that pass through. As people keep moving through doors, so does the ACL via viral propagation.

I would think strategic placement of connected doors and a strong encryption of ACLs on cards are key (for lack of a better word) to this security model working effectively. The idea is interesting although with my experience writing (secure and) security software, I must admit I am not totally convinced it is foolproof. This model makes the door locks about as secure as the software systems and networks. Whether the latter were more secure to begin with, is debatable.

Email this | Bookmark this