Category Archives: Old School

Days become Weeks, Weeks become Months

It’s April. I’m now 34. I swear it was just yesterday I was eating lunch in the Commons at UMBC. Now I’m neck deep in adult stuff like figuring out my taxes and changing poopy diapers. People talk about how having 2 kids is more than twice as hard as 1 kid, but I think it’s just that the new kid takes up all the rest of the time that you did have, so you don’t really get time to rest.

I’ve finally decided to do something meaningful with I purchased it 8 years ago and have mostly neglected it. I previously had it setup as a “Portal for Patrick Gillespies”, but that was kind of a lame idea.

The other day I realized it would probably be a good place to show off my photography. Every photography youtube channel I watch says you need a portfolio to show off your best work. I have the domain, why not setup a portfolio? Therefore, I’ve recently re-launched the site as Patrick Gillespie Photography.

I wrote the site using AngularJS, Angular Material, and jmpress.js. I want to polish up the code a bit, but when I’m done I’ll put it up on github. This is my first time creating a portfolio, so I’m kind of just having fun with it. I’ll probably continue to add stuff to the site as time goes on.

AOLers Reconnecting

There’s a reasonably active Facebook group on the topic of old school AOL development that someone created a while back. If you were a member of that community it’s worth checking out.

Steve Case Confirms Zuckerberg as Former AOL Hacker

vader-faderA year ago I wrote about Facebook founder Mark Zuckerberg’s possible AOL hacker roots. A 1999 angelfire website appearing to be his was uncovered, and it contained two AOL progs by “Mark Zuckerberg” – the Vader Fader and the Zuck Fader. The evidence that the Facebook founder had created progs in his youth was pretty compelling, and now AOL’s former CEO Steve Case has further verified this claim in his recent AMA (Ask Me Anything) by stating the following to someone who was apologying for their role in the AOL hacking scene:

Yikes! Well, I’m glad you got this off your chest! 馃檪 The hacking of AOL was a real challenge for us. As AOL grew in prominence, it became a big target. Of course, some of the hackers have gone on to do more productive things. It sounds like that is the case with you, and it also was the case with Mark Zuckerberg! Went I first met him 6 or 7 years ago he said he learned how to program by hacking AIM! But, thankfully, rather than focusing on bring AOL down, he shifted to build Facebook up!

This probably means the Zuck had a collection of progs, knew about the various AOL *.bas files, and knew about AOL ASCII Art. That’s kind of cool when you think about it. I imagine he’s the most famous former AOL hacker.

Thanks to Kevin M. for alerting me to Steve Case’s post.

Was Mark Zuckerberg an AOL add-on developer?


Facebook founder Mark Zuckerberg’s first website was recently found to still be online at Angelfire, an early free web hosting site. The Internet Archive confirms the site existed in its current form back in 1999, and the page’s source code is noted to be authored by “Mark Zuckerberg”. In addition, the author states they’re 15 (the age Mark was in 1999), and that they live outside of New York City (where Mark lived when he was 15). Motherboard provides further evidence, showing that the primary AOL account for the email listed on the site is a name commonly used by Mark Zuckerberg’s father.

The site screams 1999 web design, and is a very cool piece of internet archaeology. It should also be noted that it’s actually a pretty decent effort for the time for a 15 year old (you only have to see the About section of this blog to see my effort at 16). However, the most interesting aspect of the site is “The Vader Fader”, an AOL add-on application that Zuck was heavily promoting on the site. Did this mean he was apart of the AOL add-on community? Did he use AOL progs? Did he develop in Visual Basic?


I downloaded The Vader Fader, and it is for AOL, and it was indeed written in Visual Basic. I tried firing it up, but got a message box saying I needed to be “online” and then the window on the left popped up. Ugh, I just want to see what this app looks like, I have to have AOL open? So I hunted down a version of AOL 4.0, installed it, and then tried running the app again. This time I got a runtime 6 error – this was most likely caused by Zuck using Integers to store window handles instead of Longs. After Windows 98, window handles started being Longs instead of Integers.

Being persistent, I decided to download Windows Virtual PC and load up Windows 98. After burning AOL 4.0, The Vader Fader, my API Spy, and a hand full of VB dependences to CDs and then loading them up on the OS, I fired up The Vader Fader. This time it didn’t crash, but it still told me I needed to be online. Crap… how was I supposed to do that? I tried signing on, to see if by some fluke AOL was still active and letting random people sign in, but it didn’t work. It then occurred to me – how did progs back in the day determine if someone was signed on? I couldn’t believe I remembered this, but the way it worked was the app would find the main AOL window, and then look for a child window that had a caption that started with “Welcome, “.

