My first desktop
I remember getting my very first desktop machine at the start of 8th grade. Before that, I had mostly used a UNIX with a UI (don’t remember which one) at my father’s office. The situation at school was slightly different at school - 2 3-year old computers in the computer lab were running Windows XP, and there was always a race to call dibs on those. Rest of the machines at school still ran Windows 98.
So, a kid getting a desktop machine with a dual core processor and Windows XP loaded on it was, in my humble opinion, a big achievement.
The early years of me getting a PC were marked with everyone in my area trying to get PCs for themselves. Most of the time, many of us would pool together and exchange CD’s of games, programs, music and later, movies as well, with a pinch of some MS Office document work. It was only after I had passed the board exams of 10th grade that I decided to get serious about programming after all.
First acquaintance with programming
I was quite a fan of playing NFS Most Wanted 2005 on my PC. And once every while, the game would minimize on my PC after playing too long, and I had to click ‘OK’ on a large number of spawning error message boxes, and after finally clicking on them all, I could resume my game.
The proper course to rectify this problem would have been to search the internet for that error message, follow the steps advised and cheer once the problem was gone. Instead, I searched for ways to click on error messages on Windows and found the AutoIt homepage.
And that’s how it all began.
The chosen path
I’m certain that it was my fascination with programming and laziness that drove me to pursue a career in computer science. And after 10 years, here I am. I wonder what I would’ve been if not for that? A dentist, perhaps…
The Development Story
Today I came across an old program I wrote in 2011 - I intended for it to customize (then, upcoming) Windows 8 installation media, inspired from Dino Nuhagic’s nLite (for Windows XP and below) and vLite (for Vista, 7). And AutoIt was gonna be my tool of choice.
So, I got down to work during the summer vacations, and I finally made a tool in a month (with a lot of features lacking, however) and tested it against Windows 7 installation media. The UI was completely inspired from nLite. And I had added some more tweaks I had learned from a community that specialized in tinkering with Windows installation media - https://msfn.org/
My purpose for developing the tool was merely for learning AutoIt and to see how far I could push myself. I didn’t follow any UX guidelines, nor did I know how to write maintainable clean code for that matter. And so, I coded the entire program in a 400kB file, bundled it with some image resources I had been using in the program and made an executable out of it. Once I confirmed it working with Windows 7, I was quite satisfied with my work and that was it. Summer vacations ended, the year passed, then another 2 years, and finally, once I started college, I got my laptop. I made a point of transferring all my important content from the desktop machine to my new Windows 8 laptop, but I totally forgot about this program, until I came across it today.
Testing the program
I’m wiser than I was 9-10 years ago. I have better working knowledge of computers and programming languages and years of coding have also improved my overall skills.
The entire world is on a lockdown owing to COVID-19, and I am slowly running out of things to do. And so, here I am, having spent the entire day finally testing my program against a Windows 8.1 Installation Media (it’s the only one I have, sorry ), I’m proud to report that most of the features work. Microsoft obviously changed a few bits of the underlying OS, but I tried building the installation media and booting to it, and everything just works.
Show me the damn thing
Well here you all go:
- Just because my code works, this doesn’t absolve it from the fact that it is in hindsight, very poorly written.
- I had made the logos and everything using MS Paint. The icon with the guy holding the globe was picked up from Google Image Search. Clearly, this stuff should’ve been more properly designed/licensed.
- UI improvements/refinements - Clearly, a lot of them can be done. Although I do admit I’ve lost touch with UI design (I never had it in the first place). I would probably have chosen Electron/Web (even though I hate it), or Python’s Tkinter for UI side of things if I had to work on this thing today. These are the only two things I can program a UI in at the moment. MacOS experience doesn’t count, obviously.
- I could’ve released the next cool Windows installation remastering tool in my era. Dino Nuhagic was my life-goals at that time. Who knew it was achievable? Although I think his vLite tool would’ve performed on-par or much better in some aspects compared to this program. After all, Microsoft hardly changed the format of the installation media post Windows 7. I think they still use quite a similar format for Windows 10 as well.
- So, I wrote a software to customize Windows 8, written before Windows 8 was actually released, that still works on Windows 8.1?
- I am, wait-for-it… LEGEN-DARY.
I am grateful that I crossed paths with Dino Nuhagic (nuhi), the AutoIt community, the ResHacker community and its author(s), and the people at MSFN, http://reboot.pro and https://ryanvm.net/. Thank you for placing me on the path that I’m on today, and for showing countless people that computers and programming are indeed, a truly beautiful art.