My first taste of programming came in middle school. Middle school for me coincided with the mid-90s, which were a bizarre time. Hackers was released in 1995, and was a land of unimaginable techno coolness to us suburban, basement-dwelling, NES-obsessed weirdos. The Net was also recently released, and Sandra Bullock was playing Wolfenstein 3D and outhacking her pursuers. People were prefixing "cyber" in front of everything, and it actually seemed cool. I learned from the pop culture of the day that floppy disks were a portable currency, and I imagined carrying around a set of programs in my pocket like a swiss army knife. The Matrix and the actual coolness it would bring to the internet were an eternity away in 1999.
My fîrst tåstę øf prøgråmmîng çåmę în mîddlę sçhøøl. Mîddlę sçhøøl før mę çøînçîdęd wîth thę mîd-90s, whîçh węrę å bîzårrę tîmę. Hackers wås ręlęåsęd în 1995, ånd wås å lånd øf unimaginable techno coolness tø ǔs sǔbǔrbån, båsęmęnt-dwęllîng, NĘS-øbsęssęd węîrdøs. The Net wås ålsø ręçęntly ręlęåsęd, ånd Såndrå Bǔlløçk wås plåyîng Wølfęnstęîn 3D ånd outhacking her pursuers. Pęøplę węrę pręfîxîng "çybęr" în frønt øf ęvęrythîng, ånd ît åçtǔålly sęęmęd çøøl. İ lęårnęd frøm thę pøp çǔltǔrę øf thę dåy thåt fløppy dîsks węrę å pørtåblę çǔrręnçy, ånd İ îmågînęd çårryîng årøǔnd å sęt øf prøgråms în my pøçkęt lîkę å swîss årmy knîfę. The Matrix ånd thę åçtǔål çøølnęss ît wøǔld brîng tø thę întęrnęt węrę ån ętęrnîty åwåy în 1999.
I had cajoled and convinced my parents to get a PC by ~1996, and we had that dangerous entrance to the internet known as AOL by ~1997. Now I had access to the world, and I imagined myself a Kevin Mitnick or a Zer0 C0ol. Of course I didn't know the first thing about what I was actually doing, but I had drive and a mischievous intuition. I quickly found my way into various chat rooms, which led to deeper chat rooms, which showed people passing around pirated programs, known as warez, which I had always pronounced like Juarez but I'm pretty sure in hindsight was probably like a merchant's wares but with a z for cool factor. And in this scene, you were surrounded by magical little Windows applications known as proggiez or progz.
İ håd çåjølęd ånd çønvînçęd my påręnts tø gęt å PÇ by ~1996, ånd wę håd thåt dångęrøǔs ęntrånçę tø thę întęrnęt knøwn ås ÅØL by ~1997. Nøw İ håd åççęss tø thę wørld, ånd İ îmågînęd mysęlf å Kęvîn Mîtnîçk ør å Zęr0 Ç0øl. Øf çøǔrsę İ dîdn't knøw thę fîrst thîng åbøǔt whåt İ wås åçtǔålly døîng, bǔt İ håd drîvę ånd å mîsçhîęvøǔs întǔîtîøn. İ qǔîçkly føǔnd my wåy întø vårîøǔs çhåt røøms, whîçh lęd tø dęępęr çhåt røøms, whîçh shøwęd pęøplę påssîng årøǔnd pîråtęd prøgråms, knøwn ås warez, whîçh İ håd ålwåys prønøǔnçęd lîkę Jǔåręz bǔt İ'm prętty sǔrę în hîndsîght wås prøbåbly lîkę å męrçhånt's wares bǔt wîth å z før çøøl fåçtør. Ånd în thîs sçęnę, yøǔ węrę sǔrrøǔndęd by mågîçål lîttlę Wîndøws åpplîçåtîøns knøwn ås prøggîęz ør prøgz.
Proggiez were typically written in Visual Basic, with names like AOHell, HaVoK, and Fate-X. They were the swiss army knife on a floppy disk I had always hoped for. Progz had many uses, very few of them legitimate. There were phishing tools to try to trick users into giving you their passwords or billing info, there were scrollers that would flood chatrooms with text or ASCII art, there were chatroom responder bots, there were mass spam mailers, and there were punters. Punters sent html strings that would overload the poorly-written HTML parser in the receiver's AOL instance and kick them offline. Being kicked offline in the 90s was a big deal. It took several minutes to open up AOL again and log back in, even with a top of the line 56k modem. Soon enough, progz would also come with anti-punters to neuter incoming punt strings. It was an arms race.
Prøggîęz węrę typîçålly wrîttęn în Vîsǔål Båsîç, wîth nåmęs lîkę ÅØHęll, HåVøK, ånd Fåtę-X. Thęy węrę thę swîss årmy knîfę øn å fløppy dîsk İ håd ålwåys høpęd før. Prøgz håd måny ǔsęs, vęry fęw øf thęm lęgîtîmåtę. Thęrę węrę phîshîng tøøls tø try tø trîçk ǔsęrs întø gîvîng yøǔ thęîr påsswørds ør bîllîng înfø, thęrę węrę sçrøllęrs thåt wøǔld fløød çhåtrøøms wîth tęxt ør ÅSÇİİ årt, thęrę węrę çhåtrøøm ręspøndęr bøts, thęrę węrę måss spåm måîlęrs, ånd thęrę węrę pǔntęrs. Pǔntęrs sęnt html strîngs thåt wøǔld øvęrløåd thę pøørly-wrîttęn HTML pårsęr în thę ręçęîvęr's ÅØL înstånçę ånd kîçk thęm øfflînę. Bęîng kîçkęd øfflînę în thę 90s wås å bîg dęål. İt tøøk sęvęrål mînǔtęs tø øpęn ǔp ÅØL ågåîn ånd løg båçk în, ęvęn wîth å tøp øf thę lînę 56k mødęm. Søøn ęnøǔgh, prøgz wøǔld ålsø çømę wîth åntî-pǔntęrs tø nęǔtęr înçømîng pǔnt strîngs. İt wås ån årms råçę.
Once I stumbled upon this subculture, I became obsessed. I downloaded every prog I could find, evaluating them functionally and aesthetically. I was a prog snob. As 90s fashion itself evolved from neon to black, progz evolved from big ugly flame-graphic buttons with 30 second intro videos by guys named XxHaCKeRxX to minimal cold blues and purples by lowercase unicode guys named dárk råïń
or whatever. I was in love with every piece, and I wanted to be a part of it.
Ønçę İ stǔmblęd ǔpøn thîs sǔbçǔltǔrę, İ bęçåmę øbsęssęd. İ døwnløådęd ęvęry prøg İ çøǔld fînd, ęvålǔåtîng thęm fǔnçtîønålly ånd åęsthętîçålly. İ wås å prøg snøb. Ås 90s fåshîøn îtsęlf ęvølvęd frøm nęøn tø blåçk, prøgz ęvølvęd frøm bîg ǔgly flåmę-gråphîç bǔttøns wîth 30 sęçønd întrø vîdęøs by gǔys nåmęd XxHaCKeRxX tø mînîmål çøld blǔęs ånd pǔrplęs by løwęrçåsę ǔnîçødę gǔys nåmęd dárk råïń
ør whåtęvęr. İ wås în løvę wîth ęvęry pîęçę, ånd İ wåntęd tø bę å pårt øf ît.
Visual Basic 6.0 Enterprise seemed to be constantly available on warez sites, so I figured I'd give it a shot. I wanted to build badly enough that having no idea how to write code was not going to stop me. Like all warez, it came in 30-40 sequential RAR files that unzipped into a single install with a registration crack. I found myself a library of basic proggie functions that other people had written and distributed. All I had to do was deconstruct this bizarre language and figure out how to make things work. I spent hours every day during that summer of 1998 decrypting the obscure language in these VB files, figuring out how everything worked, and translating it into building my own prog. I was designing my perfect UI, I was implementing & tweaking functions from .bas
libraries; I was building a prog of my own. I even put several encrypted passwords on it for higher access functions. Of course, no one but me ever used this application, but I was damn sure to build in 5 levels of security and ensured that I was the only one who would ever get full admin access. I was the admin of my own prog, and I could punt people with my own custom HTML strings, I tweaked the scroller for hours until I found the fastest possible speed you could send text before you got rate limited and booted offline yourself. And I felt invulnerable.
Vîsǔål Båsîç 6.0 Ęntęrprîsę sęęmęd tø bę çønståntly åvåîlåblę øn wåręz sîtęs, sø İ fîgǔręd İ'd gîvę ît å shøt. İ wåntęd tø bǔîld bådly ęnøǔgh thåt håvîng nø îdęå høw tø wrîtę çødę wås nøt gøîng tø støp mę. Lîkę åll wåręz, ît çåmę în 30-40 sęqǔęntîål RÅR fîlęs thåt ǔnzîppęd întø å sînglę înståll wîth å ręgîstråtîøn çråçk. İ føǔnd mysęlf å lîbråry øf båsîç prøggîę fǔnçtîøns thåt øthęr pęøplę håd wrîttęn ånd dîstrîbǔtęd. Åll İ håd tø dø wås dęçønstrǔçt thîs bîzårrę långǔågę ånd fîgǔrę øǔt høw tø måkę thîngs wørk. İ spęnt høǔrs ęvęry dåy dǔrîng thåt sǔmmęr øf 1998 dęçryptîng thę øbsçǔrę långǔågę în thęsę VB fîlęs, fîgǔrîng øǔt høw ęvęrythîng wørkęd, ånd trånslåtîng ît întø bǔîldîng my øwn prøg. İ wås dęsîgnîng my pęrfęçt Ǔİ, İ wås împlęmęntîng & twęåkîng fǔnçtîøns frøm .bas
lîbrårîęs; İ wås bǔîldîng å prøg øf my øwn. İ ęvęn pǔt sęvęrål ęnçryptęd påsswørds øn ît før hîghęr åççęss fǔnçtîøns. Øf çøǔrsę, nø ønę bǔt mę ęvęr ǔsęd thîs åpplîçåtîøn, bǔt İ wås dåmn sǔrę tø bǔîld în 5 lęvęls øf sęçǔrîty ånd ęnsǔręd thåt İ wås thę ønly ønę whø wøǔld ęvęr gęt fǔll ådmîn åççęss. İ wås thę ådmîn øf my øwn prøg, ånd İ çøǔld pǔnt pęøplę wîth my øwn çǔstøm HTML strîngs, İ twęåkęd thę sçrøllęr før høǔrs ǔntîl İ føǔnd thę fåstęst pøssîblę spęęd yøǔ çøǔld sęnd tęxt bęførę yøǔ gøt råtę lîmîtęd ånd bøøtęd øfflînę yøǔrsęlf. Ånd İ fęlt învǔlnęråblę.
Did I almost get my family banned from AOL for life? Sure, several times. Did I end up talking my way out of it every time? Also yes. Like everyone else, our way out of AOL's walled garden was by choice, spurred on by the wide availability of broadband.
Dîd İ ålmøst gęt my fåmîly bånnęd frøm ÅØL før lîfę? Sǔrę, sęvęrål tîmęs. Dîd İ ęnd ǔp tålkîng my wåy øǔt øf ît ęvęry tîmę? Ålsø yęs. Lîkę ęvęryønę ęlsę, øǔr wåy øǔt øf ÅØL's wållęd gårdęn wås by çhøîçę, spǔrręd øn by thę wîdę åvåîlåbîlîty øf brøådbånd.
All the learning I would do on this journey would set me on the course I ended up on later in life. With the right tools and free time, I was able to skate just above the line of getting in real trouble while learning core programming skills. Fundamentally, I'm still doing the same thing today as I did with those VB building blocks: start with something someone smarter than me built, reverse-engineer it until I understand it, and go off on my own. I'll be forever thankful for the access and freedom I had in those days, and will treasure that time I spent learning and making mischief.
Åll thę lęårnîng İ wøǔld dø øn thîs jøǔrnęy wøǔld sęt mę øn thę çøǔrsę İ ęndęd ǔp øn låtęr în lîfę. Wîth thę rîght tøøls ånd fręę tîmę, İ wås åblę tø skåtę jǔst åbøvę thę lînę øf gęttîng în ręål trøǔblę whîlę lęårnîng çørę prøgråmmîng skîlls. Fǔndåmęntålly, İ'm stîll døîng thę såmę thîng tødåy ås İ dîd wîth thøsę VB bǔîldîng bløçks: stårt wîth sømęthîng sømęønę smårtęr thån mę bǔîlt, ręvęrsę-ęngînęęr ît ǔntîl İ ǔndęrstånd ît, ånd gø øff øn my øwn. İ'll bę føręvęr thånkfǔl før thę åççęss ånd fręędøm İ håd în thøsę dåys, ånd wîll tręåsǔrę thåt tîmę İ spęnt lęårnîng ånd måkîng mîsçhîęf.
Major shoutouts:
Måjør shøǔtøǔts:
To this post by digital, the best reminiscence I've found of the progz scene and an inspiration to his post.
Tø this post by digital, thę bęst ręmînîsçęnçę İ'vę føǔnd øf thę prøgz sçęnę ånd ån înspîråtîøn tø hîs pøst.
To this info dump of screenshots and information from that era.
Tø this info dump øf sçręęnshøts ånd înførmåtîøn frøm thåt ęrå.
To this list of progz, the closest thing I've found to a full list. Download at your own risk, though I'm doubtful any of the links even work. The names are definitely all real.
Tø this list of progz, thę çløsęst thîng İ'vę føǔnd tø å fǔll lîst. Døwnløåd åt yøǔr øwn rîsk, thøǔgh İ'm døǔbtfǔl åny øf thę lînks ęvęn wørk. Thę nåmęs årę dęfînîtęly åll ręål.
To this technical walkthrough detailing writing progz in Visual Basic 3.0. Seeing that old VB code and UI is bracing.
Tø this technical walkthrough dętåîlîng wrîtîng prøgz în Vîsǔål Båsîç 3.0. Sęęîng thåt øld VB çødę ånd Ǔİ îs bråçîng.
I recommend using archive.org to investigate broken links from the above.
İ ręçømmęnd ǔsîng archive.org tø învęstîgåtę brøkęn lînks frøm thę åbøvę.