Steve's Real Blog

all words typed by human fingers

This week, I was prompted by Glitch to take a look at my first web site on the Wayback Machine. I made a fun discovery: what I thought was my first web site was actually my second. And not only could I find the original on the Wayback Machine, but it's still being hosted, unchanged! Somehow, Freeservers has survived for over 17 years by putting banner ads on people's static sites. So imaciscool.htmlplanet.com, my very first web site, has been accessible all along. Look at this beauty:

Title: Welcome to the Wonderful World of Stephen. Background: tiled pieces of bread.

Discovering this forgotten piece of my awkward and enthusiastic past sent me down a rabbit hole of past-self discovery. I got most of my early games running in Basilisk II, a 68k Mac emulator, and successfully guessed the passwords to my old web hosts so I could download all the files. This post will focus on the sites themselves; later on I'll dig into the apps and games. I already did a bit of that on Twitter, but I think it's worth collecting it all in posts, just for my own sake.

My first web site: imaciscool.htmlplanet.com

Most of the home page is full of irrelevant updates. At the bottom is a list of links to other pages, and this animated toaster:

Toaster shooting toast into the air

The rest of the pages follow a familiar throw-everything-at-the-wall approach of a kid making their first web site:

  • Download links for games and other software I had made
  • Transcripts of “conversations” I had with MegaHAL, ELIZA, and HeX
  • Download links for simple plugins and cheats for Escape Velocity
  • Links to resources I used to learn to make things like web pages and games
  • A “coming soon” page
  • “AJs Page,” made by a friend

(In Autoarchaeology Part 2 I'll look at what I found on those download pages.)

Naturally, nothing on “Coming Soon” ever came…

Coming Soon

Here is where you see what is coming soon to this site. Duh.

Invade Bill's Base

This will probably be my best game yet. It will be an RPG where you are walking through Bill's base trying to find him so you can bring him back to your planet and Macs will rule the universe once more. The graphics will be better than in Save the CLD and Destroy the World. I warn you, I may never get around to finishing this.

Probably won't get around to these...

MacWarrior

If you've got Escape Velocity and you want to wipe out Windows, then this is the plugin for you. There is a system called Mac Territory surrounded by the Mac face. But I can't get the Mac Armor outfit to work, and the Windows part isn't made yet. I probably won't finish this one or the Animorphs plugin either.

Animorphs Plugin

Instead of Confeds and Rebels we have Andalites, Yeerks, Leerans, Skrit Na, Hork-Bajir, Taxxons, and Iskoort.

Please e-mail me with any questions, comments or suggestions you might have.

Some of the links are still active. Lissa Explains it All is still around. “AppleWorks” just links to apple.com. But internet4kids.com, kidsdomain.com, and javagameplay.com are domain-squatted now, and the rest of the links are just dead. All the references to “Cocoa” are for a game creation program that I'm pretty sure Apple bought just for the Cocoa name; it's unrelated to the modern Cocoa API. But I've used both, so I guess that means I've come full circle. :–)

My second web site: stratus.iwarp.com

At some point in 2001, I decided that imaciscool.htmlplanet.com was not a good enough URL for a totally legitimate purveyor of software like myself. So I started to parrot shareware culture more seriously, and moved to stratus.iwarp.com, home of “Stratus Software,” the extremely respectable establishment where you can download very good video games. (I had recently written a report for science class on clouds.) Within a couple of years I changed it to “Diordna Software” (see earlier post Usernames) and eventually gave it this amazing logo, made in a 3D program distributed for free with a MacAddict CD:

Diordna Software logo

At stratus.iwarp.com, you can see an even longer list of irrelevant updates, and a minor evolution of the original site content:

I rendered all the MIDI files to WAV and uploaded them to SoundCloud. I might give a couple of them a proper mix eventually. It would be a nice complement to Salvage Operation EP!

The rest

Over time I got a little better at making games, a little better at making web pages, and a little better at self-editing. The next iteration of the site, silvernetwork.net/diordna (2004), had a similar structure, but was a little less background-imagey. When someone in the little Mac indie game dev scene I was in started handing out subdomains on macintoshdevelopers.net, I started over with my new CSS skills and made diordna.macintoshdevelopers.net (2004-2007). When I finally bought my own domain, thebiggerbox.com (2007), I ran WordPress and made a custom theme. But “The Bigger Box” didn't last long; I picked up steveasleep.com at the end of 2008, and it slowly converged on what you see today at steveasleep.com.

Postscript

A couple days after I wrote this post, I found an even older version of the site using the site admin tool.

Screenshot of site; text is reproduced below

About My Site

This is not the true web site that I have prepared. I meant to upload one from home, but I couldn't figure out how to use the stupid FTP program. Oh, well. In my real one I have some downloads. Wait a while and maybe I'll get it up and running soon. List of my programs not available yet. Only this page (the about page) and the home page have been modified from the templates, so they will not be cool.

The History or Story Behind My Site

I was looking through a book order and came across a book called “Build Your Own Web Site”. I got it, read it, and made a site as I went along. But after that, I saw that it was stupid and even later I created another, better page. The one that I can't upload! So hopefully it will be here soon.

It has a list of all the “games” I had made that I thought were worth mentioning as of December 21st, 2000:

Programs by Me

Idiot Invaders Alien Invaders, the arcade classic, AC

BrickBall Brick Bash, AC

Super Dude The alien politicians from mars are trying to become president of the United States. You must stop them!

Race Alley Race to the top of the screen while avoiding obstacles. Requires a screen size of 1024 x 768

