Monday, November 01, 2004

So quiet frankly, I

1)       am a fraud

2)       am trying to deceive people

3)       am not ‘worth the trouble’

4)        - to say that I am not ‘worth the trouble’ is misleading, because it implies that there is some potential good to be achieved otherwise

5)       am upto doing bad things, pure and simple

6)       am starting phony open source groups

7)       should have evidence collected against me

8)       – you should be organized against me

9)       should be denounced as fraud

10)   should have protests staged against each of my meetings

11)   should have articles written about my deceptions

12)   should be treated as a liar

13)   should not be treated as respected or legitimate

14)   should have universities close down programs because I am a liar

15)   should have this campaign against me renewed each year

 

If I missed something in the above set, I apologize.

You can read it all and more here -

http://mm.gnu.org.in/pipermail/fsf-friends/2004-October/002484.html

 

The reason this applies to me is because I often talk to my juniors at college and to students as well as professional developers about .Net. I do talk about it as an open platform and I believe that they should adopt it, learn from it, use it and develop on it. (A few days back I had come across this)

 

Sriram, now you know why (like Jack Nicholson) says ‘we can’t all get along’. I have tried and fell flat on my face, several times.

 

Noufal, now you know why I don’t think that MIT’s AI labs success has nothing to do with the GPL and think that the FSF is a political agitation/movement more than anything about technology or software. Unfortunately their sphere of influence is around technology.

 

If the things I do warrant that the above apply to me, then I am not ashamed of any of them.

 

 

 

Kids, if any of you in college are reading this, then here is a piece of mindspace – you are in college/university to be learning, not to be religious or have political ideals. Learn the goods and bads of every system – but more fundamentally try to learn about as much as you can about the art of computer science – that is so rare and there seem to be so many fewer people who know about it.

 

 

 

Now, here are some basics, you just need to be able to read and think to understand these. If you know how to use a web search engine, then you could have

Standards

The open/free standard - http://msdn.microsoft.com/net/ecma/

I intentionally use the words above, because there is No definition of the English language use of the above words that is violated in the way they are used above. If word x means y in a certain political ideal, in my personal sense of ethics, followers of y cannot call those who understand x as x to be non-conformant. Your mileage on that may vary.

 

The standards document – the Common Language Infrastructure – which is to say the way the runtime should work.

Its architecture.

Its file formats

Its API

Its opcode / IL / bytecode – whatever you call it

The C# language.

 

The above are also ISO standards under ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) and ISO/IEC 23272 (CLI TR).

 

Microsoft does not own or run ECMA or ISO.

 

Patents

About the patents, here is a mail by Miguel of the Mono project.

http://www.mail-archive.com/ilugd@lists.linux-delhi.org/msg05784.html

And look at this

http://samgentile.com/blog/archive/2003/02/19/2647.aspx

 

Implementations

 

Microsoft offered the SSCLI source code

http://msdn.microsoft.com/net/sscli/

Works for BSD, Mac and Windows

The BSD bit patched for Linux is here - http://www.macadamian.com/products/sscli/download.html

These are governed by a non-viral not-for-commercial-use license

http://msdn.microsoft.com/MSDN-FILES/027/002/097/ShSourceCLILicense.htm (print it out, it fits on a page)

 

Mono

http://www.mono-project.com/about/index.html

http://www.mono-project.com/about/faq.html read the faq, before you ‘decipher’

 

 

Maybe I am a fraud who is lying about all of the above. Do you love the .Net technology; do you talk to others about it? Do you write commercial/proprietary software? Maybe you are a liar-fraud too.

 

Btw DO NOT hold this in perspective of my employer or any previous employer or any other context – these are purely my OWN OPINIONS done on my own steam and is not nor ever was, part of any job description of mine. Maybe I am writing this hastily, if I am wrong, I will correct myself. Personally, I have an objection to being called unethical.

 

Monday, November 01, 2004 2:56:05 AM (Eastern Standard Time, UTC-05:00)  #    Comments [28]  | 
  OQO 

I just had to put a link up to this -
http://www.oqo.com/

Worth a look, esp when you look into the specs.

Sunday, October 31, 2004 11:26:09 PM (Eastern Standard Time, UTC-05:00)  #    Comments [222]  | 
 Thursday, October 28, 2004

This is one for the command line geeks – remote.exe.

One of the lesser known (as is everything else command line based in the windows world) console tools that ship with windows is remote.exe. Its not earth shattering, but is a handy useful tool.

 

