A alexander_kimaru / NBO, KE · v2.0
← All posts

I Grew Up on DOS Commands and a Dream. So Did the Web.

From a 386 in my mom's office to Apple Silicon on my desk — thirty years of computing, one city, one kid who never stopped pushing buttons.

Before the Internet, There Was DOS.

The internet came later. Before that, there was a command prompt.

I was about six years old when my mother first brought me to her office. This was 1995, Nairobi, and her employer was one of those forward-thinking companies that had started investing in computers early — proper machines, not glorified typewriters. She worked in a place that understood the future was arriving on a hard drive. Because of that, so did I.

The machine was a 386 or 486 — I was too young to know the difference, and honestly the distinction didn't matter much. What mattered was the screen, the keyboard, and that blinking C:\> prompt staring back at me like a dare. Windows 3.11 was on there, but it didn't just appear when you turned the machine on. You had to earn it. You booted into MS-DOS, sat at the prompt, and typed WIN — and only then would the GUI shuffle its way onto the screen, all Program Manager icons and grey bevelled edges, sitting on top of DOS like a reluctant passenger. It was a shell over a shell. A costume over a skeleton.

Windows 3.11 Program Manager desktop

That was my introduction to computers: learning that things had layers, and that power lived underneath the pretty parts.


The reason I kept coming back, if I'm honest, wasn't the productivity software. It was the games.

Prince of Persia was the one that got its hooks in deepest. Jordan Mechner's rotoscoped animations — the way the prince moved, stumbled, grabbed ledges, fell — were unlike anything else on screen in the mid-90s. It felt real in a way that nothing else did. Then there was Mortal Kombat, the DOS port, which required a specific combination of disk-swapping patience and a sound card you may or may not have had. Lotus — the racing game, not the spreadsheet — put you in cockpits of low-slung European cars on circuits that seemed impossibly smooth for what the hardware was doing. And Crazy Cars 3 — a DOS racing game with a top-down perspective and an absurdly satisfying sense of speed for what the hardware was pushing.

Windows 3.11 Program Manager desktop

None of this required an internet connection. None of it required anything except a working machine, a few floppy disks, and the willingness to type the right incantation at a DOS prompt to make it load.

That was the thing about DOS computing: it was intimate. You weren't clicking through menus. You were in direct conversation with the machine. You gave it instructions; it either obeyed or spat an error. There was no cushioning. No UX team had stood between you and the filesystem. If something broke, you learned why.


My Uncle's Office Changed Everything.

Windows 3.11 Program Manager desktop

The internet arrived in my life through a side door: my uncle's Compaq Presario.

He ran a small business, and his office had a dial-up connection — one of the early Africa Online accounts, I suspect, though I was too young to know or care about ISP names. What I knew was that in the corner of his desk sat a machine running Windows 3.11, attached to a modem, attached to a phone line, attached — impossibly — to the rest of the world.

The browser was Netscape Navigator. The logo was a ship's wheel. Pages loaded in segments, top to bottom, images resolving from blurry to sharp like a photograph developing in a darkroom. Every visit to his office became a negotiation: could I use the computer? Just for a bit? Fifteen minutes?

Windows 3.11 Program Manager desktop

I remember AOL from this era too — the aesthetic of it, the dial-up connection sounds, the feeling that you were logging into something, not just opening a browser. The early web was full of sites that would make a modern designer weep: tiling backgrounds, Comic Sans, visitor counters at the bottom of the page, MIDI files that auto-played the moment you landed. I loved all of it. The broken links. The "Under Construction" GIFs. The complete absence of any design coherence whatsoever. There was something authentic about a web built by individuals who had no idea what they were doing but did it anyway.

I miss those sites in a way that's hard to explain. They were terrible. They were also alive.


Windows 95 Was a Banger. Full Stop.

Then came Windows 95, and everything changed.

No more typing WIN at a prompt. No more MS-DOS Executive. The machine booted straight into a GUI — a taskbar, a Start button, windows that minimised with actual animations. It was a complete rethink of what using a computer could feel like, and to a kid who'd been manually loading a shell on top of DOS for years, it was borderline miraculous.

Windows 95 & 98

The Start menu alone felt like a revelation. Everything was there. Organised. Findable. The right-click context menu. The desktop. Plug and Play — in theory, at least; in practice, hardware compatibility was still its own special kind of adventure. But the intention was clear: this was a computer that wanted to be used by humans, not just engineers.

Windows 95 was the moment personal computing stopped feeling like a privilege and started feeling like a right. At least for those of us lucky enough to have access to it.


The Office Wars. WordPerfect Didn't Deserve to Lose.

Before Microsoft won the productivity war outright, there were actual competitors.

