Kristian Glass - Do I Smell Burning?

Mostly technical things

Installing the Raspberry Pi Desktop

Most of my Raspberry Pis run headless, with no screen. So the image I keep around is Raspbian Lite. It’s half the size of the “full” Raspbian-with-Desktop image, it has everything I usually want, and very little that I don’t.

But sometimes I find I want a GUI.

I don’t want to have to keep the full image around and re-image my Pi. Nor do I want to have to manually install the various components of a desktop environment.

I do want a single command that just “gives me a GUI”.

Django: An Unofficial Opinionated FAQ

I really like Django. Django is fast, featureful, secure, scalable, and versatile. It works well with a variety of workflows, approaches, tools, platforms, and libraries.

But sometimes you can have too much choice.

I’ve spent a lot of time working with Django, and supporting other users via IRC in #django on Freenode. In that time I’ve seen a lot of the same questions come up again and again.

Django doesn’t provide official answers to many of these questions, and I don’t think it should - its versatility is one of its strengths. Here are my answers though - all of which are broad and given without knowing exactly what you’re doing - they’re not universally correct, but in the absence of knowing better, if you’re facing an unclear choice, then they should provide some clarity.

Good luck!

An Aged Octopress

I moved this blog from WordPress.com to Octopress in 2013.

Moving from a “blog service” to a static site generator has been great:

  • Hosting static content is pretty easy
  • It’s backed by git, so I get all the benefits that brings: history, branches, diffs, etc.
  • Security-wise, the attack surface is much smaller - the production site is just static HTML/CSS/JS, so there are entire classes of vulnerabilities and threats that I don’t have to worry about

However, it’s possibly come with a little complacency - I looked back recently to find I’d not actually updated the framework itself since my very first commit ~6 years ago. Slightly embarrassing (as someone who regularly talks about the benefits and importance of regular incremental updates) but not exactly surprising: “the cobbler’s children have the worst shoes” after all…

Desktop Lighting

I like a lot of light at my desk. It gives a better picture when I’m on video calls, and I think the light increase helps my mood too.

Now, I’m a bit of a lighting Philistine. I have friends who definitely have Opinions about colour temperature and brightness, whereas I grab a pack of cheap LED bulbs from Amazon whenever I need some and as long as they vaguely match what I have already then it’s fine for me - but I figured I’d just make a stab at something on my own, and then get feedback afterwards from people who know better. So here’s what I’ve got:

2018 in Books

As per last year, some things I read in 2018, with some brief opinions/recommendations.

All categorisations are approximate at best and will probably cause some kind of contention.

Switch Statements - a C/Go Gotcha

One of my side-projects at the moment involves me porting an old-ish (20+ years) large-ish (100,000+ lines of code) network game server from C to Go.

Thanks to cgo, similarities between C and Go, and the power of (some horrific) Vim regular expressions and macros, this is less epic than it might initially sound!

However, one thing has repeatedly stood out in the process, and will inevitably have me tearing my hair out in future due to the subtle bugs I’ve introduced as a result…

Three Tips to Get the Most Out of AWS Elastic Beanstalk

AWS Elastic Beanstalk is one of my favourite Platforms as a Service - essentially it’s Heroku but with more levers.

I’ve used it for tiny personal projects (though nowadays I’d probably use Lambda and a framework like Zappa or similar), and I’ve used it as the production platform handling significant traffic at previous jobs.

I think it’s a massively under-appreciated AWS service. All too often people seem to skip over it in favour of more powerful but more complex services like ECS or EKS, and I think they’re missing a trick.

Here are some tips for getting the most out of Elastic Beanstalk.