Programming Leftovers
-
Getting USB TEMPer2 temperature sensor readings into Prometheus (on Linux)
For reasons outside of the scope of this entry, we recently decided to get some inexpensive USB temperature sensors (we already have a number of old, industrial style temperature sensor boxes). What we wound up getting is the PCsensor TEMPer2; this model and PCsensor's USB temperature sensors in general seem to be a quite common choice (often resold under some other name). Getting our model going on Linux and getting metrics into our Prometheus setup took some work and head scratching, which I'd like to save other people.
-
Assuming optionality | Playing Perl 6␛b6xA Raku
PWC 180 Task 1 asks us to find the first unique character in a string. I wanted to have a nice interface where I would write:
[...]
The idea was to curry postcircumfix:<{ }> so it will be bound to a BagHash and always ask for :!exists. Alas, .assuming doesn’t do the right thing if the proto contains optional positions. I found a workaround utilising once.
-
The Value is in the API
Not the implementation. At my first job, I spent a lot of time digging into the fintech stack. I had become convinced that reverse engineering mobile banking APIs was the technically superior option to screen-scraping. I even took my unsolicited opinion to Hacker News, running into one of the Plaid founders (Plaid, like Yodlee before it, originally used screen-scraping). Plaid turned out to be wildly successful. I learned that the value is in the API, not the implementation. Sometimes a dirty implementation gets the job done.
-
nREPL 1.0
Yesterday I released nREPL 1.0. I hadn’t really planned to have the release then, but after cutting CIDER 1.5 (“Strasbourg”) a bit earlier that day, I decided that this was The Day.
[...]
This was quite the journey and I’m happy that we’ve made it to this massive milestone. If I knew how much work I’d need to put in to make nREPL 1.0 a reality back in 2018, I’d probably wouldn’t have volunteered for this task. But I’m very glad that I did! Working on nREPL was much trickier than working on CIDER in many ways and taught me a lot about patience2 and the value of maintaining backward compatibility. Outside of the initial namespace changes we didn’t break backward compatibility at all! Following in the footsteps of my one of my Clojure Heroes (Chas) wasn’t easy either, as I had quite the shoes to fill!
I’m really glad that mine & Chas’s theory that moving nREPL out of Clojure Contrib would result in more contributions turned out to be correct. We got where we did through the work of many people and I am thankful to all of them! And recently we’ve celebrated the 12th million download of nREPL after it’s development was restarted and I became the project’s maintainer. I hope this means we’re doing something right.
-
How to Increase Developer Velocity
Developer velocity is something that every engineering organization wants, but the steps aren't always clear on how to get it.
-
waifud Progress Report #2 - Xe
One of the biggest pain points in waifud for me has been the fact that I've needed to SSH into one of my development machines in order to do things with it. This is fine, most of the time I usually have an SSH session open to one of those machines and can easily do what I need while hacking away.
-
Rolisteam - Rolisteam Monthly update #3 - August 2022
Short introduction, the RCSE allows you to create charactersheet for any TTRPG. It is based on a visual editor to draw fields directly upon an image of the charactersheet. The editor part is using: QGraphicsView/QGraphicsScene and a table view to edit each field. Then the final result can be generated to get the sheet in QML.
-
Jussi Pakkanen: Questions to ask a prospective employer during a job interview
Question: Do developers in your organization have full admin rights on their own computer?
Rationale: While blocking admin rights might make sense for regular office workers it is a massive hindrance for software developers. They do need admin access for many things and not giving it to them is a direct productivity hit. You might also note that Google does give all their developers root access to their own dev machines and see how they respond.
Question: Are developers free to choose and install the operating system on their development machines? If yes, can you do all administrative and bureaucracy task from "non-official" operating systems?
Rationale: Most software projects nowadays deal with Linux somehow and many people are thus more productive (and happier) if they can use a Linux desktop for their development. If the company mandates the use of "IT-approved" Windows install where 50% of all CPU time is spent on virus scanners and the like, productivity takes a big hit. There are also some web services that either just don't work on Linux or are a massive pain to use if they do (the web UI of Outlook being a major guilty party here).