lobsters score: 1 · tags: ask, programming
$WORK: finishing up a rewrite in Go of a small Python service that regularly falls under pressure and does some CPU-bound operations which would benefit both from running in a faster language and from being released from the GIL. Seeing the benchmark numbers is both validating and appalling. How much time did we collectively waste working on “performance uplifts” that really just stem from one bad non-decision?
$FUN(?): figuring out RAR50’s unpack code and perhaps improving my Watchy’s Rust firmware watchface a lil bit.
score 1 · canonical
The Rust firmware for Watchy sounds exciting! I see you started working on it a while ago. How far along is it right now? Is it a complete replacement for the C/C++ firmware?
score 1 · canonical
The watchface itself right now is very basic, it only displays the time and the battery, but I think all the pieces that are needed to make a replacement for the C++ firmware are done! The clock, accelerometer, and display drivers are working. The main part that I haven’t tested yet is wi-fi and BLE, though I think it should only be a matter of wiring up esp-radio.
But yeah, as for functionality the firmware is still very much a WIP :)
You can find it here.
score 1 · canonical
Missing the weather and food in Barcelona. (Though I’m relieved that my bank balance is no longer in free fall 😹)
Today had lunch with a colleague who is visiting Scotland, from Canada. We’ve worked together for about five years, but this was only the second time we met in person.
score 1 · canonical
Work: Well someone at work vibe coded an entire application port without notifying anyone in engineering … So I’m trying to contend with that.
There were a myriad of issues with it that, upon fixing them, has ballooned the PR even more.
I’m trying to think of ways to make this sort of behavior less risky. Small team though, we just don’t have the patterns or codebase in place to give an LLM a safe skeleton to build around. The answer seems to be slow down but, being a startup, it’s hard to pump the brakes.
Personal: partner’s birthday this week. I also have a few personal projects I want to start working on to keep my sanity. Gleam right now is a language that brings me a lot of comfort! I’ve been thinking of spinning up something to play with the at protocol. Not sure what though! Also have a few programming books I’ve been kicking around to get a better handle of OTP with gleam ^^
score 1 · canonical
Classes start on Wednesday. I’m getting the master’s degree required to teach secondary school. I have not studied in more than 20 years, I’m a bit scared. (Also because it’s remote teaching and I’m not sure how I will adapt. I was a taking-notes-with-a-pen person, but writing using a pen is exhausting to me now. Not sure how I will keep engaged, as so far I dislike video as a way of learning stuff.)
I wrote a dumb Klondike solver (50% solve rate, apparently you can get to 80%. My brain does 14%). I was thinking about writing a Klondike game, but…
-
I’d like multidevice support, and I don’t want to run a service, nor I want to tie people to a single cloud storage provider. https://remotestorage.io/ sounds good, but I’d like something better and it does not seem to exist. (E.g. a library that allows you to target different cloud storage providers like Google Drive and iCloud. Unfortunately, Nextcloud does not have great support to work as an application storage backend :(
-
I’d like to write something I can deploy to phones and desktops. I’d like it to be accessible. I think my best option might be web technologies and perhaps Tauri. But I really feel a bit lazy about doing complex UI work. I did some Yew in the past and my solver is Rust, so I could go in that direction.
After finishing the solver, I started dabbling in a monitoring system which is Nagios with a few twists. Configuration so far is much simpler (just a bunch of commands to run), plugins are a bit more complex (a single plugin can provide n check results), and it’s based around DuckDB. I have two processes ready; one that schedules and runs checks, the other receives check results and dumps them to DuckDB. DuckDB has this fancy thing where you can start an HTTP/SQL API thing in process, so my plan was to have an alerting process that just queries DuckDB for stuff that should notify. With SQL/views I should be able to make the notification logic pretty customizable.
It’s a neat idea and what I have is close to being useful. However, I did this because my Nagios setup was annoying (Nagios sends alerts after X checks fail. Can’t have a different X for warning and critical states without a ton of configuration. My setup should make this easy.)… but I found that a) my warning notifications which were bothering me… I could just mute them without effect and b) they come from a monitoring agent I wrote ages ago that monitors many things, including systemd units… but I realized I can’t get systemd to report what I need properly :(
With regards to Klondike, I bought a deck of cards because that was the most convenient way I could think of to verify my solver. And then I realized that my motor skills suck. So I’ve been playing some physical Klondike to train a bit my hands. Also I’ve learned I have delicate hands, because fiddling with cards hurts my fingers! I might play a bit more.
score 1 · canonical
-
tomorrow i’m getting my covid + flu shots. If earlier experiences are any indication i’m most likely going to be wrecked for a day or so afterwards
aside from that: exhaust myself further by desperately trying to demonstrate that i still have anything meaningful to offer in an AI world.
(and hopefully sleep. insomnia’s been hitting me hard for the last couple of weeks.)
score 1 · canonical
$PERSONAL: Exploring ideas for a concatenative programming language based on records instead of stacks and with built-in persistence. It is a very fun language to write and I have a couple of websites built on it as well (it has a liveview-like construct). Also classes for the math degree I started have started so probably study a bit. At a time when I write a lot of software with LLMs, doing math by hand and understanding concepts feels very nice. I bought a blackboard and some Hagoromo chalk to put me in the mood hahaha. Kid is sick as well so time with her.
$WORK: Hear in opera singing Buuuuuuuuurnooooooooout
score 1 · canonical
Enjoying Ace Combat 8. Stepping in to help a struggling work project. But it’s an eroding job, so, thinking up a side project I can use both for personal interest and as a networking topic.
score 1 · canonical
I’m dealing with a lot of things at the moment and have decided to compensate myself by taking Chinese lessons three times a week. I have been doing lessons once weekly, but I think three times a week is just going to be so rewarding.
I’ve also started cycling more, I’ve got an ebike. So I’ll probably do that as well. And the existential crisis as mentioned in another thread.
score 1 · canonical
Breathing a sigh of relief after my first live conference talk went up on YouTube. I did a lite intro to some of the more powerful Ada features. I ended several minutes early so I was concerned I sped through it, but it turned out ok. I always wanted to give a conference talk, so I’m really thankful for the opportunity.
Other than that, still really enjoying Discourses by Epictetus.
score 1 · canonical
Sadly, this week I’m having to adopt a “when in Rome” mentality at work, with respect to using LLMs. I’m worried that management will think I’m incompetent if I can’t slop at the rate at which my colleagues do. It’s a shame, as programming no longer interests me at all. So, on the side, I am looking at other career avenues.
score 2 · canonical
Mostly-for-fun experimental C++ port of Marginalia’s index is progressing.
Buffer pool is done I think and I’m pleased with how it’s turned out. Attacking the main index structure next. These two are like the epicenter of highly technical and deeply fiddly work. When they’re done I think it’s time to decide whether to port the entire thing or call it a day.
Feeling pretty optimistic this might be happening though. Overall the C++ version is a fair bit more expressive mostly owing to Java’s awkward paths to directly manipulating memory, made even worse by the lack of standard operations (binary search, sort) for off-heap memory.
score 1 · canonical

