Bharath Ganesh

Software. Technology. Passion.

<October 2008>
SuMoTuWeThFrSa
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678


Navigation

Blogs of Influence

Some Zones

Subscriptions

News

Bharath Ganesh
Microsoft Student Champ

Final Year CS Engg. Student
Chennai, India

Currently working on
Project Vismaya

My Articles
.NET Intro-Issue 1
About Me

20 Yr Old from chennai, Read Blogs, Travel, Socialize, Play with Beta Products, Dream.....,C#.NET


bharath.ganesh@gmail.com

Creative Commons License
My Blog is licensed under a Creative Commons License
Technorati search


Adios Amigo

It's quite obvious from the title of this post, that I am leaving dotnetjunkies.

Reason 1: I now work for a company which makes J2EE App. Servers. I hardly get any time to code in .NET. I am quite sure you guys will kick me hard if I blog something about JAVA here. 

Reason 2: Comment Spam at Dotnetjunkies.

So I have moved jroller. My JRoller blog

http://jroller.com/page/bharath

See you guys..

Update your aggregators.

 

posted Wednesday, June 29, 2005 6:01 PM by bharath with 0 Comments

My New Personal Blog

I have my new personal Blog at http://blog.bharathganesh.com

 

 

posted Saturday, April 16, 2005 8:12 AM by bharath with 6 Comments

Eric Maino Writes

Eric Maino writes his Microsoft Interview Experiences through a series of Posts. See it here

http://weblogs.asp.net/emaino

posted Tuesday, March 15, 2005 9:03 PM by bharath with 4 Comments

Project Vismaya [Update]

Currently Iam totally into my project - Project Vismaya. Since Iam submitting this as my B.E. Final Year project I have to keep up with time. (I guess 1 more month to go..). Iam doing this as part of Microsoft India Student Project program.
Though I initially planned a lot regarding the exact phase and milestone schedule, I could'nt go by my plans. May be thats because there is no big team working here.  

What is Project Vismaya?

I am developing a Virtual Operating System for a Abstact Machine. For the time being Iam defining a 32-bit machine. Later versions shall support 64-bit.
I need a base OS for my new VOS to boot. The real computer is booted by the host OS( Windows/Linux). After that I shall make my abstract machine run over the real machine. It's a simulation. My Virtual OS (Vismaya) drives this abstract machine. Most of my code would be in C#.

This is the summary of what happens:

 

It would be a stack based machine.

-12 GPR’s.  (Each 32 bit)
-Only the full-registers may be addressed
-2 Bit Flag Registers ( ZF and SF)
-IP (Instruction Pointer)
-Stack Pointer (SP)

I am working out on the actual instructions. I am trying to minimize the number but still providing an exhaustive one.
  
An XML config file
Iam using a XML config file to specify the machine parameters for the VOS. So when you want to play with the OS you need not recompile the application. Instead just change the XML file and its done.
The keys to be included in the Config file would be Physical Memory, Process Memory, Stack Size, Page Size, Data Size etc.

Is this a Virtual Machine like the JVM/.NET CLR??

No. Ever since the evolution of this JVM thing, the concept of Virtual Machine has been greatly misunderstood. These are Not VM’s. They are Runtimes.
(
http://blogs.msdn.com/brada/archive/2005/01/12/351958.aspx)
Mine is not like JVM or the .NET CLR. But later I plan to write translators for some languages to convert them to my language (native language of my abstract machine) and run over my machine.
I would start off by writing a Python translator.

More Updates Soon. Feedbacks/Comments expected. To join the Project Vismaya forum pls join the group at:

http://groups-beta.google.com/group/ProjectVismaya 

posted Sunday, February 13, 2005 7:39 PM by bharath with 4 Comments

Fianlly the post has come...

At last Mark Jen has spoken out.. http://99zeros.blogspot.com/2005/02/official-story-straight-from-source.html

One thing to note is that even now Mark has'nt changed his blog title. It still says : ninetyninezeros- life @ google from the inside” :)

posted Friday, February 11, 2005 9:36 PM by bharath with 4 Comments

Valentine Date:)

