Program for WinRT batch

Download program from here

Posted in Information | Tagged , | Comments Off on Program for WinRT batch

COM Automation Code

Download code from here

Posted in Information | Tagged , , , | Comments Off on COM Automation Code

Unix System Programs

Assignment by Bhagyashree Pandit (UNIX Dec 2013 batch)

Q : Why did you do this programs?
Bhagyashree : As UNIX was in the syllabus of my last semester, Theory as well as University practical. So, sir (Dr Vijay Gokhale) told in class to refer Advanced Programming in the UNIX Environment – By W. Richard Stevens (now referred as book), as it gives the practical idea of “The Design of the UNIX Operating System by Maurice J. Bach”.
So when I start reading this book, first I solved the practical assignments with the help of this book, after that sir told me to do programs given in this book, so I started solving the same and I finished the last chapter of the book last month only.

Q : How it helped you to understand UNIX operating system ?
Bhagyashree : Well, it’s worth in many ways. First, if you know UNIX, you can understand many other operating systems since UNIX seems to be as the base (or Mother ) of most operating systems (for eg: OSX ) and secondly, many servers runs on UNIX. Also, it is fun knowing stuff most people never heard of. It can never hurt to learn as much as your interest is peaked, since I am still a student.

Most importantly you realize ‘why’ we are doing the things inside the operating system as the way we are doing. While reading operating system algorithms in Bach, it always remains back of the mind that we have to provide ‘such and such’ system call to the application programmer using which application programmer is going to write his application.

And if application programmer is to get that built in behaviour via system call then operating system has to implement it. To implement that behaviour, all this is going on. That’s how the logical chain proceeds. That means as an application programmer, I just call a fork() to create a new process. While learning allocreg, attachreg etc. I keep that in mind.

Programs are uploaded here

Posted in Information | Tagged , , , | Comments Off on Unix System Programs

Lets change with time

[ For My Present/Past/Future Students Only ]

Hello Students,
Straight from my shoulders, I am going to bang on the target directly.

Here is that Bang :

I am planning to change the course structure of our June-to-December curriculum to add the newest advancement in Microsoft Windows Development, that is — WinRT. This is to include new style of Desktop apps, called “Metro/Store Apps” along with their painless porting to Microsoft Windows Tablets, Surfaces and Mobiles.

June 2014 to December 2014; Monday/Tuesday/Wednesday; 8.30 PM to 10.30 PM

Anandashram ( Next to NMV School, Bajirao Road, Near ABC Chowk, Pune ).


  • Win32 :
    • Event Driven Architecture ( Hello Windows )
    • DLL
    • Using needed Win32 Command Line Developer Tools
  • COM :
    • Basics,
    • DLL ClassFactory Server/Client,
    • Containment ( Philosophy only ),
    • Aggregation Server/Client ( if possible ),
    • DLL Automation Server/Client,
    • Using needed COM related Command Line Developer Tools
  • WinRT :
    • Basics ( Hello WinRT ), Under The Hood,
    • C++11 & C++/CX ( As Needed ),
    • XAML Syntax ( Whenever Needed Only ),
    • Asynchronous Programming,
    • WinRT Component,
    • Using Windows Runtime Library
    • Interoperability
    • Porting to Windows Phone 8
    • Using needed WinRT Command Line Developer Tools
  • IDE :
    • Microsoft Visual Studio 2012/2013 on Windows 8.x

Rs. 10,000/- ( Rupees Ten Thousand Only )


It has been the tradition of the class since it’s inception that class fee is decided with the consent of the students. This is for the first time, I am declaring the panel of those students with their opinions Consolidated Replies about fees, who participated in the discussion process. After going through the student’s opinions, I chose to go for less than the average.

Some may find above announcement ‘well enough’. But for those who want to know “Why”,may continue from here ___



Why I want to stop teaching .net framework architecture ?

I have been teaching Win32, COM and .NET Framework, for this particular period of June-to-December, either in full-length mode ( 6 months each ) or in partial mode ( 2 + 3 + 1 = 6 months, all-in-one ), since the year 2002, which is a considerably long duration.

As any doctor has to go to the root of the disease to treat a patient, same applies to any other professions and therefore, for computer developers too.

I have always felt very sorry for our “most Indian IT-developer mentality” of choosing the EASY than choosing the RIGHT. They only give a very infamous argument, the so called “The Deadline”, to hide their incompetence. Currently very few have just heard about Win32 and many even don’t know ( or they do not want to know ) about COM and say that Win32 and COM are outdated. Are they really?

I have only one line to say about Win32 ( and that is enough ) : Win32 is the “only” doorway to enter the Windows OS. Thats it. Period.

COM is “the technology” which shoulders the burden of ‘being the key underlying and essential technology’ for the existence other mighty technologies/softwares such as :-

  • – All DirectX Technologies
  • – All the MS Office Applications
  • – Media Player
  • – Movie Maker
  • – IIS, Internet Explorer
  • – Windows Explorer, Windows Shell Extensions
  • – MTS, Speech, Telephony, Messaging, Audio/Video Streaming
  • – and many many more ( many are yet unknown to me )

.Net Lovers/Developers/labours, please hold your breath : CLR is itself written in Win32 and COM ( Don Box ).

In short Win32 and COM are so basic ( and hence many say it is so advanced ) that they are must for every aspiring Windows Developer.

This fact compelled me to study “the basics” and therefore obviously I followed the long way.

In Object Oriented Principles, every abstraction is made for “rapid development” but not for the “core development”.In other words, if you know the “core development”, then and then only you can go for the “rapid development”. Much in the same manner as any IDE is made for those who can manage the things without the IDE from the “command line”, but now want to go rapidly to save the time using IDE.

