Movement: Arrow keys or WASD
Jump: Space
Goal: Jump as many times as possible without touching a ripple!
Press Jump To Begin!
Who can make the muddy water clear?
Let it be still, and it will gradually become clear.
Your browser doesn't support canvas. At t…
Read more...
It’s been a bit since updating my progress on what I’ve been lately calling the
“cryptic nebula” project. When I last left off I was working on building the
mobile nebula using nix. For the moment I gave up on
that dream, as flutter and nix just really don’t get along and I don’t…
Read more...
I've been on a hunt to find a simple and declarative way to define VMs. I wanted
something like NixOS
Containers, but with a
stronger security guarantee. I wanted to be able to use a Nix expression to
define what the VM should look like, then reference that on my Server's
express…
Read more...
This post will describe a simple rule for writing error messages that I’ve
been using for some time and have found to be worthwhile. Using this rule I can
be sure that my errors are propagated upwards with everything needed to debug
problems, while not containing tons of extraneo…
Read more...
Movement: Arrow keys or WASD
Jump: Space
Goal: Jump as many times as possible without touching a ripple!
Press Jump To Begin!
Your browser doesn't support canvas. At this point in the world that's actually
pretty cool, well done!
(R)eset
Score:
0
c…
Read more...
I've made a backup system I can be proud of, and I'd like to share it with you
today. It follows a philosophy I've been fleshing out called The
Functional Infra. Concretely it aims to:
Be pure. An output should only be a function of its inputs.
Be declarative and reproducible. A…
Read more...
After publishing the last post in the series I walked away from my computer
feeling that I was very clever and had made a good post. This was incorrect.
To summarize the previous post, it’s not obvious which is the best way
to structure conditionals in a graphical programming lan…
Read more...
In the last ginger post I covered a broad overview of how I envisioned
ginger would work as a language, but there were two areas where I felt there was
some uncertainty: conditionals and loops. In this post I will be focusing on
conditionals, and going over a couple of options fo…
Read more...
When I last left off with the nebula project I wanted to nix-ify the
build process for Cryptic’s mobile_nebula fork. While I’ve made
progress on the overall build, one particular bit of it really held me up, so
I’m writing about that part here. I’ll finish the full build at a lat…
Read more...
About 3 years ago I put a lot of effort into a set of golang packages called
mediocre-go-lib. The idea was to create a framework around
the ideas I had laid out in this blog post around the
structure and composability of programs. What I found in using the framework was
that it w…
Read more...