Category Archives: Developer

MSDOS.NET

(Backdated Post: 25/08/2000)

Being April 1st, it is appropriate for this post.

In late 2000 when the Microsoft world was going crazy on announcement .NET, it was .NET everything everywhere. Within the Microsoft user groups at that time, the joke used to be, anyone trespassing any Microsoft building in Redmond will be renamed as *.NET. So I would be called Venkat.NET if I was spotted by a Microsoft Product manager.

In this background during Microsoft Tech Ed 2000 India, in the organizing team we had to manage a 15 minute empty slot in the schedule. We couldn’t leave it free. We needed all the attendees to be in one hall, so that we could get the main hall ready without hindrance. And that was slot I used unravel for the first and only time anywhere in the world – Microsoft DOS.NET, the DOS operating system being upgraded beyond anyone’s imagination.

optimizing for performance, availability with msdos.net

msdos.net - dir outputs XML, Batch files exposed as COM+ objects, complete multi-threading & object pooling capability in MSDOS

Doing this session was fun, everyone enjoyed, yes the audience too like the spoof and laughed at it. It’s a different story that many years after this session Microsoft did re-architect and reimagine the humble command line to integrate with .NET when they released PowerShell.

Innovspark record program

Few months back J.Venkatesan Prabhu who was a Microsoft MVP from 2008-2013 contacted me about a program (Innovspark) that his company is planning to host on 2nd March at Chinmaya Hertitage Auditorium, Chetpet and invited me as one of the dignitaries to inaugurate the event. The event was to get into record books on the maximum number of software programs written in a single day, this sounded interesting & I accepted the invitation.

Today when I reached the venue there were hundreds of students overflowing in the venue, chaos on getting everyone registered, everyone in the hall was passing around USB Thumb Drives with software to be installed in their laptops & so on.  I was seated on the first row and waited. I learned the gentleman next to me was the Referee from the record book company and he said he is from India Book of Records Tamil Nadu Branch, I asked is it Limca Book of Records, he said No this India Book of Records – a name I was hearing for the first time. The inaugural event was getting delayed &  I was getting jittery feeling whether I have landed myself in a not a well planned event.

In the next 30 minutes everything fell in place, the inauguration went smooth. The chief guest of the the event Mr.R.Paneer Selvam (CEO of Rohini Theatres) kept his speech brief and so did I, stepping away from the actual event of the day – writing hundreds of software programs. Due to another appointment I had after this I had to leave the venue after the inauguration though I was curious to see how hundreds of programs were written, tested and validated.

44

22

Update 4th April: India Book of Records have officially published the event in their site as the  “Most Software Programs Developed in a single Day”. 1,075 Participants in 116 groups developed software programs (116)  in a single day, starting at 10.30am and ending at 4.00pm, on March 2, 2014, at Chinmaya Heritage Centre, Tamil Nadu.

441

Events like this are welcome to encourage students in Software Programming & Coding.

Password Expiry setting in Windows 7

I know that you can configure the password expiry (how long before user is prompted to reset their password) for an user in Windows Server Active Directory for all Domain Users. But how about for a standalone Windows 7 alone machine. I have got “Windows 7” installed in my Home Desktop (iMac) through Parallels. I use Windows7  for writing this blog with Windows Live Writer and for doing my mails with Outlook 2013 (which I find much better than the Outlook 2010 for Mac OS). Windows OS kept prompting me to change password every other month and I got bored of it. Though it is a good security habit to change password, in this case, it is lessor of a concern for me than convenience.

I couldn’t find the option in the usual Control Panel – User Accounts Applet. I tried firing up the Local Users and Groups snap-in for MMC console through Start-Run (lusrmgr.msc) but since this for Windows 7 Home Premium I was told that feature is not available.

Local Users and Groups snap-in for MMC (lusrmgr.msc) not present in Windows 7 Home Premium

After some searching I found this Microsoft Answers article on the command I can use to control the Password Aging parameter. To do it, launch CMD.EXE in elevated mode (Run as Administrator) and run this command: net accounts /maxpwage:unlimited

Problem solved. Now I am not prompted anymore to change password in Windows 7 Home Premium.

Clipper Programming Language

I have written earlier about my first experience with FoxBase & Clipper here & it is no secret I love the Clipper platform.

During my Engineering college days (1992-96) I spent many days reading Rick Spence’s Clipper Programming Guide (2nd Edition, Version 5) and Clipper 5.2 Power Programming Guide. I knew every page & its contents in Rick Spence’s books than any of my engineering syllabus textbooks. In the Clipper Summer ‘87/88 (or earlier) versions I liked the in-built features  that made Data management straightforward and the simple syntax (like Display, Input controls) in the programming language. But as I wrote more complex applications, code-reuse became difficult and time taken to write increased, so implementing some Object Orientation was made necessary. That’s where Clipper 5.2 with its OOPS features (in-built and through 3rd party plug-ins) came as a blessing; and Rick Spence made the whole thing palatable and understandable. As a matter of fact, after I read Rick Spence’s Clipper 5.2, is when I read fully Bjarne Stroustrup’s book on C++.

So why I am writing all this today, a friend of mine called me today and said he had got an enquiry for a MNC asking him to do a week long course on Clipper. What Clipper, do people still use it?. It seems so. That triggered my short trip in memory lane and in the evening when I came home, I searched my attic and found my 3 books on Clipper (shown below).

Clipper Summer 88 & Clipper 5.2 Rick Spence

Shown above: Clipper Summer ‘88 Manual; Clipper Programming Guide 2nd Edition Version 5 by Rick Spence, Clipper 5.2 Power Programmer’s Guide by Rick Spence.

What are FaceBookUpdate & GoogleUpdate?

Compared to architecting & releasing web applications, Windows Apps (client apps in general) needs more care. The main reason being if you detect any bugs or want to do any enhancements you can’t simply do the changes in your server and be done with it. You need to get the new binary to each one of the client machines and overnight you can’t get everyone to the new version. Look at Microsoft – they are unable to get everyone rid of Windows XP or IE 6.0 & upgrade to new versions. It is tribal knowledge in the industry that users prefer to be notified and asked for consent before upgrading. So most of the apps for Windows ship with an thin installer executable that checks for new version of the app from their server and prompts to download and install the new bits – think of the frequently appearing and annoying Adobe Flash Player and Adobe Acrobat upgrade prompts.

In this background I considered Google Chrome process of silent auto-upgrade to be an interesting exception. It appears Google Chrome is not alone in this, FaceBook is doing the same. Today when I happened to launch Windows Task Scheduler applet I noticed two tasks which were set to execute FaceBookUpdate.Exe at a regular frequency. My first instance was “Oh my god” my PC has got malware and how is it possible?. After few minutes of research I figured it out to be the new Skype-FaceBook video chat client bits. What I found interesting here is the close similarity in the name of the app and parameters between the FaceBook & Google Chrome tasks. Look for yourself on the images below, you will see how both follow the same naming convention for the file name, parameters and folders exactly.

facebookupdate.exe - the Skype Video Chat Client

GoogleUpdate.exe - Chrome Browser Update