This is mostly a note to my future self since I couldn’t find any documentation on using Terraform with
Linode Object Storage as a Terraform state backend. With that said, I hope to save other intrepid Linode users some
time if they’re lucky enough to come across this post. While I’ve explained the problem in terms of Linode, the solution here applies to any non-S3 object store compatible with the S3 API. Swap in the appropriate endpoint
for your provider.
Posts for: #Software Development
di-tui terminal UI player for di.fm
Hey all, just a quick post about di-tui, my new di.fm terminal UI player. I’ve been playing hours of music with this player over the past two weeks and have to say that I really love it and am proud of its ease of use and simplicity.
Most people who know me know that I work almost exclusively in the terminal: tmux, mutt, slack-term, vim, and now di-tui
and many more. Now I finally have great music in the terminal!
Don’t be Dangerous
Shipping production software requires a lot of housekeeping; so much so that many developers mentally block out just how much time a day they spend endlessly shepherding their work through the release lifecycle. Does the pull request have merge conflicts? Are tests passing? Is the linter happy? Is some other automated check failing?
Most of these failures require intervention; whether it’s a finicky spec failing in a test suite or something more serious like a merge conflict. Intervening on behalf of multiple in-flight features, at a certain point, is a full time job. I set out a long time ago (maybe more on that in another post) to fix one of these problems because of the unappreciated amount of risk it poses to releasing software: merge conflicts.
JWTs Are Not the Enemy
I finally felt compelled to write this after reading a little tidbit from a blog posted on Hacker News containing this perennial piece of technoFUD
One of the downsides with JWTs is that banning users or adding/removing roles is a little harder if you need the action to be immediate.
…
Since the token is stored client side, there is no way to directly invalidate the token even if you mark the user as disabled in your database. Rather, you must wait until it expires.
Slaying The Monolith
This is the first in what I hope becomes a series of posts on how we’re slaying the monolith at Greenhouse. Over the course of the next year, Greenhouse Engineering is aiming to break down our monolithic Rails application into a more scalable and robust collection of services. This won’t happen quickly, but it will happen deliberately and with the clear goal of safely scaling Greenhouse Recruiting into the future.