Skip to main content

Background

Recently I've become increasingly interested in accelerating my usage of debuggers. For the past 10 or so years I've been a gdb user. By user, I mean I would always use GDB from the command line without TUI, performing breaks, watches, examine, and control commands. More often I have been able to get away from using debuggers by simply getting better at static analysis through tools like objdump. Now with a new arsenal of toolchains and development environments that I've been accumulating throughout 2020, I want to reacquaint myself with runtime debugging.

Problems In The Workspace

I am a software engineer that works for the US Government. That comment itself can bring up a lot of mumblings about "government workers", "inherent wasted process", and so forth. While I agree it can feel that way, understanding the difference between "Business Administration" and "Public Administration" has helped me reconcile why the government is the way it is and why you must never think of it as a business. But that isn't what this article is about.

My Situation

Currently I am working on a project where I am writing a plugin for a service that is a sort of python as a service. You can think of it as a Function As A Service (FaaS) kind of architecture, but the idea is that you provide the service all the python dependencies for your functions when you deploy. Additionally, the service doesn't provide any build toolchains, therefore all dependencies should be delivered as a set of wheels instead of python source distributions.

I've lightly been using git for many years. This was mostly so that I could navigate the linux kernel tree and for exploration of the tool's distributed properties. My current office has been deeply invested in Subversion since 2005 and can't seem to find a smooth transition plan for moving to git.

Due to a growing awareness of unconcience bias, replacing terms that have historically (or directly) been associated with slavery or racially incensitive terminology has become a trend. To be mindful about this entire process I decided to do some "re-google" to learn what Git's context of its famously used "master" branch.

KeyValues is a web site that matches software engineers by their desirable values. This is kind of neat because it pre-filters companies that you may find yourself miserable at due to prioritizing based simply on location, money, or prestiege. These are only 3 dimensions in a career that you'll likely be spending a third of your day involved in, with the other 2 thirds being life and sleep.

Over the past decade I feel like I've fallen into the governmental hole where I became increasingly isolated with the tech world. Each time I would poke my head up I'd find everyone just scrambling to reinvent things that (I felt) had previously existed for years with new names and APIs. Since the pandemic of 2020, I've taken a significantly closer look into what I've been missing.

Code Server

I've had friends telling me about online IDEs and IDEs in the cloud for about a year now. At the time, I always thought, that's great but:

Protecting The Brand

I just listened to a podcast that made reference to "name debt". It was centered around how the interviewee wanted to present a new product and whether they should give the new product its own brand or ride an existing brand that it didn't quite fit within the scope of. The term "name debt" in google brought up another concept called "brand debt". Clicking on the first reasonable looking link led to some nice to know nuggets and a nice terse checklist that can help a non-business person like myself wrap my head around defending against brand debt.