Monday, August 27, 2012

Jack of all trades, Master of [some]


My family got a shock when I first expressed my desire to buy a personal computer. They had been through this about five years back in 1994 when I asked for a video game console on my birthday but this was much bigger. A good branded PC use to cost anywhere between Rs. 50000 to Rs. 70000 at that time in the year 1999. I could have gone for an assembled one but being brand conscious I shortlisted the HP Pavilion 4450. I believe that brand consciousness is not about putting your finger on the costliest thing in the market, it about paying for quality and the effort put in by the company in their RnD activities and for maintaining the quality. I stick to good brands even though some people strongly disagree with me on this.

HP Pavilion 4450 Mario 8 bit
This great PC had a Celeron running at 366 MHz with 48 MB of RAM (yes its MB). Hard Disk was 4.3 GB and it came with Windows 98. Though now even my cellphone runs faster than this machine, it was a good configuration back in 1999. The Pentium II version was even more costlier.

Like any other Indian parents, mine too were a little skeptical about buying an expensive PC for me. And my job was to explain them what benefits it can bring for me and my brother. My brother wasn't fond of computers at all so there was no point asking him for help. He was happy with whatever exposure he got in school. After weeks of discussion, finally my dad asked me one day "You want a PC or a scooter?". I loved LML Select II scooter not just for the looks but the overall build quality. I wasn't a bike guy. My father was a die hard fan of Bajaj scooters (he still is) so we had a green Bajaj Super which I disliked. Even a Lambrette looked better than a Bajaj Super. So that was a tough question to answer, a choice between LML Select II and HP Pavilion PC. It made me gave thought to what I do and what I need or want. I had no girlfriends and the possibility of having one was bleak and roaming around the city alone didn't sound like a good idea to me. The other thing was that I use to travel to UPTEC everyday by bus just to spend a couple of hours in front of a computer. By having a computer at home, I could save this time and the bus travel which I hated. I hated it because these bus guys would never completely stop the bus to let passengers out and one has to literally jump out of the moving bus. As a do-it-the-right-way person, I never liked it and it was out of my control. Even if I waited or asked him to stop the bus completely, he would skip this one and stop at the next stop which had more people waiting to board. Finally I decided to get a PC. My father wasn't that happy with my decision as I couldn't explain what I'll do with it. All he had in mind about PC is that people can play games on it and Rs. 65000 for a video game did not sound like a good idea to him.

I got my first PC on 21st June 1999. It was a day of rejoicing which quickly turned sour after a major electricity breakdown in my colony. It was such a major breakdown that there was no electricity for almost four days. I remember watching movies with friends during this period to avoid the frustration of not being able to operate my new PC.

The first thing that I wanted to do was to format the Hard Drive and partition it the way I want. Being an HP PC, it was loaded with all sort of programs that I'll hardly use ever. I spent the next few days looking at each and every setting and file that computer had, installing whatever Free or Demo applications I can find on Digit CD, watching movies and listening to MP3 songs. I did not want to clutter the formatted PC with demo applications so I decided to try them all before cleaning it. The MP3 movement had started and it was everywhere. MP3 Rippers, MP3 To EXE converters, MP3 Tag Editors were popular apps and I tried them all. Trying out different applications gave me a lot of information about user interfaces and filled my mind with ideas.

My first completed application in Visual Basic was a calculator. Nothing special in it, just that it displayed colourful digits and the calculation steps can be saved in a text file. It also had a big logo on the right saying "INDIAN" in a fancy way, I did it using Ulead's PhotoImpact. Ulead was later bought by Corel (remember Corel Draw) and all its products are now on Corel's site. Paint Shop Pro was also a very popular image editing software. It sat between the bare-bone Microsoft Paint and the advance Adobe PhotoShop. All these were available as shareware on Digit CD. I don't have the calculator executable available with me, nor do I have the screenshot which I really miss. As I wrote in my earlier post, I use to update this calculator frequently and gave it to my friends for testing. This application taught me the basic of Visual Basic and Packaging.

Then I made a data Encryptor (see images below). The one thing I was very fond of was making splash and about screens because it always had my name and other details. The application only allowed text to be encrypted which can either be entered directly into the RichTextBox or can be loaded from a file. To encrypt the text, user needs to specify a key up to 40 characters. The same key would decrypt the text.

Encryptor 2001Encryptor 2001 - Encrypting Text

