Steve's Real Blog

irskep, steveasleep.com, slam jamsen, diordna, etc

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.