Hello, thanks for coming! I like to do a bit of anything that involves writing code. If you like learning and experimenting with new concepts, we might have something in common. Occasionally I write notes of things I know, and even more infrequently I'll write a whole blog post, but you really don't need to be interested in that. If you think I might know something you want to know but didn't yet write down, feel free to reach out.
My current project is Trilogy; a new programming language combining the best of imperative, functional, and logic programming, along with the latest and greatest investigations into effect systems. For those who paid any notice to my previous language project, Lumber, this is sort of a follow-up to try and overcome some of the pain points of logic languages by incorporating logic programming as a first class citizen alongside the more conventional paradigms.
There are a few experiments I would like to get to in the future, some of which I investigated briefly but then set aside. Maybe some of these could be of interest to someone else too:
-
A user-owned "digital identity", putting users in control of their information.
Along with this, a few apps which might use it:
- An "offline social network" (Pigeon), exclusively using local communiciation to build a sense of community in the digital age.
- A reimagined digital loyalty-card.
Something along these lines may be a good application of Web3 to something familiar that can help get the uninitiated involved in the decentralized web. Crypto can be scary, maybe little things will be more accessible.
-
A multi-purpose drag-and-drop visual programming language allowing for a intuitive graph based control flow instead of the usual linear text-based experience.
-
An query language for existing relational databases using logic programming rather than SQL.
-
A more intuitive way to teach (and learn) programming and related concepts, emphasizing good habits and good code.
If you are similar to me and prefer to work entirely from the command line, you may be interested in a few of the tools I built because I couldn't find a suitable alternative elsewhere:
paper
, a better looking Markdown typesetter.syncat
, a tree-sitter based syntax highlighter, similar tocat
, which works well withpaper
.outline
, a tool for literate programming (though if you are interested in this, you may also be interested in Yarner, which has gone on to be a respectable successor tooutline
).
On a related note, you may also find inspiration in my dotfiles and such if you are looking to set your environment up (or better yet, have suggestions, as I am always looking to improve mine).
If you like board games, I have turned a few of my favourites into browser-based games you can play online with your friends. They're a little sketchy... but mostly playable I think. Feel free to try them out:
- Settlers of Catan
- Tokaido
- Machi Koro
- Mahjong
RootThis one never got off the ground