WordPerfect was a genuinely powerful word processor — a DOS application with its own logic, its own keyboard shortcuts, its own way of doing things that made perfect sense once you learned it. The reveal codes feature alone — the ability to see every formatting command embedded in a document — was something Word never properly replicated. Lotus 1-2-3 was the spreadsheet king before Excel existed, and Lotus's broader office suite gave Microsoft Office a real fight before eventually losing it. In the early-to-mid 90s, enterprise job listings commonly asked for "experience with Lotus 1-2-3 and WordPerfect" — not Excel, not Word. Microsoft wasn't the default yet.

Lotus and Word Perfect

By Office 97, Microsoft had largely won, but they couldn't resist celebrating in the most annoying possible way: Clippit. Officially named Clippit, universally known as Clippy — the animated paperclip that watched you type and offered to help whether you wanted it to or not. It looks like you're writing a letter. Yes, Clippy. I know. I'm the one writing it.

Lotus and Word Perfect

Clippit was officially killed in Office XP. There was much rejoicing.


Windows 98. My Mom's NT Server. Growing Up in Two Operating Systems.

Windows 98 was where I did most of my early browsing. By now Internet Explorer had won the first browser war by being bundled into the OS — Netscape was fading — and the web had graduated from purely personal pages into something that felt vaguely commercial and organised.

Windows 98 was also, famously, buggy. BSODs arrived without warning. The SE release patched things, but it was still a machine you saved work on compulsively, because you never quite trusted it to last.

Windows 98 Blue Screen of Death BSOD

The contrast was stark when I visited my mother's office and saw Windows NT in production. Her employer had moved to NT for their internal systems — LDAP, Active Directory, domain-joined machines. NT looked the same as 98 on the surface but behaved completely differently underneath. It didn't crash the same way. It respected permissions. It had the bones of a proper operating system, not a gaming shell bolted onto MS-DOS. I was young, but I registered the difference: there were computers you played on, and computers that ran things.

Windows 2000 arrived and felt like NT had finally grown up and put on a suit. Stable. Genuinely stable. For the first time, a Microsoft OS that didn't require you to save every ten minutes out of pure reflex.

Windows 2000


Tulip Computers. Compaq. And the Floppy That Bricked Everything.

The hardware of those years was a parade of beige rectangles.

I grew up with Tulip machines — a Dutch brand that had decent mid-market penetration in Kenya at the time — and then Compaq, which at its peak was building reliable, relatively affordable machines that made it into offices and eventually homes across the continent. Compaq had the Presario line for consumers and the professional line for enterprise, and both felt solidly built compared to some of the no-name clones that circulated the market.

My aunt had a Toshiba laptop — a rarity, and therefore a prestige object. I managed to brick it.

The method was simple: a floppy disk with a virus. This was how most infections propagated in the era of offline computing — not through phishing emails or malicious downloads, but through physical media passed between machines like a cold in a primary school. Insert disk, boot machine, observe disaster.

The antivirus situation at the time was essentially: McAfee was installed but useless, and Norton actually worked. McAfee's definitions were perpetually out of date because there was no auto-update over a reliable connection. The disc you installed from was already stale by the time you ran it. Norton, by contrast, was more aggressive and more current. It didn't save the Toshiba — that floppy had done its damage — but it saved other machines. The lesson was brutal and specific: in a pre-internet-connected world, your antivirus was only as good as the last time someone had physically brought you updated definitions.

Norton System Works


2001. Eleven Years Old. WAP Internet on a Nokia 3330.

The modem at home was one thing. The Nokia 3330 was something else entirely. I was eleven. The 3330 was the WAP-capable sibling of the iconic 3310 — identical to look at, but with CSD-based mobile internet tucked inside. You could browse actual web pages on it. Slowly. On a screen roughly the size of a postage stamp.

WAP pages were a stripped-down version of the web designed for the constraints of mobile networks — plain text, minimal images, no JavaScript. By today's standards they were barely anything. In 2001, to an eleven-year-old in Nairobi, they were astonishing. The internet was no longer tethered to the desk. It was in my pocket. It was everywhere.

It was also eye-wateringly expensive. CSD-based WAP was billed like a voice call — per minute, the clock running from the moment you connected. Somewhere around 30 KES a minute if memory serves, which means every few minutes of browsing those bare-bones pages cost roughly the same as a proper phone call. There was no data bundle, no flat rate, no monthly cap. Just the meter ticking while you waited for a page to load over a connection that made dial-up look generous.

You learned very quickly to know what you were looking for before you connected. Browsing aimlessly was a luxury the bill couldn't support.

I had no idea how any of it worked. I just kept pushing buttons until something appeared on that tiny screen — and then disconnected before it got any more expensive.


2002. A Modem of Our Own.