This year I plan to rock Valentine's Day Eve. And Iam in the process of selecting a beautiful woman to date with. If you are a beautiful female from Chennai, India and looking out to enjoy the eve with me, then please mail me. [bharathganesh@gmail.com]

We shall Rock Valentine's Eve..... 

P.S. U are pretty safe when ur with me. Iam that smell-and-go kinda person. So DONT WORRY!!!!!!!

[Sorry for a highly Non-Technical Post]

posted Monday, February 07, 2005 8:40 PM by bharath with 5 Comments

Project Vismaya
We are currently involved in developing something like a Virtual OS for an Abstract Machine. It's called Project Vismaya. 
 
If you are willing to contribute please join us at :
http://groups-beta.google.com/group/ProjectVismaya 
(its better typing in those huge CC lists...)
 
If anyone of you have already tried out something wierd like this then please mail me. We need you.

posted Saturday, January 29, 2005 8:45 AM by bharath with 5 Comments

.NET Intro [What happens when you code in .NET]

Several of my college-mates ask me where exactly to start learning .NET. So I thought I would actually include some .NET tutorials in my blog. As promised earlier, Iam starting with my series for tutorial articles on .NET. I shall categorise them into various levels. Iam starting off with level-beginer. The first one can be found here.

Level: Beginer

So what is this .NET???

Let's take the definition from the creators themselves.

....NET is the Microsoft Web services strategy to connect information, people, systems, and devices through software. Integrated across the Microsoft platform, .NET technology provides the ability to quickly build, deploy, manage, and use connected, security-enhanced solutions with Web services. .NET-connected solutions enable businesses to integrate their systems more rapidly and in a more agile manner and help them realize the promise of information anytime, anywhere, on any device...

Understood??? Let me elaborate it.

People ask me "Is .NET a programming Language??", "Is .NET an Operating System?", "Is .NET a specification?" and so forth
The answer is NO.

.NET is a Software Development Platform to develop applications that span across multiple devices and multiple architectures.

Code execution in .NET is somewhat similar to the concept involved in Java Virtual Machine. I am using the word Java here because many of us would be familiar with this.
There are actually many many languages which support .NET. What does this mean?? Consider JVM.

What does JVM execute? Answer: The Class File.
What creates the Class file? Answer: The JAVA Compiler.
What is given as input to the JAVA compiler? Answer: A Java Program.   

Java  World         .NET

JVM:                 CLR (Common Language Runtime)
Class Code:        MSIL (Microsoft Intermediate Language)
JAVA Program:    ANY .NET supported Language

 

