VS2010 beta2 has come with F#. Not that I was not interested in Functional Programming before. I’ve had a go at Erlang nearly 6 months ago and must say that I loved it. But the prospect of Functional Programming with .NET CLR (or rather DLR) definitely gives F# a special place.

More over, the most familiar IDE of Visual Studio is simply wonderful. I must admit, I’ve not yet started doing my katas on F#, partly because the functional programming concepts need to be ingrained before moving ploughing ahead. So, watched a couple of interesting videos tonight.

First, on Channel9 tagged “Lecture Series”, “Functional Programming” that can be found here:


The second was with my favourite teacher Venkat Subramaniam in it, with my favourite host Carl Franklin, on my favourite DotNet TV show -> DNRtv. It can be found here:


Got to say I enjoyed it despite the brilliant London weather!

Some more resources:

Well, it should not to be mentioned under this blogspace. Nevertheless, for the fun sake of it, I started to learn computer programming (now that it's been nearly 8 years since I wrote my first proper computer program using C ). A friend of mine introduced me to a book he was having as a gift to his dad (who is starting to program). This book is titled 'Learn to Program' and it should be sufficient to say that it belongs to the 'Pragmatic Series' from the Pragmatic Programmers. The book is amazingly interactive. I laughed and smiled while learning to program using this book. The author has done a commendable job in writing this book in such an lucid manner. And what can I tell about Ruby? From One-Click Download and Installation upto using the SciTE editor, everything was simple and neat. Not a single problem. The language is also very very light in appearance and does a good job. I am loving it every day. Looks like after a long time, the need for learning a language for fun has really brought some fruit. Ruby is fun. No doubt! I don't have current plans to use it for my projects. But, I may consider it to create website using the Ruby On Rails MVC Web Framework.

Oh...it is a awesome feeling to go back to school to study. I am now enjoying what I had been waiting for nearly 1 year. I am devoting my full time to books and that too on .NET books which makes me feel good. But, it is not easy to go back to full time study after working in the industry. The contrast is in the case of university, we tend to be very consious about what we are learning. In the industry the learning process is overall and not in depth. So, learning during working is remembered more than the learning at university. I could realize this during my first week of my classes in The University of Hull where I am in the .NET MSc in Distributed Systems Development course. I came to know about this course through a blog post which i am not managing to trace back. And now, I am just doing the kind of stuff I've wanting to do in the past. Some cool low level compiler stuff upto using xml web services. I have realized that tackling the university learning like the learning while working has lot more advantages. So, I spend a lot of time in the lab and learn the concepts using the text books. The two indespensible books that I carry with me include the famous jeffrey richter's “Applied Microsoft .NET Framework Programming” and Simon Robinson's “Advanced .NET Programming”. The books I am supposed to read include This way of learning is quite different from how I used to learn in my B.E course back in Bangalore. It is just recognizing the fact that learning the way I used to learn in the college does no good in work and I should not go back to that again just because I am now in formal education. And all this fits into the system of education here in UK. Here, more importance is given to learning the theory by practice which is the way I am comfortable. So currently cruising my way developing the solution for a problem (given as an assessment) using the Test Driven Development (NUnit 2.2)... I've had a head start in Test Driven Approach for developing applications in my previous workplace.

“How to train the non-techies on .NET?“

“What should you start with and where to stop?”

These were just a couple of challenges I had to face this week at the training program organized at my workplace for the freshmen who joined our team a couple of weeks back.

The challenge becomes more interesting when the group consists of few computer science graduates and few non-computer science graduates.

There needs to be a balance in the amount of information departed. More technical terms, and the ideas will bounce off the non-techie group. Using more general terms to explain any stuff becomes more trivial for techies.

We'll the agenda was to instill the basics of .NET and a proper foundation so that the later sessions (C#, ASP.NET, ADO.NET) have no difficulty.

Keeping that in mind, I decided to use the same presentation I had used at the
CorporateConnexion @ Christ College. On review, found that it was loaded with technical stuff and may bounce off even the techie freshmen.

So, that presentation now had to be trimmed.

First, I decided to instill the idea that:

.NET was not any single software
.NET has been mainly been developed to create Enterprise Applications

To get this idea instilled, used an anology of a House Construction and Enterprise Application Construction.

This made it possible to understand “Where exactly .NET fits into the Software Industry?”

The second half was to just clear the jargons surrounding .NET

Just displayed the various components of .NET that will be used to create an enterprise application.

The various types of applications that can be created (Web Application, Desktop Application)

The various role played by Asp.NET, Ado.NET, Web Forms, WinForms

The presentation can be found here

On 19th June 2004, gave a talk at the Christ College, Bangalore on the occasion of Corporate Connexion. The topic I chose to talk was “.NET-An Overview”.

I had never expected such an event to happen at Christ College. Always wanted to be part of this beautiful campus as a student. Great college with great people around.

Initially, did not know what to talk on. Had no idea about how much the academia is updated with .NET. So, decided to present a very basic talk. The intension was to instill the basics. Clarify all the jargons surrounding .NET technology. Also to give a clear picture on how the various components of .NET fit into the development infrastructure.

Found a paper in ASP.NET starter kit precisely doing that stuff. So, prepared a ppt on the basis of that paper.

I knew that there is no point just going on telling about .NET without involving J2EE. So, wherever possible, gave the parallel. Later found that the audience were comfortable with J2EE because they have it as part of their curriculum. This method indeed work out very well with most of the questions revolved around comparing J2EE and .NET

Some of the questions asked were:

  • What are the job prospects for .NET over J2EE
  • What is UIPAB
  • What is a Web Service
  • What is the compilation and execution procedure of a CSharp program
  • Since, Fortran and other 3rd party languages are essentially non-object oriented, are their .NET counter parts object oriented
  • What is IL
  • What is JIT compilation
  • What is MVC
  • What is Struts Framework
  • What is DataSet and how is it used
Some of the information I wanted to share and did not (due to various reasons):

  • Managed Code vs UnManaged Code
  • PInvoke
  • Open Source Tools for .NET development (SharpDevelop, Web Matrix, Mono, NUnit, Maverick.NET, CruiseControl.NET, NAnt etc...)
  • CTS

In general, the talk was good and was good feeling to talk to students. I've infact learnt most of .NET by virtue of teaching others about it.

The funniest part was the students addressing me as "Sir". Not that I do not know the intentions. So, did not hesistate to accept the addressing. I think they were more comfortable with that way of addressing rather than using my name.

The presentation is available for download here