meff

meff

@meff.bsky.social

Programmer, weeb, transit nerd, TTRPG. Proud cat dad. 日本語OK. 空っぽなアラサー社会人。 漫画、アニメ、読書、TRPG, コーヒーと紅茶。アニクラ⬆️⬆️ ハイキング、サイクリング ラーメンが大好き 黒猫派 Matrix: @meff:sunadokei.party Email / メール: meff@meff.me Pronouns: he/him

233 followers393 following1K posts

Thought I'd try ChatGPT again after a long time of using Claude. ChatGPT just feels a lot less steerable. With Claude I know I can get it to search by asking it to. I can generally "guide" Claude down certain ways of thinking or certain idea paths. ChatGPT seems more opaque.

Claude also sounds more like a STEM person and ChatGPT more like non-STEM. ChatGPT seems to one-shot stuff occasionally faster than Claude but also goes down paths that I don't want it to go. ChatGPT 5 vs Claude Sonnet 4.5 w/ Extended Thinking

Too much social media posting is how people want the world to be rather than how it is. It's human to want the world to be a certain way but when you get a room of 1000 people who only want to talk about an ideal world and not the real world, you get a lot of the bad stuff of social media.

Cool thread on remote work that didn't drown into shouting.

Charity Majors@charity.wtf

I have not paid a ton of attention to the uproar over RTO policies, bc we are all in on distributed teams and not going back. My impression (via social media) has been that these were shadow layoffs. Last month I asked an investor why they are doing RTO. He said: "Retention, mostly. And morale."

Feel like this sums up so much of what's up with the Western social media landscape today.

Grace@gracekind.net

This is terrible reporting, the feature they’re talking about doesn’t exist and they even acknowledge this in the article “Anthropic faces backlash to feature that doesn’t exist”

I always run cold so been logging some climate metrics. The house is around 67.2 °F (19.5 °C) at 50% RH which I find chilly. Turning on a mini forced air heater around my desk brings up the temperature to 70.6 °F (21.4 °C) at 48% RH which I find much more comfortable.

Perhaps the most interesting thing I've found is CO2 levels. When I sleep or exercise in the house, CO2 goes up significantly. I've started running the HVAC fan (it's cold outside) at night to keep CO2 levels low while sleeping.

meff reposted

Watch seismic waves from the M7.7 earthquake in Myanmar ripple across North America. This animation, called a Ground Motion Visualization (GMV), shows how the ground moved as detected by seismometers across the continent.

This weekend's #atdev goal is to get Postgres up on my server and use that to store labels and support cursors. Then I should be able to get my labeler up and serving real traffic!

Though admittedly I need to write all the scripts to run my code through runit and bubblewrap. It's a lot lighter weight than using podman or docker, but given that the laebler is mostly IO bound, I'd rather run it lean on my ancient mini PC in my house than in the cloud.

My setup is somewhere between servers as pets and servers as cattle. At some point I should write a blog post about the continuum between pets and cattle as I feel like it's a road less taken my folks who write net services.

Nerd comms online seem to be dominated by trauma dumping: 1. I dislike <thing> due to <reasons> 2. Get really angry about <reasons> 3. Write a rant post about how <reasons> make you feel angry and act very uncharitable in your rant 4. Make sure to post so that everyone else absorbs your anger

I feel like this is an old tradition back from the old days of ESR and Torvalds. I think folks like that and Usenet comms normalized this sort of ragepost ranting in the community. Now decades later, discourse on serious technical topics is still dominated by angry, uncharitable rants.

An irrational, angry rant sucks all the oxygen out of the conversation. It touches all the emotional buttons. Often it's done to make the writer feel better about their own emotional state at the cost of inflaming the readers and causing angry engagement. Is this good? Well it's the culture we have

Internet political fights in English: What they say: "Only Americans do it that way, the rest of the world is enlightened" What they mean: Western Europe does it this way. Let's ignore the rest of the world that does it the same as the US because only Western Europe matters.

Ran pprof with my Go #atproto labeler. 20% of my runtime was spent reading from the jetstream websocket and 4% on JSON parsing. Started terminating TLS upstream of the labeler and now the jetstream reader is taking up 15% of the runtime and 5% is on JSON parsing.

Tempted to build something that reads from the jetstream websocket and publishes protobufs using ZeroMQ onto a TCP stream. I should probably add a bit more labeling functionality before trying to shave more time. Still a bit anxious about running it on my potato 8 year old mini PC at home.

Wow I just iperf'd using SCTP on loopback on a modern kernel and able to only push 100 Mbits. On TCP I was able to push 8.93 Gbits. What?? How is SCTP so much slower than TCP?

Ran into a really nasty runit bug last night when trying to get a service running on my Void Linux box last night that kept me up for an hour for no reason.

View full thread

I'm guessing I ran into some weird behavior over symlinks and service supervision state because I didn't "down" the service before removing the symlink and when I added the symlink back the old supervision state was still there.

This is the kind of thing that makes the ideology of Unix minimalism seem so much more attractive than the reality of it. The sharp footguns. The cross domain concerns of OS, symlink, named pipe, and process. The lack of logging and debuggability. The reliance on order of operations to run correctly

Ran into a really nasty runit bug last night when trying to get a service running on my Void Linux box last night that kept me up for an hour for no reason.

View full thread

Killed the `runsvdir` process, resymlinked, and this time it worked! Ugh wasted an hour on something that should be stupid simple.

Ran into a really nasty runit bug last night when trying to get a service running on my Void Linux box last night that kept me up for an hour for no reason.

View full thread

Nuked the supervision dirs and re-symlinked a few times, stracing to see what was going on. No dice. The service kept coming up. If I killed the service it would get respawned. I looked at the pid's parents and it pointed to the shell I was in currently??

Talking it over with Claude I got a clue. Turns out `runsvdir` is actually doing the symlink monitoring and service monitoring. Even though the service was supposedly down, the process was running and `runsvdir` was running for the service.

Ran into a really nasty runit bug last night when trying to get a service running on my Void Linux box last night that kept me up for an hour for no reason.

View full thread

Then in the symlinked dir and the log subdir I found a supervision subdir. I removed the symlink again, then nuked both subdirs. Still did nothing. I'd tell runit to run my service but runit thought it was down.

I started stracing `sv start` but that did not help because the symlink behavior is what started the service and I couldn't figure out how to debug that. The plot thickens. Turns out every time I ran `sv start` the service started but runit thought the service wasn't up!

Ran into a really nasty runit bug last night when trying to get a service running on my Void Linux box last night that kept me up for an hour for no reason.

I should try and repro it. It's hit me before but I never understood it. I think I removed the service dir symlink before telling runit to take the service down. Then I modified the run script and re-symlinked. This did not work and the service became stuck in a weird state.

Working on an #atproto politics labeler. Sometimes I don't have the spoons to deal with politics so trying to get to a state I can temporarily mute politics when I'm not ready for it.