I had a bit of fun over the last few months working on server apps. I focused on building simple, well-contained services that I would be able to use to learn new paradigm and languages:

bibin: a swiss knife of a pastebin

I started with something simple but useful to learn the rocket framework, SQLite and async programming in rust. I made a fork of bin, a very minimalist pastebin-like service, that I upgraded by adding all the features that I could think of:

  • Basic HTTP authentication
  • Async SQLite storage backend using sqlx
  • QR code generation
  • URL shortener
  • Base64 encoding
  • Keep the status in the persistent browser storage, so it also double as a scratchpad

Available on https://p.marache.net

faas: Fortune as a service

This time I wanted to make a very simple server from scratch and see how it behaved under load. It simply load a fortune file in memory and then serve a random quote on request. I was able to serve thousands of requests a second from a cheap arm-based cloud service, which was quite impressive.

Available on https://faas.marache.net

yaas: youtube-dl as a service

This is a quick hack that I wrote to download youtube videos asynchronously. I wanted to be able to select videos anytime during the week and download them all at once before a flight. Since I had to manage multiple downloads in the background for an extended amount of time, I ended up building a python flask app with celery workers. It was surprisingly easy and painless.