Remote.exe gives you an ability to connect to a command line program on another machine. What it does is that it can launch a console executable and stream its STDIN and STDOUT over the network to another system. It also can act as a client which can connect to this server session. Simple? It does not work on DOS exes and does not work with apps that manipulate the console via the console API, however it nicely streams standard windows console exes.

It works over a network and works over a modem dial in connection.

 

It’s a little like telnet, but not really. Unlike telnet it can limit the client to the usage of the particular application started by the server.

 

Also, here is a security hitch and a feature – the client that connects to the remote session is not verified (no user name password is asked for) – so virtually anyone can connect. However, when an application is remoted, a session name needs to be specified and the client needs to know the session name to connect to the machine.

 

Here is an example

> remote /S cmd session1

 

This starts cmd as the application that is remoted. The session name is (you guessed it) session1. the person who is connecting to server needs to say

> remote /C <machine name> session1

to connect to session ‘session1’ on the server machine. Neat? The client will have access to a cmd session on the server. The cmd session will be running in the security context of the person who ran the ‘remote.exe’ command (which is to say that the person can do as much good or as much bad as the user on the server machine is authorized to do).

 

Now if you fear the security of this approach here are two simple things to do –

 

The client needs to know the name of the session and cannot establish a connection without that. So your session names act as your first wall of defense. The client however can query a server for active sessions by

> remote /Q <machine name>

You can however choose not expose your session name to this sort of query by using the /-V option.

 

Secondly, if you are under a domain, then you can specify what users/groups are allowed to connect to your session. Simple :-)

 

Now go ahead and try out that remote.exe and play around with your system. It’s tremendously useful in a remote debugging scenario with kd or cdb (not ntsd – remember that opens a different console window). This is a useful tool esp in an intranet environment.

 

Finally, here is a help dump –

>remote

   To Start the SERVER end of REMOTE

   ---------------------------------

   Syntax : REMOTE /S <"Cmd">     <Unique Id> [Param]

   Example1: REMOTE /S "i386kd -v" imbroglio

            To interact with this "Cmd" from some other machine,

            start the client end using:  REMOTE /C <machine name> imbroglio

 

   Example2: REMOTE /S "i386kd -v" "name with spaces"

            start the client end using:  REMOTE /C <machine name> "name with spaces"

 

   To Exit: @K

   [Param]: /F  <Foreground color eg yellow, black..>

   [Param]: /B  <Background color eg lblue, white..>

   [Param]: /U  username or groupname

                specifies which users or groups may connect

                may be specified more than once, e.g

                /U user1 /U group2 /U user2

   [Param]: /UD username or groupname

                specifically denies access to that user or group

   [Param]: /V  Makes this session visible to remote /Q

   [Param]: /-V Hides this session from remote /q (invisible)

                By default, if "Cmd" looks like a debugger,

                the session is visible, otherwise not

 

 

   To Start the CLIENT end of REMOTE

   ---------------------------------

   Syntax : REMOTE /C <ServerName> "<Unique Id>" [Param]

   Example1: REMOTE /C <machine name> imbroglio

            This would connect to a server session on <machine name> with Id

            "imbroglio" if there is a REMOTE /S <"Cmd"> imbroglio

            running on <machine name>.

 

   Example2: REMOTE /C <machine name> "name with spaces"

            This would connect to a server session on <machine name> with Id

            "name with spaces" if there is a REMOTE /S <"Cmd"> "name with spaces"

            running on <machine name>.

 

   To Exit: @Q (Leaves the Remote Server Running)

   [Param]: /L <# of Lines to Get>

   [Param]: /F <Foreground color eg blue, lred..>

   [Param]: /K <Set keywords and colors from file>

   [Param]: /B <Background color eg cyan, lwhite..>

 

   Keywords And Colors File Format

   -------------------------------

   <KEYWORDs - CASE INSENSITIVE>

   <FOREGROUND>[, <BACKGROUND>]

   ...

   EX:

       ERROR

       black, lred

       WARNING

       lblue

       COLOR THIS LINE

       lgreen

 

   To Query the visible sessions on a server

   -----------------------------------------

   Syntax:  REMOTE /Q <machine name>

            This would retrieve the available <Unique Id>s

            visible connections on the computer named <machine name>.

 

Thursday, October 28, 2004 2:27:42 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
 Wednesday, October 27, 2004

MSDN Mag

Some things to say – the MSDN magazine has hit news stands in India, that too at an affordable price of 60 rupees a copy. Worth taking a look. Most people simply don’t even know about MSDN mag, so take a look here to get an idea of what it is like:

http://msdn.microsoft.com/msdnmag/

