Earlier last year I added a /new page to my website at https://ghuntley.com/new/ as a productivity shortcut and partly out of necessity of doing software development from an iPad.
It's not actually a "page" as per say, it's a redirect to the following URL https://gitpod.io#github.com/ghuntley/new which provides a temporary ephemeral computer via Gitpod that is customised to my liking. It's a simple link, easy to type, easy to remember and it get's typed often.
Think of it as "dotfiles" but "for computers". Zach Holman authored Dotfiles are meant to be forked back in 2010 and that blog post had a profound impact on my career as it was my first pull-request and gateway into the wonderful world of GitHub.
By taking lessons learned from the infrastructure-as-code movement and upgrading the dotfiles pattern into full blown Docker images then utilising products such as Gitpod to consume, build and execute the Dockerfile then I no longer need to worry about the security of my endpoint when playing with open-source software created by complete internet randoms.
Each new environment is sandboxed and completely disposable - freeing me of concerns of accidentally bricking my local computer, open-source supply chain attacks or a desktop folder full of junk source control checkouts. These days instead of opening a new Windows Terminal, iTerm2 or Blink session I head to my /new.
Above you'll find the source code to my personalised ephemeral computer which uses nix (because really good reasons) but if nix isn't your thing then I encourage you to roll your own. There are three components to a /new:
3) Webserver redirect
If the computer definition is hosted at https://github.com/ghuntley/new then https://gitpod.io/#https://github.com/ghuntley/new is the link that would be the redirect destination.
The Macbook Pro M1 is the software development laptop of choice yet I love my iPad considerably more. I'm all in with my thin client for hipsters. Here’s what I’ve learned over the months and how my baremetal homelab in the sky is setup.