Programming Leftovers
-
Role Title Terminology
In my writing about hiring and management, I often talk about role titles – terms like “manager”, “director”, “executive”, and so forth. I’ve found that many readers find the precise definitions of these terms confusing. Often companies give lofty-sounding titles as a sort of non-financial compensation, so you’ll often see things like a “VP” title meaning wildly different things and different companies. I’m generally all for descriptivism in language, but there are some very real differences between different types of roles, and having clear terms helps us communicate about them.
So here’s a glossary of the terms I use when I’m talking about job titles. I think this mostly matches a rough consensus among people who think about organization structure, but if something here’s controversial drop me a line and let me know.
-
Take a Break You Idiot
After long bouts of work—months and months uninterrupted—I become a slug person; small hurdles spike my anxiety, my anger flares at the slightest confrontation, I notice fewer jokes, fewer attempts on my part to make people laugh. My memory goes to all hell too and I can’t seem to concentrate on prolonged amounts of anything. Books fall off my radar, I stop listening to music. My phone is in my hand at all times, scrolly-anxiety-inducing apps become impossible to avoid.
I know the cure: work less! Take a break! Stop doing things and do even fewer things than you think you ought to! Take a week! Take two! Stop all forms of work, go exercise and write, go learn how to do something entirely else. But each time I forget my own advice until I’m at this point, where I am now: basically useless.
-
Know your carrying capacity
I like to think of the collection of things that someone can reasonably maintain as their "carrying capacity", to borrow the ecology term. If you take on more than your carrying capacity, something has to die (aka fall into disrepair). With modern software being so garbage, I think one big reason is that there are too many software professionals out there who don't know their carrying capacity.
-
TDD and 'Discipline'
There is, of course. a relatively benign notion of “discipline”, connoting something like a rich and deep subject which does require practice to become expert. And surely, TDD in all its implications is something that will benefit from as much practice as we can give it. I have practiced it for years, and when working on something where I know how to apply it, I practice it daily. I wouldn’t do that because someone told me to do it. I pretty much won’t do anything because someone tells me to do it. I do things because I want to, and because I enjoy them. I try never to tell others what to do, and I try never to be in situations where someone else can tell me what to do.
-
Using a Framework will harm the maintenance of your software
In this article I'm putting together my quotes, thoughts and notes on the idea that Frameworks harm the maintainability of the software you build in that framework.
-
Self Hosting Git Repositories with Stagit | Jon Eskin's Website
An alternative to using forges like Github to host your source repositories is to host them yourself. This commonly involves running git as a daemon on a server and deploying a web interface such as gitea, gitlab, cgit, or sourcehut. These projects essentially serve web applications that interface with git repositories on your server.
However, if you’re not hosting large, established projects with frequent contributors, these options are probably overkill. Another option I came across recently is stagit. Unlike the aforementioned projects, stagit does not serve dynamic web content; it’s a static site generator that traverses git repositories using libgit2.
Stagit is easier to setup and maintain and comparitively light on resource usage. Since it’s only creating static pages, it also approach limits your server’s attack surface.
On the other hand, it doesn’t provide features such as a web-based PR interface or an issue tracker. You can always ask patches over email or through git send-email, and there are plenty of tools for issue trackers or mailing lists if some of your projects warrant them.
I set up Stagit on the VPS that I host this blog from; you can see it’s output by navigating to the Git link in the nav header on this page. It was a very smooth process and I’m happy with the result, so I thought I’d write up a quick post about the project.
-
What is TDD (Test Driven Development)?
Test-driven development (TDD) is an iterative methodology that entails the conversion of each component of the application into a test case before it is built and then testing and tracking the component repeatedly. This article explains the test-driven development process and discusses its benefits and limitations.
-
PHP version 8.0.25RC1 and 8.1.12RC1 - Remi's RPM repository - Blog
Release Candidate versions are available in testing repository for Fedora and Enterprise Linux (RHEL / CentOS / Alma / Rocky and other clones) to allow more people to test them. They are available as Software Collections, for a parallel installation, perfect solution for such tests, and also as base packages.
-
KDE Frameworks 6 Windows CI and Branching Plan [Ed: Utter, total waste of time; over the past 15 years, several times, KDE wasted time on Windows in vain]
During Akademy last week important next steps for proceeding with the migration to KDE Frameworks 6 have been discussed. Meanwhile we also got closer to full platform parity with the rollout of the Qt 6 Windows CI.