Additionally this is an India edition of the magazine so it has some information about the folk you should be getting in touch with in India, articles from some folk here and the community effort and such, in addition to the regular technical content.

 

Email

A friend forwarded this mail to me and it felt so 1984 like.

> -------- Original Message --------

> Subject: [Fsf-friends] Re: DotNet

> Date: Wed, 27 Oct 2004 06:48:28 -0400

> From: Richard Stallman

> Reply-To: rms@gnu.org

>

>  >Re the request by Microsoft to speak at the Hyderabad usergroup on

> >DotNet,

>

> I am not sure what the "Hyderabad usergroup" means, but anyone who

> advocates freedom should not offer a proprietary software developer a

> platform to present a practical discussion of a proprietary software

> product.

>

> Such discussion focuses on the practical characteristics of the

> software, and therefore makes the implicit assertion that, "There is

> no ethical issue with this software, therefore the interesting things

> about it are its technical capabilities and merits/demerits."  We need

> to reject that assumption, and the best way is not to offer them a

> platform at all.

The context here is that someone at MS offered to speak the local Linux UG at Hyderabad. I don’t know why I bother so much. Somewhere my personal definition of freedom made it a superset of choice.

 

(more) 1984

Speaking of 1984 and I am taking the risk of being politically incorrect here, but someone forwarded this to me: http://observer.guardian.co.uk/magazine/story/0,11913,1323246,00.html

I feel sorry for these people. I personally strongly feel against wrong like this.

 

CEC

Just giving an early heads up to folk who are watching – this is going to be an interesting thing in the future. Something that is going to form the basis of compelling and winning arguments – Microsoft Common Engineering Criteria.

Common Engineering Criteria

While every component of Windows Server System is already very good on its own, they can be better still, both as individual products and as part of an integrated system. Microsoft is establishing a common set of guidelines and requirements that each server must meet. Starting with the Windows Server System product releases for 2005, Microsoft is increasing its focus on improving the servers with common engineering criteria, with a goal of eventually delivering a unified group of products that provide what customers really need to simplify their IT environment.

http://www.microsoft.com/windowsserversystem/overview/commoncriteria.mspx

To throw some ideas in, think of WMI and then think of Monad and then think of WSH and then think of CEC and then use your imagination.

 

Exec Mail from SteveB

This was just released -

Customer Focus: Comparing Windows with Linux and UNIX

http://www.microsoft.com/mscorp/execmail/2004/10-27platformvalue.asp

 

 

 

Wednesday, October 27, 2004 9:06:48 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
 Monday, October 18, 2004

I got to meet vice presidents S Somasegar and Eric Rudder yesterday. They were at IDC as part of an exec visit to India. Eric struck me as a thoughtful and intelligent person. He was technical advisor to BillG for a while, so that’s saying a lot.

 

While a lot of things cannot be discussed in a public blog, I do like the way Eric responded to one of the questions during the open forum. This question was related to losing market place in the very small business and personal use scenarios due to the often posed ‘good enough’ argument against commercial software. Among other things, Eric said that if ‘good enough’ is good enough, then we deserve to lose.

That’s taking on a much larger commitment that just saying that we will make good products and sell them, I think that that’s saying that in time the quality of what we can do will change what good enough means. That’s a measure of a company and will unlike most others ‘big’ guys in this line.

 

I also spend part of yesterday thinking about the ‘ethical’ argument with which non-commercial software tends to propagate and justify itself. I remember receiving lots of feedback on my talk about the commercial software model at the first anniversary of the Bangalore .net user group.

 

Not a lot, but a significant amount has been said from the perspective of commercial software.

http://www.microsoft.com/resources/sharedsource/Initiative/speeches/mundie_model.mspx

In general look here from time to time, some of it might seem to be a revelation -

http://www.microsoft.com/resources/sharedsource/

This is also an interesting book, with names like Lawrence Lessig an Bradford Smith in there -

http://www.aei.brookings.org/publications/abstract.php?pid=296

 

Also I realized something else, it’s probably an obvious little thing – but a lot of what you hear when you are outside Microsoft, sounds like science fiction: Avalon, Indigo, WinFS … ta da da. I now have having a weird feeling of ‘coming in touch’ right now, because I am downloading one of the builds of one of these pieces to try on my machine – the sort of thing I would not have seen for years otherwise, and it feels good. It also feels like a ghost stepped out of the shadows and then you realize that he was real all along.

 

I know this blog entry is all pithy stuff with no enumerations of ‘facts’; but that’s ok, for this one. I know it will not stand one of my ‘where are your facts?’ rants. But again, that’s ok for this one.

 