Encryptor 2001 Help FileEncryptor 2001 Help File Contents

If you encrypt the text "This is a test" with the key "123456", it would give you "Abhimanyu Sirohi - abhimanyusirohi@yahoo.com - 2001Ngas im X o]pn*+1+4.“/'++.270/(". Ya, that long string was the file signature. I packaged this application complete with a ReadMe and a Help file. The help file contents seems funny now. It was generated using the HTML Help Generator that came with Visual Studio and generated .HLP and .CNT files. .HLP files are not supported anymore and if you have Windows 7/Vista you'll need to download the WinHlp32 program to view these HLP files. A few weeks later I also packaged it as an ActiveX control that can be embedded in user applications.

As I dived deep into the Visual Basic world, I craved for advanced controls which were not available in the Visual Basic toolbox. VBAccelerator.com was an excellent site for all the advanced controls complete with their source code. The best part was that it was totally FREE. It provided all the nicely written and beautiful looking ListViews, Grids and ExplorerBars. The site has been updated and it now supports both VB and .NET.

The next I wanted to do was to create my own website. Hacking and cracking was quite popular those days and sites providing serials, keys and key generators (with free p@rn  of-course) were all over the Internet. It was very easy to find serials and key generators for any software you like. I always wondered how these smart hackers\crackers override the limitations in a software. How is it possible to make changes to an executable. I started reading about it and found SoftICE. SoftICE was a kernel level debugging tool but because of its capabilities it was used by crackers to break application limitations. Digit CD was full of shareware applications with either a 30-day trial period or a nag screen that pops up every now and then while you are using it. I browsed it and found my first target, WinZip. Let me tell you that it was totally for educational purpose only and not to use or distribute the cracked version. The idea behind cracking WinZip was to bring up the WinZip registration dialog, enter and key and put a break-point in SoftICE for the GetDlgItemText API. The API gets called when we press OK to get the text entered in the registration key textbox. Then we step into the code looking for a place in assembly language where WinZip processes the entered code and decides whether its valid or invalid. That's where we need to trick it into believing that the entered code is valid. WinZip was cracked in a day by following the instructions on a hacker site.

Playing Half-Life was a regular affair between all these cracking and development activities. Everything was excellent about this game. The story, scientists, head crabs, Gordon Freeman and his crowbar. I found it on the Digit CD and became a hardcore fan. Sarvjeet was also a big fan of this game which became very popular. I still play it on my Xbox 360. The other one I use to play at that time was Virtua Cop. A First-Person-Shooter, it was fast but only had 3 stages. 


Hard work goes both in making a software and cracking it. Back then there were no IT laws in India and I did not have much idea about the legal aspects of cracking and distributing software so I decided to make my first website loaded with my small applications along with hacking and cracking stuff. The first one I hosted on Fortunecity which provided 100MB of space for personal websites. The downside was the big ad banner that got attached to every page in your site. Then I switched to Geosities (now closed), a Yahoo service. It provided 15MB of web space and a small ad banner. I use to update my site frequently and in three years I uploaded three different websites. I stopped updating when I got a BANNED notice from Yahoo for the hacks and cracks stuff that I had published.




All of these websites had a common profile section which I filled with anything and everything related to me. As the Java fever caught me, I got myself a big fat Java 2.0 book. I started working on Java because it was part of my 'A' Level course. I wrote a small desktop application in Java but it wasn't fun because there was no good IDE available. Being a Visual Basic developer, I had the privilege of using Microsoft's Visual Form Editor and I could not find a similar product targeting the Java platform. It was boring and frustrating to write down the initialization statements for each and every control on Form (which Visual Studio .NET hides inside the InitializeComponent method). Despite of all these things, I really liked writing Java Applets for fun. Below are some of the applets I wrote - KissMe, Digital Clock and Radar. Try clicking on my picture below (No it won't send me the email address of person who clicked and kissed me). The Radar applet makes a lot of annoying sound, you might have to lower down your system's volume.

   

(You'll need to allow Java to run in order to see the above applets)

In the next part, I plan to write about my experiences during my college days, about the people I met and the projects I developed. I'll also write about the project I am particularly proud of: The MS-DOS Explorer.

As always, all third-party images used here are for illustration purpose only.

No comments:

We are Robots

I've always been fascinated by UFOs ( Unidentified Flying Objects ) and stories related to these alien objects. The first story that I ...