The home connection came when I was twelve. A US Robotics 56K — a big black slab of a device that cost a small fortune and announced every connection with a sound like a robot arguing with a fax machine. Theoretically 56Kbps. In practice, on a good Nairobi day, you'd pull 4–6KB/sec on a download once protocol overhead took its cut.

US Robotics 56K Modem

The ISPs of the day were Africa Online — one of Kenya's first commercial ISPs, founded in 1994 by three Kenyans who met at MIT and Harvard — alongside Swift Global, which started offering dedicated internet access in 1997, and Wananchi Online, founded in 1999 and now reborn as the ZUKU most Kenyans know today. Three companies trying to pipe the internet into a country where most people had never touched a computer.

That felt like fast. It genuinely felt like the future.


Windows XP Was Comfort. Windows 7 Was Peak.

Windows XP arrived and stayed. For years. It was the operating system that simply worked — stable in a way that 98 never quite managed, approachable in a way that NT never tried to be. The Luna interface, those rounded corners and that default wallpaper of green hills, became the visual language of computing for an entire generation. XP was the OS you trusted with your files, your photos, your early websites. It overstayed its welcome by about five years, but it earned every month.

US Robotics 56K Modem

And then came Windows 7, which remains the finest thing Microsoft ever shipped for the desktop.

The Aero Glass interface — translucent title bars, soft shadows, the way windows had actual depth — was beautiful in a way that no subsequent Windows release has matched. It was the OS that made using a computer feel like a pleasure rather than a utility. The taskbar redesign was inspired. The snap-to-window feature was years ahead of anything else. Windows 7 was the peak: capable, stable, and genuinely pretty.

Windows 7 Desktop featuting Aero UI

Microsoft has not returned to that level since. I've used Windows 11. The rounded corners are a pale imitation. If someone built a proper Windows 7 skin for Windows 11 that restored Aero Glass, I would install it without hesitation.


Macromedia MX. The Web Career Begins. Spaghetti PHP and Table Layouts.

Somewhere in the early 2000s, a copy of Macromedia Studio MX appeared in my life.

The MX suite — released in 2002 — was the professional web developer's toolkit of its era: Dreamweaver for building pages, Fireworks for designing and slicing graphics, and Flash for animations and interactive content. All three, unified under one interface language, priced together at what was a significant sum but made sense as a bundle.

US Robotics 56K Modem

Dreamweaver was where I started learning to build websites. HTML 4. Table-based layouts — the technique where you'd build invisible tables, nest them inside each other, and use cells as a grid system because CSS wasn't reliable enough yet to do the job. It was clunky by modern standards, but it worked, and Dreamweaver's WYSIWYG mode let you see the output as you built it, which was genuinely empowering when you were teaching yourself.

Flash was something I respected but never fully cracked. The timeline-based animation model, the ActionScript, the sheer number of things you had to understand simultaneously to do anything interesting — it was too much to absorb alone. I made things move. I never made anything good in Flash. I don't think I was alone in that.

Dreamweaver's PHP code generation was where the real damage happened. The tool would generate CRUD code — Create, Read, Update, Delete operations against a database — and it was genuinely useful for getting something working fast. The problem was how it generated that code: logic mixed with display, SQL embedded directly in HTML files, absolutely no separation of concerns. I built like that for longer than I'd like to admit, because I didn't know there was another way. The web worked. The pages loaded. The data saved.

I didn't know about MVC yet. I didn't know about OOP. I was writing spaghetti PHP inside HTML views and calling it a website, and it functioned, which felt like enough until it didn't.

The moment I learned about object-oriented programming and proper separation of concerns was the moment I understood why every feature I'd ever tried to add had felt like pulling a thread on a sweater. It wasn't bad luck. It was architecture. Or rather, the complete absence of it. Web development stuck anyway — not despite the mess, but maybe a little because of it. There's something that stays with you about having built something that worked when it had no real right to.


The Dream: A Personal Web Server.

Somewhere in those years I got the idea that I could run a server. Not just consume the internet — serve it. Put something up that anyone in the world could reach. Host my own page. Have my own corner of it.

The obstacles were immediate and relentless.

The IP changed constantly. Dial-up gave you a dynamic IP. Every time the connection dropped — which was often, because Kenyan phone lines in the early 2000s were not built for sustained modem sessions — you got a new one. Your server address from this morning was already dead.

Port 80 was blocked. The ISPs of the day weren't in the business of letting residential customers run web servers. Port 80 blocked. Port 443 blocked. You could receive the internet but you couldn't serve it back.