Monday, October 18, 2004 5:38:26 AM (Eastern Standard Time, UTC-05:00)  #    Comments [8]  | 
 Thursday, October 14, 2004

I feel like a worm. Not in the slimy sense, but in the coming late sense.

 

Let me explain, there was this one time when my family went driving through the country to drop off an uncle of mine at some relatives’ place. (We weren’t exactly fond of long drives for no particular reason, but that time it just happened.) The family we were visiting had a nice farmhouse. After some walking around, I happened to find my brother sitting at the corner of a balcony looking down at some chickens pecking away in back yard.

 

And for some strangely philosophic moment (I usually don’t associate these things with my brother :-) ), he looks at me and says – Rosh, you know all the things they say about getting up early and all, right? Early to bed and early to rise makes you… and early bird gets the worm and stuff? And I say – yeah. And he says – look at what the worm got for getting up early.

(Duh?) And he continues – so the moral must be that if you are worm, don’t get up early.

 

Well, it did have a sense of reason to it… in a sense. This happened years back and for some reason I was reminded of that, feeling weary as I came in to office near afternoon.

 

The reason I am writing about all this is because all that is going to be changing. < inset background score: time they are a changin’ here >  I am going be a worm no more. Someone at Microsoft is transferring to Singapore and is giving away his cycle at a garage sale – I think I am going to be picking it up. It’s got a nice set of Shimano (shimano.com) gears on it. And when I have a cycle I am going to get up at six and will go cycling in the mornings. So there.

I guess.

 

 

On a different note, I have been looking at various university websites the past few days for interesting research in computer science. I was hoping to find some interesting work in languages research to integrate better data handling models into languages – something along the lines of what COmega tries to do. I was a little disappointed to come up with next to nothing.

 

 

I read this book recently, called the ‘Curious incident of the doing in the Night-time’. It is a curios book written from the perspective of a 15 year old suffering form some form of autism. It starts of with a dog being killed in the neighborhood and the kid trying to play detective to find the killer. I wouldn’t recommend reading it, unless you are in the mood to have something bothering you for a while. The book .. well, I better not say much about it. There was this one thing in the book which has been running in my head for a while now – this book if full of descriptions of how the protagonist sees various things in his life.

 

In this part he remembers himself when he was smaller. His teacher would show him a jar of (lets say cookies) cookies and ask him what was in it. And he would say cookies. She would then turn over the jar and a pencil (or something else) would fall out. And then when she asked him what was in the jar, he would say pencil. Then if the she asked him, what his mother would say if she was asked what was in the jar, he would still answer pencil. He could not understand why that was wrong. For a long time he did not realize or understand that other people had minds, and this was hard for him.

 

In a paradoxical kind of way, that is how many of us behave from time to time. There is point at which we reach the borders of our imagination about how others would react to something, because our perception of how they should react is so strongly biased by what we personally know.

 

On a different note, and this one is about cocktails – I am still nowhere about learning the basics about how drinks mix well.

 

However here is a little tip: cranberry juice and orange juice mix well together and go well with some vodka. There is something missing here in this combination and I can’t really put my finger on it.

Also, maracuja (passion fruit) and vodka topped with 7up or sprite and some ice is a reasonably pleasant drink.

Thursday, October 14, 2004 4:23:29 AM (Eastern Standard Time, UTC-05:00)  #    Comments [5]  | 
 Thursday, September 30, 2004
  Mish Mash 

Aah! its good fun to be blogging after a long time now. I had a sort of internal deadline a few days back and life seems generally peaceful since.

 

Which gives me room to write about lots of things that I had been meaning to write about.

 

Hyderabad and life

 

Hyd has so far been a fun place to be in. I stay in a one bed room apartment that is about 3 to 4 kilometers from office. It is a nice locality with few houses that are well distanced from each other. There is a lot of open land and a nice backdrop of rocky terrain.

 

Having done little other that computerese the past few years, it is good fun to be maintaining a house and to be figuring out some cooking. Also one of the newly picked up interests is cocktails. I have not been drinking too many yet, but I am beginning to realize that there is this entire subculture to preparing and inventing cocktails which would be good fun to explore. This blog may well stop being about computing totally and be one about cocktails in the tear future. Like one of teh books I picked up about cocktails said “learning a lot about being the reason why people have a good time“.

 

The thing about making cocktails is that its really hard to get the right ingredients when you are starting out and there is no really easy way to experiment and learn – things start seeming uniformly good or bad after a few drinks.

 

