This is RobJH.com. My personal website. It's still very much a work-in-progress and so some features are still missing. That said, I don't have a goal in mind, and I only work on this sporadically.

You can navigate the site by using the shell in the header, using commands commonly found on POSIX compliant operating systems.

To see a roster of the currently implemented commands, type: ls /bin; ls /usr/bin;

This Site

It's mostly vanilla Javascript. The site uses html5 features to improve performance, and maintain the shell between pages. Stuff typed into the prompt is not sent to the server, and by default your session is kept entirly in local storage. The act of navigating around the filesystem will access static assets on the server. As such, for the normal operation of the site; no database queries are executed, no session IDs are exchanged, and no cookies are set. I also have no intention of adding any analitics, social media sharing buttons, or any other kind of third party hosted scripts.

An older version of the page mentioned how the files get periodically pushed to github. I've seen the errors of my ways since then. Now I'm using gitlab-CI to generate all the static files and upload them to my server. The repo can now be found at https://gitlab.com/robjh/website.

Your Data

Theres a page for that; yourdata.html

Todo List


I've not tried to perfectly replicate the experience of using a GNU/Linux computer in a browser. If that's what you came here expecting, you should check out this fine project: https://bellard.org/jslinux/.