Coffee Space


Listen:

Future Of Site

Preview Image

Recently the website was down, but it has reminded me that there are a few things I want to upgrade as the opportunity presents.

Build System

This site still relies on an old bash script to recursively build the site and build the RSS feeds, and it’s pretty ugly. One of the things I intend to do is to switch to a python based system, which will allow for things such as multi-threaded building, caching, building just the changed files, etc.

Python Cells

One of the things I have seen on other sites is “Python cells”, but the implementations have not been amazing. I have been working on creating something based on Brython that allows code to be run directly in the browser.

It is already working to some extent:

Brython proof of concept.

There are still a series of outstanding tasks, though:

It means that in theory, people could change the code on the site itself and see the results. It could make for some amazing demos and learnings!

Container System

Instead of running all code directly on the server, the idea is to run super lightweight containers when they are required in order to perform a task. It would enable some cool concepts:

There’s a few things I want to experiment with but have not been able to, due to the nature of the site:

The point is that all of these things collectively running all of the time would sink a cheap VPS, but loaded as and when needed, could provide a cool experience.

To make this run, the idea would be to have a small kernel (originally Linux, but considering also NetBSD) boot via qemu with a small set of pre-built tools. Initial experiments with Linux have shown that ~128MB of RAM would be needed, but I believe I could get this down to ~32MB of RAM or less per virtual machine.

Questions

I have my been using my trusty Pandoc Highlight Filter for quite some time, complete with it’s own internal mini plotting library. The issue is that I now want to do projects which require much more complex plotting, and I don’t really want to extend it further. For example, I have been thinking about doing some simulations and 3D projects, but the tools are holding me back. Do I continue to try and self-host/write all of my site’s tooling?

The hero images have a somewhat ‘sexual’ nature to them, which at the time I thought was a “my site, my rules” idea which I stand by, but has since made me hesitant to share the link to others. My ability to express myself against censorship, is in turn, meaning that I self-censor when wanting to share content. Where is the middle ground?