I used my API Spy to change the caption of the existing AOL sub-windows to “Welcome, PAT or JK”, and then tried launching The Vader Fader again. This time it worked! Well, sort of. Instead of a message popping up, the caption of the main AOL window changed to “The Vader Fader”, and then nothing happened. I poked around, and the app was running in the background, but there was no main window and it didn’t appear to have done anything else. My best guess is the app worked by augmenting AOL chat rooms and IMs with fading options (why else would it change the main AOL window’s caption?). If that’s the case, there really wouldn’t be much to see, or really any way to see it – given that AOL 4.0 chatrooms and IMs are long defunct.

I was a little sad, but glad I’d at least gotten the app up and running. I also ended up digging through the app’s machine code a little for any other clues on how it was created, but didn’t really find anything interesting (other than the 10 color choices). Since the app used the same online detection mechanism as most other apps at the time, I wonder if Zuck used a common bas file like dos32.bas or genocide.bas – that’d be pretty cool if he did. It’s also kind of neat that the main app he was pushing was a fader, since that was the first app I released on this site. Anyway, I’ve spent way too much time on this. The site is a cool piece of internet archaeology and definitely worth poking around a bit if you have a few extra moments.

Cracking MaGuS’s Fate Zero Encryption

I鈥檓 getting ready to upgrade my computer, and while going through some old files I stumbled across Fate Zero, the last version released of infamous Fate-X application. The tool was popular way back in the late 90鈥檚 since it added a lot extra functionality to AOL – some of which AOL was ok with, and some of which it wasn鈥檛 very fond of. It was created by two mysterious individuals known as MaGuS and FunGii. After Da Chronic (known for AOHell), MaGuS was probably the most widely known AOL hacker. Even though Fate-X 2.5 and 3.0 had a much bigger impact, Fate Zero was the most extensive in regards to features.

To maintain its status at the top of the heap, Fate Zero had to protect its external data, and this meant encrypting it so that other developers couldn’t snatch it up for their own progs. The prog scene of that time, however, is now long dead. Seeing these files today, I got curious. MaGuS was only 16 when he wrote Fate Zero. When I was 16, I knew almost nothing about encryption. It wasn’t until I was in college that I got a good exposure to the field of cryptography. Even though MaGuS seemed like a pretty smart guy, at that point in time he probably also didn’t know much about encryption. This made me think that the files might be easy to crack. It seemed like a fun way to spend a few hours, so I decided to see if I could decode them.

Interestingly (or not interestingly, depending on how you feel about it), the biggest source of external data for Fate Zero was AOL ASCII Art (ASCII Art done in 10pt Arial). This was typically used for scrolling into chat rooms. Fate Zero had over 500 files dedicated to this. You can see an example piece of art and its corresponding file encoding, below.