I am also (by my own definitions) beginning to turn into a master chef. I keep having vague sentiments about being a chef or a bartender as an alternate career track. Since I am a relative new comer to drinking alcohol (yes) and to cooking, both of these might take a while – however I am looking forward to evenings with friends and home made cocktails.

 

Microsoft

 

Working at Microsoft is different compared to many places you would work in India. Other than the technology, and the other stuff that I could go on about endlessly - like my manager potentially filing for nearly two dozen patents this year - at Microsoft the senior guys tell you things like “plan things so that none spends the three day weekend at office”. Its nice to be in a place like this. Its highly individualistic, you are given ownership, you are expected to run your own show, accomplish more five fold of what you would do at another place and do it in style – and have time for things like learning to be a bartender. :)

 

More Life

 

I have been having conversation with all sorts of people. Its hard to find people who believe in computers for love of the machine and logic. Its even harder to find believers. Lovers and believers... I am also beginning to realize that talking to people who have a life outside of computers can actually be fun, strangely. :) And in computing I have been some smart folk and some of the prostrate masses as well...

 

I had a conversation with a couple of folk some days back, who believed something to the effect that Windows should not penetrate the academia, because if it does, 'people will not learn anything'. The argument was that since windows is easy to use and that the IDEs and such were fairly complete people would never understand how the underlying things ever worked. The argument was also heavily biased towards the command line and how Windows does not encourage you to use the command line even though the command line is intrinsically better. That kind of talk gets a rather more measured response from me these days that the push-comes-to-shove responses of some time back. Its actually an interesting exercise to see how people can cling onto opinions because they implicitly see a certain safety in having them, as opposed to letting go of them.

 

Today there was conversation about piracy with some other folk. Should Microsoft be cracking down on piracy legally because piracy does actually causes material harm? My stand that was that it shouldn’t as things are right now. I feel that some pieces of software (not just from Microsoft) are actually rather expensive for the Indian-rupee economy. Piracy would be far better handled if prices for certain pieces of software were actually reduced hand in hand with awareness about what offers and alternatives are available. The user groups and the communities can and will play a very large part in this. Once I think the systems are in place, and they are getting in place as we speak – there are offers and options available that people simply don’t know about – then might be a better time to tighten the legal crackdown on piracy.

Can we ever completely eliminate piracy? I don’t think so – but that is not necessarily we are trying to achieve. We can easily make a large portion of the people who are presently not using legal software to start using legal software by making them see value in it. There are simple value propositions like free upgrades and patches for legit systems, possibly vendor provided antivirus packaging, support, merely the fact that you are doing something morally correct which when know would change the minds of many people. Will there always be freeloaders? Yes, but that is not the problem that we are trying to solve here.

 

Learning

 

I spend some time with someone at Microsoft showing how to use the fabled windbg. Really interesting. I guess I am so impressed because I haven’t used a debugger very much at all in the past. Most of the code I have been writing has always been debugged with some variant of the ever useful printf-debugging. I wish I was doing that with Govind Kanshi at Bangalore.

 

Among new pieces of information, there is a new public drop of Monad beta available. Take a look.

 

More Microsoft  

 

Microsoft is full of internal websites about every conceivable things in the org. We have HR, Library, internal resources etc etc lots of the standard stuff. Then the interesting stuff like websites for each group – like one about the debuggers, one about sfu, one (or more) about every conceivable product that you can think of. Its like a whole ecosystem in here comparable to that outside.

 

Microsoft also still has a small company attitude inside in the sense that a lot of decisions and flexibility is left to the choice of those who wield, rather than be dictated randomly by a higher authority.

 

The peace that I mentioned at the start of this post maybe changing – my project is going to be part of Longhorn… what good fun.

Thursday, September 30, 2004 6:25:41 AM (Eastern Standard Time, UTC-05:00)  #    Comments [14]  | 
 Monday, August 30, 2004

Time, wither goest thou.

 

I got my first mail from the great Somasegar today.

http://www.microsoft.com/presspass/exec/somasegar/

 

I also got mail from Jim Allchin today

http://www.microsoft.com/presspass/exec/jim/

 

Neither of these were directly to me, they were to a group alias, but all the same – its one of those feelings to see mails in your inbox from these folk.

 

I also helped get my first piece of code checked into the great windows source tree. Mind blowing! If I break the windows build things could get hot here real quick :-) I also had part of my NEO today (New Employee Orientation).

 

I also have selected a house at Hyderabad. A reasonable two bedroom flat, about a kilometer from office. The weather in Hyd is rather moderate these days. Lots to say, no time :-(

 

Monday, August 30, 2004 10:23:22 AM (Eastern Standard Time, UTC-05:00)  #    Comments [10]  |