Virtual Box error

After getting a new PC, installing all apps I needed, I finally came to installing Oracle’s Virtual Box and restored my backup containing all virtual images (VMDK). When I tried to run a Windows 7 image, I was greeted by an error from VirtualBox saying “81954AF5-4D2F-31EB-A142-B7AF187A1C41″. Also checking the properties for the Guest OS, the processor settings were grayed.

Error relaunching Virtual VM process:5

VirtualBox: Error relaunching Virtual VM process:5

VirtualBox: Guest OS Processor settings disabled

VirtualBox: Guest OS Processor settings disabled

After good amount of trials & searching I did the following which fixed the error and I was able to run the images.

  1. Enabled virtualization support in BIOS, this was the reason for the processor settings to be not available in Virtual Box, as can be expected
  2. Uninstalled the latest version of Virtual Box, my host OS was Windows 8.1 Update 1 with all updates till date. Installed the earlier version 4.2.26 (released 2014-07-15)
  3. Deleted the Windows 7 guest OS configuration in VirtualBox, recreated it and this time mounted the Virtual Hard disk as IDE drive instead of SATA as it gets configured by default

 

 

Teaching my son to write software

The other day my 11 year old son asked me to teach him on how to write apps. I was thinking on what programming language I can start him with.

I didn’t want to start him with Mobile Apps as I feel that will curtail his possibilities . This meant Android Java, Objective C & Apple Swift won’t cut it. Being an ardent Microsoft language engineer I never liked Java, but that discussion is for an other day.

My friends know well about my “affair” with Visual Basic. Going with VB6 (there is a charm to this acronym’s sound) will mean he will be learning more on GUI/Drag ‘N’ Drop rather than programming and language fundamentals. Also the GUI guidelines of VB6 are rooted in Windows 95 days which are out dated in today’s iOS7/Metro/Material design world.

Next option was Visual Studio 2013 Express with VB.NET or C#.NET languages. Either of this would mean learning about objects and OOPS concepts at first class itself. I felt he will find it difficult to digest the vast surface of .NET Framework, without understanding which even Console.WriteLine(“Hello World!”); will appear to be magic for him. If he remembers software as magic (sorry Steve Jobs) he will not be curious enough to work his way through the entire process of how a program executes.

Speaking to one of my mentors (an expert teacher & coach on programming) I added Python to the list. For last few weeks I have been learning Python too as my side project but I am not at a stage where I will be able to teach my son. So reluctantly I gave up Python as the choice. I wish to teach my son Python after he is done with Basic.

After much deliberations I settled on Basic Language which is celebrating its 50th year at Dartmouth College where it was invented in 1964. Teaching my young son BASIC language in 2014 will be a fitting tribute that I can offer to this great language. Thinking of GW-BASIC brings in a nostalgic feeling for me, I started learning programming when I was about 13 (8th Standard) with GW Basic/Basica.

Having selected Basic I went looking around for MS-DOS and GW Basic, there are articles on how to get and install this combination even in Windows 8. If you want QBasic which included a  compiler and a textual based IDE for Microsoft Basic, it got shipped with every version of a Microsoft Operating System from DOS 5.0 till Windows 95 (you can get it from an old Windows 95 CD). I was not comfortable with either of this (running GW Basic or QBasic) in Windows 8 as it won’t give my son a chance to write true “Windows” programs or access modern necessities in later stages, as well as the archaic 8.3 file names he will not understand. I wanted a BASIC language in a modern avatar.

Looking around I found following three options. I just went with Free Basic, you can choose any of them (all 3 are good options).

1) Free Basic is a free open source compiler that’s fully compatible with Microsoft QBasic language. In fact almost all programs written for Quick Basic will compile with Free Basic. I found an IDE to go with it called FBIDE. Combination of FBIDE and Free Basic was awesome, it provided the simplicity of BASIC language along with ability to compile and run natively in  modern Operating Systems including Windows, Linux in both 32 and 64 bit as well as in DOS (I suppose that means MS DOS, DR DOS and FreeDOS).

2)  QB64 is a self-hosting BASIC compiler for Microsoft Windows, Linux and Mac OS X, designed to be compatible with Microsoft QBasic and QuickBASIC. QB64 implements most QBasic statements, and can run many QBasic programs, including Microsoft’s QBasic Gorillas and Nibbles games. QB64 also contains an IDE resembling the QBASIC IDE.

3) Small Basic from Microsoft, this is a commendable effort by Microsoft especially aimed for students. The site even includes complete curriculum to teach Small Basic. This is based on .NET Framework so has the same OOPS issues, but I guess they way its been presented here can be managed.

I came across Real Basic (now Xojo) which is a BASIC inspired environment allowing you to write commercial grade apps for Mac OS. Since its a business grade and paid environment I didn’t give it a try.

Before settling on “Basic” I seriously considered Pascal, Turbo Pascal was my favourite language in College, when we programmed using it on our lab’s Novell Netware lab. I consider losing Turbo Pascal (and its Delphi avatar) is a big loss to software programming field in the last two decades and I still feel sad for it. In mid 90s I worked with a friend to develop a complete student course material in Pascal for a local college. I still have the materials and accompanying projector transparency sheets, I remember the long hours I spent typing them in AmiPro word processor. AmiPro was one of the best in its heyday and light years ahead of MS Word on those days, I am surprised AmiPro even has a Facebook fan page.

Coming back to Pascal, I found a Free Open Source compiler called “Free Pascal” along with IDE ( Lazarus IDE) to go along with it.  I will be trying it out in the next few weeks, it might turn out to be a good introduction to OOPS as FreePascal supports objects.

Look below the first program in Free Basic that I thought my son

FreeBasic

 

iron python programming with visual studio 2013

Learning Python

I have been reading about Python (programming language) for last few years and wanted to learn it. But over the years in my work I have become more of the Dilbert’s Pointy Haired Manager and haven’t done any actual coding for many years. So the idea to learn a language and start typing, doing real work looked daunting. As experts say, we humans are animals of habit and getting out of your comfort zone is difficult.

I said to myself let me make the first step on this, even though I was not sure whether I will pursue it further. Python.org website has all the necessary learning materials, guides, manuals and tools (all for free) to learn and program in Python.

There is a .NET Framework based implementation of Python language called IronPython which is popular with Microsoft technology developers. Iron Python compiles Python language code to an executable that runs on top of .NET Framework and Runtime. Programs written in IronPython can use both Python libraries and .NET language libraries. Microsoft through CodePlex community has released Python Tools for Visual Studio, which integrates IronPython seamlessly in Visual Studio IDE. Using PyTools Visual Studio turns into a full fledged Python IDE.

New Python Project from Visual Studio 2013

New Python Project from Visual Studio 2013

PyTools is free, so are Visual Studio Express editions, making it convenient for anyone interested to start with Python & VS. I have in my PC, Visual Studio Ultimate edition in which I installed PyTools. The installation was smooth and I got options to create a Python project in the familiar Visual Studio “New Project” wizard, which I did.

iron python programming with visual studio 2013

iron python programming with visual studio 2013

Excited on seeing the output, in my typical style I went ahead and purchased following 3 books to further learn Python:

  1. Python in Easy Steps by Mike Mcgrath (the book appears simplistic but is worth reading as the first book on Python) – Rs.209
  2. Programming Python 4th Edition by Mark Lutz (this is a big fat book of over 1650 pages, has everything about Python) – Rs.939
  3. Think Python by Allen Downey – Rs.428

Let us see if the books gather dust or I read them and learn Python!