DDNS was the workaround that mostly didn't work. Dynamic DNS services promised to solve the changing IP problem — point a hostname at whatever IP you had today, update it automatically when it changed. In theory, elegant. In practice, the update lag, the flaky clients, and the underlying blocked ports made it a frustrating half-solution at best. I'd get something working on a Saturday afternoon, come back Sunday to find the IP had rotated and the DDNS record hadn't caught up.

Eventually, I gave up. The dream of a personal public web server died somewhere between a busy signal and a "connection reset by peer."


High School. COBOL. CCNA. The Foundations.

High school introduced me to COBOL — which, yes, is about as unusual a place to start as it sounds, but it taught me something important: that code could be verbose, explicit, and readable at the cost of being concise. COBOL's English-like syntax forced you to be deliberate. You couldn't be lazy about naming. You had to describe what you were doing, not just do it.

Then PHP — which I was already teaching myself through Dreamweaver, but school gave me structure. And in the holidays, CCNA. Cisco's networking curriculum, the way packets move through a network, subnetting, routing protocols, VLANs. The mechanics of how data actually gets from one machine to another.

That CCNA knowledge has been foundational in ways I couldn't have predicted at fifteen. Every time I've had to debug a network issue, design a system architecture, think about why something is slow or why a connection is timing out — it comes back. The mental model of the OSI layers, the way routing decisions are made, the difference between a switch and a router and when you'd use each — all of it. You don't think about it consciously, but it's there.


The Hackintosh Years. An MBP 2011. Silicon, Eventually.

For a long time, I wanted a Mac the way you want something you can't afford: at a low, constant intensity. Windows was fine. Windows was what I knew. But the Mac — the feel of it, the way things just fit together, the OS X interface in the Mountain Lion era especially — felt like a different relationship with hardware. Smoother. More considered.

So I built a Hackintosh

First on a Lenovo Z500 running OS X Mountain Lion — semi-reliable, which in Hackintosh terms is a success. Then a more stable build on a Dell OptiPlex running Mavericks, which behaved like a real Mac for long enough to validate the whole exercise. You spent weekends matching hardware to community-tested configurations, reading forum threads from people who'd already hit every wall you were about to hit. It was its own kind of engineering, and it scratched an itch that buying the thing outright couldn't have.

OX Mountain Lion

Then I got an actual MacBook Pro 2011. And Apple, being Apple, drew a hard line: when Catalina dropped, the 2011 MBP was off the supported list. No upgrade path. A perfectly capable machine, rendered obsolete by a decision made in Cupertino. That's still infuriating.

The Apple Silicon MBP changed everything. Not just the performance — though the performance is absurd — but what happened as the ecosystem expanded around it. The MacBook came first, then the iPhone, then the watch — each one adding a layer. Things I had previously configured manually, in separate apps, across separate ecosystems, just worked. Handoff. AirDrop. The way Messages synced without any thought. The way the watch unlocked the laptop. The integration isn't incidental. It's the product.

MBP Apple Silicon with Multiple Monitor Setup

For years, when I was a Windows user, Apple people seemed faintly incomprehensible. What were they paying for? The logo? The aesthetic? The carefully cultivated sense of superiority?

They were paying for this. Once you understand it, it's very hard to go back. Switching to Windows after Apple Silicon would feel like trading a Ferrari for a project car you have to maintain yourself.


The People Behind the Machine.

None of this was inevitable.

My mother worked in a place that had decided, early, that computers mattered. That decision gave me access I wouldn't otherwise have had. Her colleagues showed me things without being asked. My uncle let a seven-year-old sit at his desk and touch his computer when he could easily have said no. My aunt's bricked Toshiba laptop was, in hindsight, a tuition fee for a lesson I needed to learn.

These things compound. One early exposure leads to one concept leads to one skill leads to a career built on things you learned before you were old enough to understand why they would matter.

If it wasn't for my mom, her employer, her colleagues, my family — and something larger than all of that — I wouldn't be here writing this. I mean that plainly.

I'm a dad of two now. And I watch my kids approach screens the way I once approached that C:\> prompt — with curiosity, with no fear, with the instinct to just push buttons and see what happens. It's the same energy. It never changes.

What changes is whether there's someone in the room who lets them.

F1 drivers don't discover racing at eighteen. Footballers don't find their first ball at fourteen. The foundation is always earlier than anyone remembers, and it's always built by someone who said yes — who let a kid sit at their desk, touch their machine, make their mistakes. My mother did that. My uncle did that. The people around them made it possible.

If your child is obsessed with something — computers, cars, code, anything — take it seriously before they're old enough to ask you to. You won't know what you're investing in. That's exactly the point.


Did you grow up chasing the internet in the 90s? Drop a comment — always happy to compare notes.

Thinking of an App or Website?

A decade of shipping things meant to outlast the launch — mobile, web, and the integrations in between.

Let's talk →
— Related posts