Today how many of us know each and every command that gets executed when we press any button in an IDE? We just don’t know. In my quite long and painful teaching experience, very few working individuals knew that cl.exe is the C/CPP compiler for Visual C++ IDE. That is why I first started learning and then teaching Win32 and COM.

I teach Win32, because, in my experience no other development philosophy can teach event mechanism, message loop, event handlers and callback mechanism, as elegantly as Win32,not even Cocoa, Java and .Net. Rather they say “message Loop is there but you don’t need to know it”. Actually speaking, the message loop is the Heart of any Window-based application ( Charles Petzold/Jeff Prosise ). How could any genuine developers live without knowing it?It is as absurd as imagining “a doctor who does not know anything about Heart” and as you know, first of all, I am a Doctor.

[ NOTE : In reality, learning above concepts is possible using XWindows/Xlib in Unix/Linux.But it is far easier and intuitive to learn them in Win32. Many will agree with me. ]

I teach COM, because, first, I love it; second, that was the technology I used in my first real-world project (API/SAPI/TAPI /DirectX ) and third, after facing complexity of COM ( as everybody says COM is difficult ), facing other complexities is NOTHING. My past COM students might recall the days of Aggregation /Automation /Marshalling.

The reason I was teaching .Net framework architecture ( without syntax ) was that the CLR itself is written Win32 and COM foundations ( Don Box ). Learning .Net is to apply the philosophy of ‘binary contract’ given by COM. Though I like philosophy of .Net framework,I personally never liked somebody to collect my garbage if I still have my hands and feet working well. So although I love “CLR Via C#” by Richter and “Advanced .Net Debugging” by Mario very much, I don’t like managed world as my area of development. It may be due to my inherent nature to live in ‘unsafe real world’ rather than in ‘verifiably type-safe matrix’.

Why am I switching myself to teach WinRT?
As per my reading, .Net is geared mainly towards WEB and not for the domains where “speed does matter” like System programming, fast/fluid/immersive/responsive UI, Graphics or DirectX and many more.

Therefore, there had been a prolonged demand for the Native Development Environment which has now been fulfilled by the Microsoft’s mobile technologies, better known as ‘WinRT’. And Microsoft once again has put its faith in its legendary, immortal, showstopper methodology i.e. ‘COM’ to build ‘WinRT’.

To quote straight from the horse’s mouth, ‘Everything old, comes back as gold’.

Surprisingly almost every article/video/book about WinRT, repeatedly convince their audience, that it is NATIVE and it is COM. Microsoft needed to shout “native, native and native” so loudly because of failure of .Net based WPF ( Reference : MSDN Channel 9 videos ). They also mention it very promptly that COM for WinRT is easier than legacy COM, though conceptually both are similar.

Finally, for many days I wanted to teach some technology which has many real-world applications of COM and yet it is easy to deliver to all sorts of students ( Teaching DirectX to everyone is difficult ) who are ready to embrace it with the breadth of Win32 and the depth of COM.

Oh Sorry, I forgot to mention that an “able” WinRT programmer, single handedly and independently, can deploy his/her Metro/Store Apps on Windows Store and can earn a lot of money by working from home.AFTER ALL, AT THE END OF THE DAY, EVERYTHING COMES TO MONEY !!!

Posted in Information | Tagged , , | Comments Off on Lets change with time

Invitation by Wen-mei Hwu

Invitation to Gokhale sir by Dr. Wen-mei Hwu to assist coursera cuda heterogeneous/GPU parallel computing.

Wen-mei W. Hwu is the Walter J. (“Jerry”) Sanders III-Advanced Micro Devices Endowed Chair in Electrical and Computer Engineering in the Coordinated Science Laboratory of the University of Illinois at Urbana-Champaign. Dr. Hwu received his Ph.D. degree in Computer Science from the University of California, Berkeley, 1987.
From 1997 to 1999, Prof. Hwu served as chairman of the Computer Engineering Program at the University of Illinois. In 2007 he introduced a new engineering course in massively parallel processing, which he co-taught with David Kirk, Chief Scientist of NVIDIA. In 2008, he was named co-director of one of two Universal Parallel Computing Research Centers sponsored by Microsoft and Intel.

Invitation by Wen-mei Hwu

Invitation by Wen-mei Hwu

Posted in Information | Comments Off on Invitation by Wen-mei Hwu

Achievement : The Adobe Certified Expert

Hello Students ,
After Apple Final Cut Master Pro and Parallel Programming (Coursera) certification, recently I (Dr. Vijay D. Gokhale) Successfully completed certification of “Adobe Certified Expert for Premiere Pro CS6“.
I am so excited even after 11 certifications, since it was tremendously difficult. Yes, even much much more difficult than all Apple certification. Apple never sent such a mail that you can see in this attachment, appreciating the certified person. Apple’s mails were all of official format. As usual, I am more willing to share this to all of students.



Dr. Vijay D. Gokhale

Posted in Information | Comments Off on Achievement : The Adobe Certified Expert

गुरु दक्षिणा (Guru-Dakshina)

Guru-Dakshina to Sir. Hard copies of all the 4 volumes of “The Art of Computer Programming” signed by Dr. Donald Knuth himself.

A Guru-Dakshina on behalf of all the students who have found a light in his Gurukul from Nachiket Kulkarni, Aniket Gawade, Rohit Magdum, Yogeshwar Shukla.


Posted in Information | Tagged , | Comments Off on गुरु दक्षिणा (Guru-Dakshina)

Code for LSP lectures

Download LSP code from  here

Posted in Information | Comments Off on Code for LSP lectures

COM Programs

Download code from here

Aggregation flow

Posted in Information | Tagged , , , | Comments Off on COM Programs