In this article published on the Alan tech blog, we explain how my team has reduced the runtime of our longest nightly job from 21h to about 8 minutes, by using simple profiling and SQLAlchemy optimizations.
I find that an immersive sound ambiance is key to helping tabletop RPG players engage. It can increase their stress and sense of urgency during a fight, galvanize them during a harrowing speech, or break their heart when they realize they've just lost something and there's no getting it back. In that article, I will walk you through the design of my fully DIY sound mixer, inspired by the Launchpad, allowing me to create a great sound ambiance at the table.
In this article, I will explain the impact the Datadog IPO and the years that followed it had on me, both financially and psychologically, as transparently as I can. The intention is to examine how such an event can change one's life, either positively or not, and give you some return of experience on the choices that I made.
In this article, I will go through how I set up code coverage measurement for
bo, my text editor written in Rust, and publicly hosted the coverage report on S3.
Software engineers sometimes have a reputation for being overly critical when it comes to tools and programming languages. The web is full of rants, heated debates and articles about what technology is "better" and which is "crap". It was thus refreshing to read an post titled Software I'm thankful for, that shone a light on some pieces of software in a positive light. In honor of this article, I've decided to go through the same exercise.
Given the fact that running a Datadog agent on a Synology Play NAS is not obvious, I wanted to enable Discord webhooks push notifications (as this is where my Datadog alerts are already being sent). This way, I'd get plenty of alerts "for free" without having to configure new Datadog …
Last month, Ardèche experienced very heavy precipitations in the span of couple of hours. As a result, the dam located upriver from me opened the floodgates (literally), which caused the Chassezac level to raise by about 6.5m in about 1.5h. I've setup some monitoring using Datadog and Pagerduty to make sure I know about it as soon as possible.
I've recently designed a 2 session long (6h) detour into the Underdark, that would feed into one of my player's character's backstory. The goal was to allow him to meet his long-disappeared father, while introducing both the players and the characters to the strange and dangerous land that is the Underdark.
If you have been following my Essential Tools and Practices for the Aspiring Software Developer posts and were anxious to read more, you might have noticed that they stopped coming after a while. I have a draft for the last chapter, and I regularly think about getting back to it, at least to get some closure. Alas, procrastination being what it is, I never did. My procrastination level became really interesting when I convinced myself that one of the reasons that I didn't want to write that final chapter was that my text editor was standing in the way. I was either using a full-fledged code editor (Sublime Text/VSCode) riddled with complex features I didn't need (autocompletion, linting, etc) or getting lost in configuring
vim into the perfect markdown editor. Either way, these were the wrong tools for the job, and my only way to get back to writing was to.. write my own?
I have spent quite a lot of time using Dungeondraft recently, as I've designed many homebrewed places and encounters. The more maps I created, the more assets pack I bought from CartographyAssets, to further enrich and improve them. I quickly started to realize that some of these asset packs caused the tag list to be filled with entries that weren't linked to any assets at all. This made the asset discovery process quite frustrating.