Bombs! Avoid the falling bombs or shoot them.

Beamer Beam up Earthlings from your spaceship.

Christmas Package Drop Drop presents down chimneys from Santa's sleigh.

Save the Cute Little Doggy In this game you do just as the name suggests!

Destroy the World In this game you destroy the world!

CityGunner Shoot the bombs before your city is destroyed or before you are destroyed.

Useful Programs

StephenEdit Make your own web pages with this HTML editor.

SuperCalc Calculator so great that my mom uses it instead of the system calculator!

The Third Attempt Drawing program. Enough said.

In the future, when my real site is up, all of these programs will be available for download for Mac users.

I'm writing a simple internet forum as a hobby project. Here are some of the questions I asked myself along the way that would apply to any web app with a server component. I had to build in some explicit answers to these questions based on the choices I made.

Which programming language?

Which version of Python?

Which Python package manager?

Which web framework?

How should I interact with the database?

Which Python ORM library should I use?

Should I develop against SQLite, or use a “real” database from the start?

When I query the database, should I use fancy ORM features, or more direct queries?

Should I store passwords, or only use OAuth?

How does secure password storage work these days?

How will I inevitably mess up password storage?

Should I do access control ad hoc, or learn the web framework's sophisticated API?

Should I do form validation ad hoc, or research the right library and learn it?

What the heck does REST actually mean? Do I care?

Should I write my API like a normal person, or add a fancy REST framework?

How much JavaScript will I use?

How will I get my Python web server to show my JavaScript?

Which JavaScript package manager?

Which JavaScript build system?

Should I use plain CSS, or SASS?

Which JavaScript framework will I use, if any?

Is this JavaScript library I want to use actually finished and maintained?

Do I care about Web Components?

What browser versions do I want to target?

What browser features can I use these days?

How can I get my Python web server to live-reload when my JavaScript changes?

How will my CSS and JavaScript build pipelines change when I switch from development to deployment?

Should I write my own wrapper around fetch, or use someone else's?

Should I render most of my markup on the server, or in the browser with JavaScript?

What the hell is hot module reloading? Can I disable it?

Should I worry about GDPR?

Am I doing anything now that's going to make deployment difficult later?

That's it for now. I feel like I'm about halfway through the final list.

This year I went to one big conference and one little conference. Here are some quick notes about the tradeoffs.

Big, company-run conferences are great networking opportunities because “everyone” is there, and parties often spring up for smaller groups in the evenings. They have many high-quality talks about core topics that are appropriate for huge audiences.

However, these talks are often limited by corporate constraints. At WWDC you won't hear a talk about iOS jailbreaking. At GDC, while you might have a panel on unionization, you might not get a neutral moderator.

Small, community-run conferences are less good for networking due to raw numbers of attendees, but you learn names and faces much more easily, especially from year to year. You can certainly get to know people that way at larger conferences, but it takes more effort from people like me who don't do it naturally.

And while the quality of speakers is much more variable, so is the range of topics! That aspect works in your favor if you want to give a talk. Unlike a huge conference with a competitive CFP, you have a fighting chance of getting a presentation slot.

There are Goldilocks conferences like PyCon which combine guileless community building with huge attendance and high quality. If you're in a community that has one of these, you're very lucky.

Hello from 360iDev!

My first username, “bytebouncer,” was chosen by my dad for my first email account on Yahoo. It was a good name for a kid who was already computer-obsessed. I didn't stick with it long, but if I wanted to reclaim it today, I could. It's completely unused online except in a scraped database of ancient email addresses. Ace username-picking work, Dad!

When I was in 5th grade, I stole a username from my best friend. I can still picture standing line outside the cafeteria, waiting for lunch, and hearing him say something like, “I just thought of a cool username. 'Diordna' – it's 'android' spelled backwards!”

At some point lost to memory, I started using it for things. Free web site hosts. Instant messaging. Email addresses. When I joined the Mac game programming site iDevGames around 2002, I made a logo for “Diordna Software” and used it as my forum avatar and on my silly games and programs. The original is long gone, but I still remember how to draw it:

The logo for Diordna Software

But at some point, I got tired of people assuming I was female because of the -a suffix. So when I made my GitHub account in 2008 as a freshman in college, I started from scratch with “irskep.” When people ask me what it means I usually say it doesn't mean anything—it's a pronounceable six-character string—but it's a convenient lie to avoid explaining that it's a shortening of “irrational skeptic,” a reminder to myself not to feel too smart.

“irskep” became my new username everywhere. I use it on GitHub, Twitter, itch.io, Steam, and elsewhere. After a spring break trip to a bear-themed cabin, that username was permanently paired with this avatar:

Image of a bear

But I didn't buy the dot-com until this year, instead going with steveasleep.com. I picked it with an eye toward email addresses: steve@steveasleep.com is so much easier to explain than steve@irskep.com or something like that. I don't love the name anymore, but I'm kind of stuck with it for SEO reasons.

The one exception to my all-irskep username policy is music. My bad electronica name is Slam Jamsen, and also my Slack handle at Hipmunk as a joke that got taken too seriously for two years. Slam Jamsen is a moody guy:

Me, closing my eyes, rotated 45 degrees to the right

There was also a period when I tried to simply use my real name on things. But that didn't work out for two reasons. First, my name was Stephen Johnson! And second, I used the past tense just now: I changed my name! My web site hasn't caught up yet, but it'll get there. :–)

My name is Steve Landey. I have a lot of usernames. That's all I'm trying to say.