Build, Run, Repeat - page 2

  • Nurturing Creativity: Do Dumb Things Quickly For No Money

    If there is one myth that I try to rail against, it’s the idea that creativity and ingenuity are inherent talents you just have rather than skills you can train and improve. In fact I’d go as far as arguing that training these skills can be incredibly useful, both inside and outside of work.

    This article is mostly through the lens of a software engineer, however there won’t be big chunks of code or technical jargon thrown around, so it should be relatable for anyone.

    Picture of a Useless Box: https://commons.wikimedia.org/wiki/File:Useless_box.jpg

  • Old Tools, New(ish) Tricks: Static Methods with C# Dependency Injection

    Most of my time producing software is spent in JavaScript/TypeScript/node these days, but I still like to keep an eye on C#/dotnet. It’s important to keep yourself exposed to different languages and ecosystems, as often neat solutions to problems can be found in other languages, because the common uses are different. One aspect of JavaScript I’ve really grown to love is the functions. Being able to declare and use functions like variables unlocks some really nice code patterns, and using libraries like neverthrow or just raw promises can allow you to enforce error handling into your application. So recently when writing some C#, I’ve wanted to bring this kind of thinking with me, and it’s been quite an experience.

    Image of Handaxes

  • Traefik Control: Using OAuth2 Proxy with Traefik

    In recent months a lot of my world has revolved around kubernetes. Full disclosure on my biases - K8S has routinely impressed me and I’ve found it really easy to work with. The only thing that has given me trouble has been Ingress - in a lot of ways because in my downtime I’m working with a “bare metal” cluster on some Raspberry Pi’s (a subject for another day). This podcast episode is a great listen into why this can be problematic, as it talks about how K8S basically expects you to be using a load balancer from a cloud provider.

    Initially using nginx-ingress, I then migrated to Traefik when I moved from MicroK8S to K3s. The performance and stability improvements have been amazing, but I struggled to find a good explanation on how I could continue to use Oauth2 Proxy to protect my applications.

    KubeCube Image

  • Happy Path: Build Projects You'll Come Back To

    You’ve got that side project you were working on, right? It’s been a few months, work has been busy, life has been happening, so it’s not like you’ve done much with it. But you’ve got a nice clear weekend afternoon, with a few free hours you’ve already mentally earmarked to work on that new feature you wanted to add. Except you pick it up, and it’s like it’s been written by another person - spaghetti everywhere, dozens of TODO comments, the styling is completely broken and doing an npm i reveals a frankly terrifying list of packages that need updating.

    Maybe I’ll just go do the gardening instead…

    Messy Workshop - Source https://commons.wikimedia.org/wiki/File:Railway_workshop_museum_exhibition_in_Ljubljana,_Slovenia.jpg

  • Being Emptyheaded: The Subtle Art of Being a Rubber Duck

    It’s not hard to find writing about the benefits of pair programming. As much as I sometimes enjoy tinkering away with a problem in isolation, it is easy to see that working in a pair (or sometimes even a mob) easily improves both the speed and quality of output. Throw in the extra benefits of having multiple people understanding the code, different perspectives unlocking simpler solutions, the ability to mentor members of the team - makes it hard to argue against the practice. One of the trickiest things to learn when pair programming is how to take your hands off the wheel and let someone else drive - here is my perspective on it, and maybe you’ll find some handy ideas here.

    Rubber Duck

subscribe via RSS