# A dream for 90s.dev
In my first post, the one that was way too soon,
I explained that I wrote 90s.dev after getting up
at about 2am and just writing code non-stop.
That was because I finally had free time,
or rather, I finally realized I had free time,
which allowed me to go after my long lost dream,
programming a fun video game of my very own.
That’s what got me into programming in the first place.
I only learned QBasic so I could make SNES-style games.
I only learned HTML so I could share them with friends.
I only learned PHP so I could make forums discussing them.
I only learned VBDos when I was told it would help (it didn’t).
That’s why I bought the domain name 90s.dev,
which stands for the pure and simple joy of programming.
That’s the joy I want to help bring back to the world.
The project I first showed to Hacker News was fuzzy.
It was a half-realized dream, or maybe a cloudy vision.
I knew that I wanted to create a new yet old environment,
one where people could experience the joy of 90’s dev.
So I coded and coded, not quite sure where I was going.
But it actually turned out to be a very useful prototype:
it helped me realize that I was stealing all the fun.
Which in turn helped me (eventually) see the full dream.
The dream for 90s.dev is to be an environment and community
of hackers, young and old, sharing the joy of programming.
The newbies will get to experience what it used to be like.
The gray beards will have the fun of recreating those days.
And we will definitely all learn new stuff along the way.
The app I showed on HN was meant for us to build together.
My role was not to build the full app, but just the foundation.
And not that app itself, but something like it. Or variations.
So shortly after that, I began building a desktop native version.
There’s currently a Win32 .exe file that’s about 312 kb in size,
which I also plan to port to macOS in pure Obj-C (an old friend).
In order for us to work together to create something fun with it,
it has to be built in layers, just like all computers started out.
So the box would natively have only two languages: wasm and lua,
and have an extremely thin API for graphics/audio/input calls.
And the part I’m most looking forward to is writing the shell,
which would be a very small but extensible layer on the syscalls,
that allowed you to type commands, and had a few ones built in,
most notably an all-in-one lua/wasm editor resembling qbasic.exe,
including the built in full-language help menu, step debugger, etc.
That editor will take a bit of time, but it’s the killer app.
For the community aspect, we’d probably just need a mailing list.
It would be used for announcements, rfcs, sharing code, etc.
I would be so happy if eventually a shareware community emerged,
where we share our programs and games with demos and free trials.
Maybe a good formula could be price = $0.25 x N(weekends spent).
It’s not a lot, but not nothing either; that’s kind of the point.
The point of charging anything is to boost morale and encouragement.
So many people work hard on open source software and get nothing.
There’s something about getting paid, even if it’s only $10/month,
that gives you a different mindset about approaching your code.
It makes you feel like you’re a real coder, and not faking it.
Imposter syndrome is notoriously high in the programming world.
This would be a small thing that might be able to help offset that.
These are just ideas, ones which I can’t do all by myself.
The only role I think I have in this is hosting the mailing list,
and creating the native win32/mac app for wasm + lua + in/out.
That’s the dream, at least. But I believe in it.
That dream is what pushed me to write every line of code in os.90s.dev.
I hope to ship the win32 app in a few weeks, for $5.12 (haha get it?)
and port it to macOS if I earn enough to buy a 2016 macbook from ebay.
(And Linux if time permits.)