聽                        .--路路麓炉炉炉篓藴`路-.,
聽           .---路路路 麓篓篓篓                      `路.
聽      .路麓                                        ',
聽   ,'                                               ',
聽  娄             /|        |        /                  |
聽   ',     (     \\:\  |   /|      /''\     .|          |
聽     '路.  \|\ \.,'.|::\|\/ |赂,.-路麓篓篓`路/.路麓  |           |
聽        ` 路-\\|'/|篓`,     `|藴篓|篓藴`路鈥灺      |   |麓炉`,    |
聽          ,'/||', \:'| ,     |_\::':/      |    |,  ,'     |
聽        ,'//|  ',炉炉路',                    |    | 炉        |
聽       ,'/  |  | ` 路.  --路麓               |     |           |
聽       |麓  |   |   _ ` 路.__ .路麓        |      |/_        |
聽       |   |   |篓炉  炉炉///,路路\     ,.--路|      |  ',炉篓篓藴藴``'
聽       |.路麓|   |--,路路麓炉//\ \ \    //   Aeka  _赂'路-By KioNe

File data for the above picture:


So right away it’s clear he’s not using a simple substitution cipher, yet due to the repeated use of white space in the source data, a pattern does seem to emerge in the encoded data. I compared the file sizes and found MaGuS’ encoded *.mdr files to be 5 bytes larger than their decoded counter parts. I chalked this up to the “MDR” that prefixed all the files, and the ending carriage return and line feed that seemed to end all of the files.

That meant there was probably one-for-one character encoding going on. After trying a few things out, I realized every 4th character seemed to use the same encoding. My guess was that he was combining 4 simple substitution ciphers, and using a different cipher depending on the index of the character. I created a quick script that read in an input/output combination and then tried to use that information to decode an encrypted file. To my delight, the script (mostly) worked! This was great, however, without knowing the full map of each cipher, I would only be able to get partial results.

I looked further and found each cipher was simply doing a character offset, meaning each cipher was a Caesar Cipher. The offsets were 70, 97, 116 and 101, respectively. If you look up the corresponding ASCII code for those numbers, you get the word “Fate”. I tried out this new decoding strategy and was able to successfully decode a directory of MaGuS’ files. I had broken the code! MaGuS was using what is known as the Vigenere Cipher, and for that particular directory, “Fate” was the pass-phrase.

In another interesting twist, I noticed certain types of files used different Vigenere keywords. For his *.mdf data files, the keyword “12151981” was used. My guess was that this was his birthday, since this date would have made him 16 when the prog was released and he mentions that he was 16 in the app’s about section. In this same about section he also mentions that he’s Asian and what high school he went to. This narrows down who he is to almost a T.

This got me thinking: “I wonder if I can track down who MaGuS was?” With the aid of some crafty googling, email addresses taken from webpages mentioned inside of Fate (if you dig through the machine code, you’ll find a dozen or so URLs), Rapportive (which can be used to look up social profiles based on email addresses), the internet archive, and leads taken from Fate Zero itself, I was able to pin point an individual who fit all of the criteria and was friends with people who got shout outs in Fate. I plugged their name and the “12-15-1981” birthday into, and only one result came back, and it was from the state and city MaGuS said he lived in. I was stunned, I had found MaGuS.

I feel like it’d be wrong to out him, but at the same time I know it’d be a cop-out to not say anything. So I’ll just say that according to his LinkedIn and Facebook, he works for a consulting firm in the Washington DC area and is specializing in web related work. The rumors of him working for a security firm or of being this guy are false. He also seems to be somewhat of world traveler, and has a side hobby of being a photographer.

Part of me wondered for a second if I should contact him. He was a big inspiration to me back in the day, and Fate-X and its ilk are what led me to learn how to program. However, after talking with my wife, we thought that’d be too creepy. He made some cool progs a long, long time ago, no need to freak him out with some elaborate story that involves breaking some encryption he wrote over a decade ago.

Anyway, after I’d finished my little side quest, and I realized I still had 500+ decrypted AOL ASCII Art files, many of which haven’t seen the light of day in over a decade. Since some of that stuff is kind of cool, I decided to create a gallery for it. If you have a few moments check it out. Also, feel feel to grab and host any art there that you like, just be sure to leave in any artist signatures. It’s kind of strange to think that era is so far away, but also kind of neat to find remnants of it every so often.

2013.04.28 Update: A bit more has happened since I made the original post. MaGuS actually emailed me to congratulate me on the finding and to confirm his identity (though I’ll continue to respect his anonymity). He also mentioned that at the time he wrote Fate he had no training or knowledge of programming, and that he came up with his own encryption method as he went along. I don’t fault him for this, as Fate is still really impressive and I think most of us were in the same boat back then. He seems like a pretty cool guy, and I was glad to hear he enjoyed the post.

2016.03.10 Update: To reconnect with fellow former AOL developers:


Monk-E-God, one of the most prominent figures from the AOL add-on programming scene of the late 90’s, has died.

Initially someone emailed me about “Tom” dying and I had no idea who they were talking about. I’m really bad with names so I always feel a little bad when someone from that era emails me. However, I remembered the “moorpark” location they mentioned and a discussion about it at – and that’s when it hit me that they were talking about Monk-E-God. I remember talking with him at what I think was knk’s old forums (and possibly later GPX’s forums, though I can’t remember if he was a member of that forum) and checking out his work at knk’s website.

I wasn’t really close to the guy, but I remember him as being one of the best programmers from those days. He was one of those people who’s reputation preceded them, it’s really sad to hear he’s gone. Thinking about that era brings back a lot of memories. If it wasn’t for that community and those days on AOL, I wouldn’t have become the programmer I am today.

There’s some more information about him at the forums, including a neat story about him meeting the Olsen Twins.

Visual Basic 6.0 Example Archive

A discussion within the comments of one of my previous posts got me thinking about the past and how this site used to host a lot of neat programming examples. When I restarted the site last year one of my aims was to reinvent the site and to stay away from being an example depot. However, some of the examples I used to host weren’t available elsewhere and people did put a lot of effort into what they sent me. Not only that, the examples did seem to help people out.

When I made a post complaining about how all of my files were deleted, someone sent me a zip of all the programming examples they had downloaded from my site. The person had apparently made the zip one summer when they had decided to teach themselves how to program. The person told me they weren’t going to have net access during that summer so they had gone through my site and grabbed up all of the examples they thought would be useful.

Apparently they learned a decent amount and had archived some of them on their computer for future reference. I thought this was a pretty cool story, though since I was still in my “no old stuff” mind set, I didn’t post up the examples. However, thinking back about the VB Contest and Craig Jr, I decided it was worth putting up an archive of the old examples. I’ve re-created the old example page with everything listed, though some of the files are still missing. What’s available for download either comes from the zip I was sent or from You can view the new example archive here:

Visual Basic 6.0 Example Archive

If anyone has any of the examples that are currently labeled “Missing” please let me know.


I’ve made my decision. There will be forums on this site, and soon. For now, give me around a week or two to get things set up – I want to iron out the details and play around with the forum software I have.

I know only a hand full of you said you’d be up for it, but there’s definitely a decent amount of passer byers / lurkers coming to this site, if interesting discussion cropped up I’m sure people would join in.

Also, thanks to everyone who replied in that thread.

Small Updates

  • The About page was updated.
  • The Ad format was changed for the blog. I figured the footer of each blog post would be a good place to stick them. I read up a little on inserting them inside of the actual blog post content, but that almost always annoys me when I see it so I went with the footer option.

Things Coming Soon

I’m working on a number of things but due to time issues everything seems to be taking forever. However, I hope to have TAAG and Image Color Palette Generator updates out soon.

Three Things to Say

As I type this sentence my clock says its 5:00am… I’m sure it’ll be much later than that when this entry is finally done. So much for having a normal sleeping schedule :P. Oh well, on with the updates…

Updated Test All

I’ve updated TAAG’s “Test All” feature. It should now be much faster. In fact, based on some tests I ran, it should be 11 times faster than before. The old “Test All” feature worked by having Javascript and PHP continuously talk to each other during the text generation process. Now everything is done server side with PHP code. The downside to this is that all my Javascript text generation code had to be duplicated in PHP. This sucks for a number of reasons, but I couldn’t see away around it :/. With the exception of bug fixes, I think I’m pretty much done with this app. Well, no program is ever really “done”, but I think I’ve come to a decent stopping point.

Also, after doing some testing in Opera, I realized the color dialog script I was using doesn’t work in that browser, so now I’ve put up a little notice when you push that button (it’ll pop up only if you’re using Opera). I’m not sure if there’s a way around this, but I’ll try and find one. It makes me nuts that every browser is so different.

Thoughtful Programming and Forth

While searching the net for an old college friend’s / suite mate’s webpage, I discovered an old article he’d written on Thoughtful Programming and Forth. Though I didn’t agree with all of it, and I’m not about to start programming in Forth, I thought it was a well thought out piece. Since he used to have it on his web page, I emailed him (he’s now off in Canada working on a PhD in Math) and asked him if it’d be cool if I posted it up here. He told me he was fine with me posting it up, as long as I updated the email address and fixed a spelling error. So anyway, if you’re interested in learning a little about Thoughtful Programming and Forth, his article is worth a read:

Introduction to Thoughtful Programming and the Forth Philosophy By Michael Misamore

It’s a shame the rest of his webpage is gone, because he had some interesting content, but nothing lasts forever. Which leads me to my next topic…

RIP DarcFX, possibly the last of the great AOL programming websites, has closed down. This is probably for the best, since it hadn’t had any new content in years. In fact, I was actually a little shocked that the site lasted so long. For those of you who don’t know, DarcFX was known for being the site the succeeded after it closed down. KnK4Life was once the biggest resource for AOL add-on development. I’m talking thousands of unique visitors a day big. I mention its relevance here mostly because the site housed a couple of my programs and programming examples. It boosted my visibility a decent amount, and for that I’m thankful.

It’s a shame to see sites die, but unless they can evolve there’s really no point in having something that isn’t relevant anymore lying around. DarcFX was still giving me 5 or 6 referrals a month though, so I’d assume the site was still bringing in a decent amount of traffic. It’ll be interesting to see what happens to the domain. is apparently available for purchase. I’m surprised some spam site hasn’t grabbed it up, though it’s been so long that the domain is probably worthless. is another site that seems to have died. Dos was probably the most well known AOL add-on developer. was once a major site, until it went down in disgrace. Now the domain is owned by some company that sells “premium domains”. That’s the sort of thing I would expect to see happen to a lot of these late 90’s / early 00’s AOL hacking / programming / software sites that brought in tons of visitors. It’d suck if that were the fate of this site, though at my current status, I don’t see that happening.

Other sites I remember from back in the day: – This site never brought a lot of people in, but I remember her. It’s good to see it hasn’t disappeared. Though it doesn’t look like it’s been updated in a long time. [currently NSFW] – Plastik’s old site. Originally this site was hosted at Plastik had a cool site with lots of tutorials. Looks like it’s gone now.
TPA Software – This site seems to be alive and well, it’s been a long time since I last visited.

I know there were a lot more than this, but these are the only ones I can think of off the top of my head. Anyway, I should probably get bed now…

Old Emails

I’m being audited for the research study I did for my thesis. Each year they randomly choose a bunch of people who did them. I basically just have to collect up all my consent forms, research materials, etc etc. And be ready to present them to some guy so he can look over them and make sure I followed the rules for doing a research study correctly. It’s a pain in the butt, if only because it’s just another thing I have to do on top of everything else.

While I was looking for my consent forms, I found bunch of old emails I had printed out. Back in the day, I use to print out emails which聽were sent to me, just so I’d have a hard copy. I did this for programming message boards a lot too, so I could study the code later. I also found a print out of what my original site looked like back in the day. Reading over its news section brought back some memories. AOL had some message board security holes, and I had actually created my own official AOL message board (you could get to it through their keyword feature). It later got deleted, but it’s kind of funny to think I used to have an official AOL message board.

Anyway, in case you’re bored, I’ve posted a few of the more interesting emails below.

Email #1: I got this after posting up a review of the movie “Man on the Moon”. I have no idea if this guy is who he says he is. It was a weird email though.

“Yo..Let me figure somethings out..You hate mr.Hollywood (andy kaufman)? Or what? He was a god, started new things, no one can take that away from him neither! The thought about your review for Man On The Moon make me nuts. To hard to see if you hate him or not. He worked for my father he was a nice man. This is how you can see i am for real my father owned jerrys famous deli, ANDY KAUFMAN NEVER CASHED A CHECK! Never ever! We never ever knew when he was going to come into work. If you watch comedy central and see jerry my father in the 80’s he don’t look like that no more! plus he sold it. Back to my point andy is a god, jim is a fool, and you make me drule with all your god damn rules with mailing! Am i butt kissing? no way. By the way i like your api spy 4.0. You can post this i don’t care! This is not supposed to be mean this is just me gettin pist!” – Lance, 1/16/2000

Email #2: This was actually a series of emails. Some guy wanted the source to my API Spy. I said no, and he flipped out and threatened to hack my site. I unfortunately didn’t save my responses to him, but I printed out his emails so I’d have a record for later (in case I was ever in another exchange with him). This kind of thing actually wasn’t uncommon and is one of the things that soured me towards the whole “aol prog scene”. Everyone was so hungry for “ao-fame”. Ugh. Just re-reading this crap makes me wonder why I helped so many of those people (I wrote a code generating example, but I would not release the code to my app because I knew there’d be a ton of people who’d just re-released it with their name on it – the aol prog scene was just that bad).

“no prob i already figured out ur code, although the inferface will look very different the core coding is simple….i really think its sad when any one person is so self absorbed that they will not share in the interest of education. Its all good though you are the kind of person that surpresses to stay on top, instead of share to advance all.” – Troy (lilhitmahn), 12/8/1999

“no problem and now I will tell peepz that i wrote the code instead of giving u the credit” – Troy (lilhitmahn), 12/9/1999

“thats aite cuz iv told all mah partners to bomb ur lame ass page. dun b surprised when ur shiet displays a hacked by 05007 code and ur page is fucked” – Troy (lilhitmahn), 12/11/1999