- Systems Developer – DOS (Mid 90’s)
- Application Level Developer – Windows (Late 90’s – Mid 2000’s)
- Graduation (Late 2000’s)
- Tutoring (Early 2010’s)
- Web Development & ETL Data Piplines – Linux (Mid 2010’s – Mid 2020’s)
- Cybersecurity (Mid 2020’s)
🐾 Systems Developer – DOS
- Learned sound fundamentals of programming including C, Assembly x86, BIOS, MS-DOS internals at Datamatics, Mumbai and Vijaymukhi’s Computer Institute (VMCI), Mumbai:
- Here is where I got introduced to documented and Undocumented DOS
- Here is where I also learned the art of writing and debugging low-level interrupt handlers, race conditions, re-entrant code and efficient coding
- Learned a lot reading Dr. Dobb’s Journal (aka DDJ) articles
- Some of the projects I developed:
- Reading and writing records from/to raw DBase III plus (.dbf) compatible file (Language/Tools: C)
- Mouse functions library written in Assembly with Basic language interfacing (Language/Tools: Assembly x86)
- Generic user interface menu library (Language/Tools: Assembly)
- A TSR (Terminate and Stay Resident) program to monitor and manage other 3rd-party TSRs and allow freeing up the memory at user’s will (Language/Tools: C, Assembly x86)
- A print spooler TSR to buffer up data so that front-end can get free for user interaction while slow-printing a character at a time in the background . This TSR provided complete status, progress-bar and user interactivity (Language/Tools: C, Assembly x86)
- Developed an operating system like layer to migrate a 32-bit ATM network stack originally written for Novell Netware to 16-bit DOS environment (Language/Tools: C, Assembly x86)
- Other hobby projects that I developed:
- Remote hard disk:
DOS block device driver on the host and a TSR on the remote system interacted over Novell IPX network to pass the disk sector read/write requests back and forth - Remote screen and keyboard sharing:
The host passed the entire video memory contents to the remote client over Novell IPX network evyer few seconds and in-return received key-strokes pressed at the client system and stuffed it’s own keyboard BIOS buffer - Tinkered with and tweaked disk’s Master Boot Record (MBR), Boot sector, FAT file system
- Remote hard disk:
🐾 Application Level Developer – Windows
- Learned Windows user-land internals by following the “Under the Hood” column by Matt Pietrek in Microsoft Systems Journal (MSJ)
- Delve a little bit into Windows network and mouse device driver work
- Developed Thinkvantage Access Connections Windows software that came pre-installed on IBM/Lenovo ThinkPads:
- My role was to mainly integrate varying wi-fi (802.11) API from Cisco, Intel, Atheros and various versions of them into an unified abstraction to be used by the front-end GUI
- This involved debugging and troubleshooting any conflicting requirements between different API stacks
🐾 Graduation
Went to RMIT university for a formal Computer Science studies and learned:
- Core computer science subjects, including
- Discrete mathematics
- Computing Theory
- Algorithms and analysis
- Web development subjects: PHP, Javascript, Database design, SQL
- Scripting languages: Python and Perl
🐾 Tutoring
Took up tutoring (teaching assistant) and lab assistant role at RMIT university after the graduation and taught following subjects:
- Data Communications
- C Programming
- Algorithms & Analysis
- Computer Organization
🐾 Web Development & ETL Data Piplines – Linux
Switched to Linux as my daily driver while at the university and got comfortable using it.
- Got opportunities to work on back-end and the front-end of web development
- Developed data ETL pipelines
- Along the way improved my Python , SQL, Javascript skills
- Learned some contemporary frameworks/libraries – Django, vue.js, bit of Node.js
- Learned containers – Docker
- Learned the art of writing unit tests
- Participated in peer code-reviews
🐾 Cybersecurity
- Completed Certificate IV in Cybersecurity from Melbourne Polytechnic (Dec 2024)
- Tinkering with homelabs and personal projects on Proxmox, Rasperry pi, OpenWRT
- Preparing for Practical Network Penetration Tester (PNPT) certification – TCM Security
- Expanding the knowledge on daily basis
Last updated: