Check out the "Natural Number Game"[0], which is sort of a practical tutorial but leaves a LOT of things unexplained. I took a few proofs-heavy university classes among the math/cs/philosophy departments so the idea of proving arithmetic from axioms wasn't new, but the NNG still took me an outrageous amount of time (easily 100 hours) and I got nowhere near finishing. Perhaps I just never got things to click into place; I am still profoundly confused about what the 'tactics' truly are.
In my opinion, lean4 is not in any way "for beginners" as you mean it; it is a tool for experts in mathematics.
I wrote a NES emulator for ExciteBike 64, so that the original 8-bit ExciteBike could be played as an unlockable level. The hardest part was getting the audio to sound approximately right!
Fun fact: NES Excitebike supported saving and loading your custom tracks to the Famicom Data Recorder. The USA version of the FDR was never released, but the USA version of NES Excitebike still had all the save/load code+functionality built in. When you tried to save a track it would just hang for a while before returning to the menu. After figuring out where the save/load routines were, and where the track was stored in RAM, we were able to put hooks in the emulator to save the tracks to the N64 cart.
Oh, this is one I hadn't heard of. There are several different takes on this idea, and I've had the notion to make my own for some years, too (not enough free time...)
I feel like a good "how powerful is this tool, really?" test would be to model the Adobe PSD format with it. That format is bananas, and is what got me into this topic in the first place.
But for those interested, here are some other tools in this vein:
Not sure if it fits in scope, but I find this classic to be an ingenious intro to where to start from in terms of visualisation:
https://bost.ocks.org/mike/algorithms/
I don’t have any advice, but I will say the art in the screenshots didn’t grab my attention.
For what it’s worth, I had a similar experience. I launched a game on itch.io for fun, and got a ton of positive feedback (including “I love this game!” And “I can’t believe this is free!”), but when I launched on Steam (also for free, but now with music people said they liked and new features), it bombed.
The cherry on top was when I posted a Show HN here (it’s a zachlike programming game, using an esolang—-right up HN’s alley), and didn’t get a single upvote. I’ll admit: that hurt.
I’m surprised I haven’t seen this linked yet, but Bryan Cantrill of dtrace, Sun, lawnmower, Joyent, etc, fame gave an amazing talk for Monktoberfest 2016, titled “Oral Tradition in Software Engineering”, which features The Story of Mel [1]. Highly recommend checking it out — there are loads of little gems and stories like this throughout.
All of his other presentations are great too and definitely worth a listen if you like this sort of thing [2]. A couple of my favorites are “Fork Yeah! The Rise and Development of Illumos” [3] and “Debugging Under Fire: Keep your Head when Systems have Lost their Mind” [4].
We recently launched a newsletter called Tour de Source that dives into the source code of open source projects and how they work. So far we have Caddy and TS ESLint and a few in the pipe.
For any folks interested in working on introductory visual programming languages full-time, I'm the architect on Circuits at Rec Room and we are hiring all levels of engineering :)
Circuits are basically executable flow-charts built in 3D space on iOS, Android, Consoles, PC, or VR. We have millions of Circuits users already and we are growing rapidly. Please send mail to tyler@recroom.com if you are interested in roles.
They took the basic idea of Scratch, then made it into more of a game with levels, each level being a puzzle to (implicitly) teach or test programming concepts. As you progressed it'd introduce new syntax, while slowly "fading" more familiar syntax towards actual JavaScript code (though retaining the block/GUI-based interface).
We did some more work on further iterations but I'm not sure what became of it all.
Tarkovsky's Andrei Rublev has an extended sequence where a bellmaker's young son agrees to pour a bell for a local lord. You see the entire process of making the mould and pouring the metal. It has a town-fair atmosphere. But at the end, there's tremendous pressure on the young bellmaker to have the bell ring properly and have no cracks. And it does. The protagonist, the lapsed monk Andrei Rublev, regains his faith, seeing the result of the young bellmaker's hope.
Terrastruct | Software Engineer | SF, Remote ok for senior (US/CAN) | Full-time | $120-$200K base | 0.2-1.5% equity
Terrastruct (https://terrastruct.com/) is a diagramming tool for software architecture. Drawing software diagrams on a general-purpose tool like LucidChart or Draw.io feels like coding on Google Docs. It has a lot of the features I don't care about and lacks ones I wish existed. So, I built one for my needs. It focuses on things that software engineers care about, like managing complexity, autolayout algorithms that actually mimic how humans draw diagrams (not squiggly lines flying everywhere), and integrations with tools like Github and AWS.
I've been working on it since 2017 as a side project at Stripe, and quit to do it full time at the end of 2019. Been working on it every day since, and now we've recently raised a Seed round, and are looking for our 4th engineer. Would love to hear from you, especially if you also think the visual documentation space is in dire need of a better tool.
There are definitely tradeoffs and I suspect that having chosen software, you might have gotten cabin fever before you were 20 years in.
With software, you can tweak the rules that create a forest and press a button to have - in your hand - a board that’s better than the last: solid, straight, and knot-free.
These are things that take decades in simpler disciplines.
Going to plug my project Fraidycat here. Feels like it satisfies many of these. http://fraidyc.at/
It compiles RSS feeds and YouTube, Twitter, etc into a dashboard-like view rather than a crowded timeline. No notifications, no algorithm. Just a tool for a human. Easy to “move into the periphery”. Very calm, even when I’m following 100s of people.