Nokia Lumia 630

Last April (2013) my wife purchased a Nokia Lumia 820 for Rs.24,500 as an upgrade from her earlier Windows Phone (Samsung Focus). She loves the phone, its simplicity and the good camera. Unfortunately she dropped it to the floor earlier this week, the glass display broke and phone becoming unusable. When I checked with Nokia care they quoted Rs.8000 to change the display. Considering the phone is 18 months old, I decided to get her a new phone instead of spending on repairing the old one.

Wife was particular she wanted only a Windows Phone, so my choices was limited to Nokia Lumia 925, 1520, 1320 (6 inch), 530 and 630. She didn’t like the 6 inches 1320 & 1520s, I didn’t like the 925 (considering it came last year) and 530 will be slow for her. The choice got limited to 630, I liked the specifications and the price of Rs.10,000 for it. The Nokia retailer offered to buy back the broken Lumia 820 for Rs.1500 which I was more than happy to trade in.

Comparing with Lumia 820 she had earlier, Lumia 630 was an upgrade (Quad core vs Dual Core, 1830mAh vs 1650mAh)  in many areas except the memory (512MB instead of 1GB in 820, 5MP camera vs 8MP in 820). The Phone was lighter too at 134g compared to 820′s weight of 160g. Wife liked the phone and I came happy for not spending Rs.40K for a Lumia 1520.

Coming home I was able to setup the new phone in less than a hour. I inserted the SIM, connected  to Wi-Fi, restored the backup from cloud (of the 820), entered the passwords for Outlook.com, Facebook, Whatsapp, MetroTube (YouTube app) and finally inserted the microSD card from the 820 which brought back all her photos, videos and music instantly.

Update: After few days of usage, wife says battery life is good, speaker quality and volume is great, touch is fluid. Overall, happy with the purchase!

Nokia Lumia 630 at Rs.10,000 (USD 165) without contract

Nokia Lumia 630 at Rs.10,000 (USD 165) without contract

 

Outlook phishing attack

Today I got the above email in my Hotmail email ID with title reading “Unusual sign-in activity”. I haven’t been to South Africa but I thought some hacker might have been trying from there and I need to change my password immediately. I was about to click on the link, when this struck me. The big blue button on bottom which read “Re-Active Account” is grammatically wrong (spelling mistake for Re-Activate?), but rest of the email looked exactly like the email that comes from Microsoft. On mouse-over to the click-here text which showed a tiny.cc URL as seen above, it became obvious this email is not from Microsoft and is a phishing attack.

A convincing looking email masquerading as from Outlook.com-phishing attack

A convincing looking email masquerading as from Outlook.com-phishing attack

I was curious to see where this attack wants to take me. I fired up a Ubuntu linux image that I keep in VirtualBox. Being a virtual image the entire OS instance I can throw away after I try this, that way my host OS will be safe.  As seen below, the attack page was to a non-Microsoft page which convincingly exact as the official Outlook.com sign in page.

The target page hosting the phishing attack

The target page hosting the phishing attack

Its easy to copy the official login page’s HTML and recreate a new page, but I am surprised on the bluntness of the attackers nowadays. I feel bad that computer scientists haven’t been doing enough to protect the common user from these dangers.

 

 

 

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