Hugh Jass Message 🗣

Thursday, April 19, 2018 :: Tagged under: engineering projects culture works. ⏰ 3 minutes.

Hey! Thanks for reading! Just a reminder that I wrote this some years ago, and may have much more complicated feelings about this topic than I did when I wrote it. Happy to elaborate, feel free to reach out to me! 😄

The song for this post is 200%, by Akdong Musician.

Unbelievably, I followed through on a threat to do a project the other day. I present to you

What is it? A clone of, correctly dubbed "the most useful site on the Internet." I use(d) it all the time to to send links like these to my friends. It's a bit like Let Me Google That For You (example) in that it's a troll-ish and fun wrapper around messages you might want to send your friends.

Why clone it? Because I love it, while also having a few critiques:

Behind the scenes

In a case of massive overkill, I used Phoenix for this, and am hosting it on a LightSail instance. It doesn't have a datastore yet, but I might put SQLite behind it and push backups to S3.

It's The World's Simplest App: the embiggening of the text happens with client-side JavaScript, so without a datastore, this app is pretty much a single static file + rot13. So why use Phoenix? A few reasons, but the main one is that I'd like to commit to finally learning a full-featured framework for once. My work at companies has put me on microframeworks like Express and Flask, which certainly make it easy to host an endpoint, but you always end up writing a ton of middleware (input validation, logging, asset minification, etc.) and I would love to be surrounded by something with opinions, finally.

Dropwizard was a favorite for a while, but even it makes certain basic things hard, and I'm not feeling in a Java mood recently.

I find Elixir strange. That will pass, but its syntax is a bit sugary for my tastes. I'm finding tools like Distillery, Mix, and Hex delightful to use.

Let's Encrypt is such a blessing.

I avoided Docker. It's a small personal project, so it's a "pets, not cattle" model: if I lose the instance, I'd have to manually re-install Elixir, nginx, and the like. You don't need city food inspectors in your personal kitchen when cooking yourself dinner, and so your stuff probably doesn't need anything more than a pet server anyway 😛

Have fun! And ping me if you run into any bugs! 😄

Thanks for the read! Disagreed? Violent agreement!? Feel free to join my mailing list, drop me a line at , or leave a comment below! I'd love to hear from you 😄