In .NET, you first write your code in your favorite .NET language. ( C#, VB.NET, J#, VC++.NET, APL, C, COBOL, lcc, Python, Perl..).

Your input code would be compiled into an intermediate architecture independent representation [a complete language in itself] called MSIL. (Microsoft Intermediate Language)

Naturally the next step would be to convert this MSIL code into the native machine code.

Some key differences between the two environments..

Source Programming Languages:

In JAVA environment the only input language available is Java.
In .NET you have many many languages supported. Infact you yourself can create a language, call it yourname.NET (remove the .NET if u don't like it) and write a compiler for it, which converts the code written in that language into the MSIL. You are free to do so. [There are some factors/standards/specifications to be considered]
Now since, one major advantage of this .NET is interoperability there has to be some standard to be followed by these languages. That's standard is defined in CLS-Common Language Specification.

Now talk about MSIL.

This too is very different from Class code in Java.
That is, when you see the Java class code can you understand anything??
I bet you cannot. It is just some junk code. But that's not the case in MSIL. MSIL is itself a language. You can code in MSIL. It has all the features that exist in any .NET supported language. Infact there are some really superb books on MSIL itself.. You can master .NET if you read those.

Since many of these languages get converted to MSIL, there would certainly exist some datatype conflict. To resolve this there is something called Common Type System. In fact that defines the datatypes available in MSIL. The Common Type System defines how types are declared, used, and managed in the runtime, and is also an important part of the runtime's support for cross-language integration. The Common Type System performs the following functions:

-Establishes a framework that enables cross-language integration, type safety, and high  performance code execution
-Provides an object-oriented model that supports the complete implementation of many programming languages
-Defines rules that languages must follow, which helps ensure that objects written in  different languages can interact with each other

The MSIL is independent of architecture.

Native Code Generation

Now this MSIL is converted into native code by the execution engine. These days people call this kind of Execution Engines as Virtual Machines. Actually it's not a Virtual Machine. Remember what's exactly a Virtual Machine? You would know if you have studied an OS course before the evolution of JVM (IBM's VM). To be simple the term Virtual Machine is used for a software/hardware emulation of the underlying machine.
Hence it is technically incorrect to call the Java Execution Engine (JVM) as a Virtual Machine. So I will call JVM an Execution Engine.
[Any Java Programmer will kick me if I say there is no Virtual Machine involved in Java Program Execution].

In .NET this Execution Engine is called CLR (Common Language Runtime).

Hence the job of CLR is to execute the MSIL. So the CLR has to be architecture/OS dependent.

Another question that I have come across is "How do I install .NET?"/ "Can you get me .NET CD?"
 
Technically there is no answer for this. There is nothing called .NET CD.
To develop applications in .NET, the .NET framework has to be installed first.

.NET Framework??: What does this contain?

Everything needed to develop and deploy a .NET application. It includes compliers for Microsoft Languages like VB, C#, etc.. It contains a large set of built-in Classes neatly organized into namespaces. It also contains the CLR.

So to write a program and execute it on a Windows Machine you just need the .NET framework. Version1.1 is the stable version currently available. It is FREE to download on Microsoft's Site. It is a 23 MB download. It can be installed on Windows 98 or higher Operating Systems.  

How to execute a program using .NET framework alone?

Type-in your HelloWorld program in your favorite editor.
Compile it in command line. Eg. If it's a C# program, the compiler to be used in csc.exe. So compile it as csc filename.cs . It compiles and you see the exe file generated. The Visual Basic compiler is vbc.exe . (Files vbc, csc, jsc etc are present in the .NET framework).
Now run the exe file and you get your output.
The .NET framework is installed in your OS directory.

23 MB??? My Maam said .NET it's a 5CD software???

hmmm.. Your maam is an idiot. To be specific she is talking of Microsoft Visual Studio package. Microsoft Visual Studio package was very well available even before this .NET came. But previously you compulsorily needed VS to develop applications in those languages. The VS had the compiler. Now it's not so. They give out the compilers for FREE.

The Visual Studio versions after Visual Studio 6 were called Visual Studio.NET.
Visual Studio.NET is very much needed for Visual Programming.

Some features of Visual Studio.NET Software:

Increased programming productivity, Easier to write code: drag and drop Web App and Services Development, Fully supports the .NET Framework, Simplified development, Multi-language support,Improved debugging, Unified IDE, Powerful design tools, Windows Forms, Web Forms, XML and component designers, Consistent set of tools across languages..

It also contains excellent debugging tools. It also has editors for VB, VC++, C#, J# etc and some plug-ins can be installed to support many others. It also has emulators for Windows based mobile devices. [This is the situation where the term Virtual Machine should be used. Windows CE.NET or Windows Pocket PC is emulated]

Visual Studio.NET 2003 is the most recent stable version. It consists of 2 CD's. The remaining 3 CD's your Maam is talking about are actually MSDN. It's a library with tones of tutorials, code, books, articles,...
And it COSTS.

So was this sufficient?? NO, NO, NO.
 
This tutorial article will be continued. I have not yet discussed about the real Power and real Need of .NET- Interoperability, Component based Development, Web Services, minimized software deployment and versioning conflicts, managed code, garbage Collection, ASP.NET, Globalization/Localization support….and the list goes on.

to be continued..

Bharath Ganesh
Microsoft Student Champ
Chennai, India
bharathganesh@gmail.com

Can also read from: http://dotnetjunkies.com/WebLog/bharath/articles/44112.aspx

posted Thursday, January 13, 2005 11:53 PM by bharath with 3 Comments

Bill Gates Interviewed

Read the new Bill gates interview??

Bill Gates talks to Gizmodo on Blogging, Windows Post-Longhorn and Possibility of Apple launching their own Office..XBOX...

Snippet

...I think blogging is super-important and we've got to do a lot more software...

...Well, there's no company that is heterogeneous as when it comes to writing different software for different hardware form factors. From the SPOT watch, to the phone, to the set-top box, to the car - we write software for everything. So we are the least uni-focused company there is. Our focus is software. Anywhere software can add value we'll do that....

Find it here.

Part 1:
http://www.gizmodo.com/gadgets/gadgets/gmoney-and-me-bill-gates-interview-029198.php

Part 2:

http://www.gizmodo.com/gadgets//gates-interview-part-two-windows-postlonghorn-and-apples-office-suite-029272.php

[Update]

Part 3: On Xbox 2 and Xbox Live can be fount at:
http://www.gizmodo.com/gadgets/home-entertainment/xbox/gates-interview-part-three-xbox-2-and-xbox-live-029382.php

posted Thursday, January 13, 2005 10:19 AM by bharath with 3 Comments

Peoplesoft -> Microsoft [Oracle???]

Microsoft is offering some cool PeopleSoft transitions. Existing PeopleSoft customers are directed to Microsoft's Great Plains and Axapta.  

PeopleSoft Enterprise -> Great Plains
PeopleSoft EnterpriseOne -> MBS Axapta
PeopleSoft World -> MBS Axapta

There would also be transitions towards Solomon and Navision.

Microsoft is expected to give discounts on software, cut down licence fee, reducing the cost of support programs for an year etc... for these PeopleSoft Customers.

All this time, Microsoft has been a fence sitter in the ERP market. However, currently among the three major database vendors, IBM, Oracle and Microsoft, only one has an ERP application. IBM seems at the moment not focused on the ERP products sector. This may bring in Microsoft in the market. They have already started the ball rolling by acquiring Great Plains Software in the United States and Navision in Europe. And no prizes for guessing whose pie Microsoft would eat first … Oracle’s of course!

 

posted Tuesday, January 11, 2005 8:59 PM by bharath with 4 Comments

Joelish Advice....

Joel has written a wonderful article titled “Advice for Computer Science College Students“. Its really good and a must read for every CS major student.

A snippet

...If you enjoy programming computers, count your blessings: you are in a very fortunate minority of people who can make a great living doing work they enjoy. Most people aren't so lucky. The very idea that you can "love your job" is a modern concept....

I would even recommend you to take a huge printout, laminate it and hang it in ur room. Most of his view are 100% correct. He talks about need for need for learning C, microeconomics, writing skills, need for a good GPA.....

But even here Sriram has something different to say regarding Joel advising for a good GPA.. In that matter I completely go with Sriram's viewpoint. Certainly, In a country like India, GPA SUCKS.... In most cases, it is inversely proportional to the students real skills. There is no continous assesment here.

A geeky classmate of mine flunked in Digital Systems Course and Software Engineering Course. He got some less than 10 marks out of 100 in both. But this  guy has secured 40th rank (99.8 %ile) in the Graduate Aptitude Test in Enginnering (GATE) examination conducted by the premier IITs (for PG studies). !!!! And this guy was rejected by a very very famous Indian IT service company "INFOSYS".  

This geeky friend of mine had actually represented India at a Software Design Contest held at Philippines and got 2nd prize at International level...All that at the age of 16...  His case speaks very well about the Indian Education System and Recruitment by Indian IT Companies.....

In India you can get high marks if and only if you dont follow the *good* books for the courses. Almost for every course in every university, local author books are published. And you can get 80% above only if you study from those local author books. I swear none of my university toppers would have heard of Don Knuth or Rob Pike or even Brian Kernighan !!!!

The only *skills* needed to get into the Indian IT majors is an Engineering degree and some amount of luck (or fate!!) but the only way to survive in this industry even after the current outsourcing boom ends would be to go by some of Sriram's suggestions - one being coding, coding and coding....

Overall both articles are really worth reading.    

Joel's Article: http://www.joelonsoftware.com/articles/CollegeAdvice.html

Sriram's : http://www.dotnetjunkies.com/WebLog/sriram/archive/2005/01/03/41183.aspx

 

[P.S. : This is my 50th post. I have always greatly enjoyed writing every entry here. My experiences in this blogosphere were really exciting. Please send ur comments about my blog]

posted Wednesday, January 05, 2005 10:59 PM by bharath with 4 Comments

Trick to increase the size of your Hotmail account...

Still struggling with 2MB???? Here's a solution...

Login to your account
Go to Option
Click My Profile
Change Country to United States
Wait for browser to Load US Settings
Change state to Florida and Zip Code to 33332
Click Update
Click Continue

Go to Language and Make sure it is English. Paste this link in Same Browser :
http://by17fd.bay17.hotmail.msn.com/cgi-bin/AccountClose

Wait until the screen says "Your Hotmail account is closed and ready to be deleted."
Click Close Account.

Go Back to Login and relogin to ur Account
Just reactivate ur account.
No email will be deleted from ur account and now ur account size limit increase to 25MB.

posted Wednesday, January 05, 2005 9:19 PM by bharath with 4 Comments

Coming Soon....

I plan to write some .NET tutorial on this blog. Ever since I started blogging, I have had this idea of including some learning stuff here. But it never got really started. 

This being a .NET learning season for a lot of people at my university (as most of them are planning to do their final year projects in .NET), I think this is the best time for venturing into some .NET tutorials.    

I plan to include some basics of .NET framework, the CLR, Garbage Collection, basics of C#,...and some cool links.

go System.Tutorial.StartLearning(.NET);

posted Monday, January 03, 2005 6:43 AM by bharath with 6 Comments

Kerala Blog Roll- Melam Collection

I have been added to and linked by Kerala Blog Melam. It is a list of some blogs maintained by Malayalis (or those who have an apparent significant connection to Kerala).

If you are a malayali blogger get urself added at http://www.cs.princeton.edu/~mp/malayalam/blogs/

posted Sunday, January 02, 2005 3:16 PM by bharath with 5 Comments

The problem with Google Desktop Search

This is probably the only problem I experience with GDS. Here goes my problem.

Say I have installed GDS on my Windows 2000.The one-time indexer indexes my files.Now after some time I boot my machine thro some other OS and delete one of the GDS indexed file. After several days when I perform some search, Google Desktop Search returns the file(the GDS indexed file which doesnt exeist anymore). I click on it to find that the document has been deleted several days back. Isn't this a big issue ??

To solve this problem, currently what I do is uninstall GDS every 10-15 days and install it once again, so that it reindexes all the files on my hard disk. This process is too cumbersome.

Google Desktop Search should have had an option to remove the current index, and reindex all the files on your computer say every 'x' number of days.[with an option to select 'x'].

Cant Google do that?

posted Wednesday, December 08, 2004 7:42 PM by bharath with 5 Comments

Today I went to attend VB.NET World Tour Session

Today I went to attend the Visual Basic World Tour Session held here in Chennai (In India) . Alan Griver and Steven Lees were there here as part of the VB.NET Team.

Alan is the Group Manager for the Visual Studio Data group. Steven currently works as Group Program Manager for Visual Basic.

There was a huge crowd here. The queue for registration was so long that it went even outside the hotel premises. At one point people had to join the queue on the road outside the hotel. In fact Chennai has India's largest .NET user group- The Chennai .NET User Group. My city also has the largest Student .NET user Group-www.cnugstudent.net. The Student User Group of which Iam a member recently saw the 1000'th member. (it started just an year ago).
So not much surprise that we had developers queuing up for the event.
A dozen of guys were standing and listening as the entire hall was so crowded and we did'nt have space to put any more chairs!! Allen would soon post the photos taken in his blog.
    

posted Saturday, December 04, 2004 10:00 PM by bharath with 5 Comments

Google Translation Rocks!!!

How far do you trust Google Translation Service?? Answer my question after seeing this: 

=================