@cato@chaos.social
@cato@chaos.social avatar

cato

@cato@chaos.social

Electronics design and hardware hacking, especially passenger information systems • Furry • Be excellent to each other ❤️ • Happy to talk to you! • I'll accept nearly all follow requests unless your profile is empty.
Toots are mostly in English, occasionally in German.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

cato, to random
@cato@chaos.social avatar

@ordnung gibt es eigentlich irgendwelche Pläne, mehr Emojis zu integrieren, z.B. blob/neofox/-cat? Das ist so ziemlich das Einzige, was ich an der Instanz aktuell schade finde, dass es die nicht gibt ^^''

Ansonsten fühle ich mich hier echt wohl 🥰

Terry_The_Husky, to random
@Terry_The_Husky@mastodon.social avatar
cato,
@cato@chaos.social avatar
hoshi, to random German
cato,
@cato@chaos.social avatar

@hoshi Ich dachte früher echt, dass der Briefkasten am Haus so funktioniert. :D

cato, to random
@cato@chaos.social avatar

coding while listening to Frédéric Chopin's Piano Sonata No 2 in B flat minor, aka "the funeral march" I never actually listened to that in full before and it's not even that sad. it's just beautiful and calming :3

cato,
@cato@chaos.social avatar

@Kamikazepinguin ohhh organs are great too! :D

cato,
@cato@chaos.social avatar

@Kamikazepinguin alternative reply: throws you a spleen

cato, to random
@cato@chaos.social avatar

looking through old code (LCD train display controller) to see why it is so unstable and crashes more often than it should. Off to a good start with loads of uninitialised variables in a header file?? why didn't I just put them in the C file and init them to 0 omg

cato,
@cato@chaos.social avatar

oh my god I think I didn't know about extern in C back then

that explains a lot

cato,
@cato@chaos.social avatar

the good thing is it crashes (seemingly) only when using the heap

which is reassuring because that's kinda fuck-up central anyway

cato,
@cato@chaos.social avatar

oh great it's a heisenbug

cato,
@cato@chaos.social avatar

I KNEW IT

cato,
@cato@chaos.social avatar

Funnily enough I'm not using the regular heap, but a custom implementation (made by @kenakapheus years ago) but I have no idea why

cato,
@cato@chaos.social avatar

The offending line is

while (block->next && block->next->flags == 0)

and it only fails in release builds. I suspect with optimisations the comparisons might execute out of order and fail if block->next is NULL? hmmm

cato, (edited )
@cato@chaos.social avatar

good thing: one fault consistently appears on the 14th iteration of what I'm doing and the total crash consistently happens on the 21st iteration lmao

at least I can debug this nicely then

edit: no it doesnt

cato,
@cato@chaos.social avatar

@kenakapheus I'd prefer to work out the issue I'm having first

cato,
@cato@chaos.social avatar

it does not have to do with the order of the comparisons. block-> next is, in fact, not NULL. It is, however, 0xf0cff8df, which is not quite within the usable address space

cato,
@cato@chaos.social avatar

i cannot believe it

i found out that free() was not to blame. it was given a pointer that pointed to just beyond the area managed by the custom malloc/free implementation. why? well turns out if i rename my malloc() to something else and use that instead, it magically allocates memory inside my own area. so the compiler sneakily used the stock malloc implementation, but my custom free implementation (???)
no wonder that caused issues.

cato,
@cato@chaos.social avatar

alright, successfully fixed the two biggest instabilities in my LCD platform display :3

(the second one was a communication error caused by a ring buffer index not wrapping around correctly in certain cases)

cato, to random
@cato@chaos.social avatar

Remote debugging over the network with OpenOCD still feels magical to me. My target is in another room, yet I can flash and step through the code from my PC

cato, to random
@cato@chaos.social avatar

No public transport strikes in Hessen until at least April 15. FurryTram is safe 😌

cato, to random
@cato@chaos.social avatar

Just got a spontaneous idea for a nice thing for ... let's see if this can become reality

cato, to random
@cato@chaos.social avatar

me: Okay I want 65 plastic cards with a different print on each one of them, can you do that?
print shop: yes, that's a special order at a higher price
me: okay, I'll order it
print shop: okay here is your order, please upload the print files on the website
me: uploads
print shop: you ordered a double-sided product but sent us 130 pages, please correct that
me:
me:
me: you dense motherfuckers

cato,
@cato@chaos.social avatar

@wawik exactly

I swear to god if they pull an NFC-

cato,
@cato@chaos.social avatar

I quickly changed my print PDF so that the 9 blank badges are at the beginning. This way, if they fuck up, they're probably gonna print 65 blank badges (with a field to manually write the name) instead of 65 badges of the first attendee in the list

cato, to random
@cato@chaos.social avatar

Finally got one of those es.motion 2020 pants from Strauss :3 luckily I can just go to their physical store and try it on before buying :D

cato,
@cato@chaos.social avatar

@garfieldairlines well they're good

Karb_Derg, to random
@Karb_Derg@derg.social avatar

Why are there two different types of small 'g'? ​:neofox_think:​

RE: https://social.vivaldi.net/users/brucelawson/statuses/112149984509581262

cato,
@cato@chaos.social avatar

@Karb_Derg Same with the small a! Some fonts just have different variants for aesthetic purposes :3

cato,
@cato@chaos.social avatar

@Karb_Derg Good question, I don't actually know xD

beandev, to random German
@beandev@social.tchncs.de avatar

: Radlerin kracht gegen geöffnete Autotür und wird von Kleinbus überrollt

https://www.tag24.de/leipzig/unfall-leipzig/radlerin-kracht-in-leipzig-gegen-geoeffnete-autotuer-und-wird-von-kleinbus-ueberrollt-3138636

Eine unglückliche Verkettung von Ereignissen?

Ja, scheiß Verkehrspolitik, ignorante Autoparker und Autofahrer. Übersehen? Nicht hingeschaut. Konnte nicht ausweichen? Falscher Abstand hinter der Radfahrerin und falscher Abstand, wenn es ein Überholvorgang war.

cato,
@cato@chaos.social avatar

@frank @anikke @beandev Hä? Wenn der Anhalteweg 28m beträgt, dann muss er halt mehr als 28m Abstand halten...? Das entschuldigt gar nichts.

cato,
@cato@chaos.social avatar

@frank @anikke @beandev

Deinen Punkten stimme ich grundsätzlich zu, allerdings möchte ich zum 2. Punkt anmerken: Meinen Kommentar sehe ich jetzt noch nicht als "einprügeln" und es ist halt doch so, dass die Autofahrenden mehr tun können, um die Straßen sicherer zu machen, als Radfahrende, da von ihnen prinzipbedingt die größere Gefahr ausgeht. (das sage ich selbst als jemand, der fast ausschließlich Auto fährt)

cato, to random
@cato@chaos.social avatar

So I had some problems on a remote Raspberry Pi system that uses an LTE USB modem for internet. It kept dropping out. It seems to be caused by a bad USB connection. So I implemented a crude workaround by rebooting the thing every night at 03:14 (It's several hours away from me so I can't easily get to it physically). I quickly noticed in the Grafana dashboard that there is a gap in the data every night between ~03:00 until ~06:00. Uh-oh.

cato,
@cato@chaos.social avatar

I was confused, why would the reboot take so much time? Was Why did it always coma back at 06:00?
I got around to have a look now, while it was happening. I SSH'd into the Pi and checked the uptime at around 04:00, when it should have been roughly 45 minutes. It said "03:02:00 uptime 2 min". Uhhh. I checked again. Now the system time was correct, and shortly after that, it rebooted again.

cato,
@cato@chaos.social avatar

Well. Turns out that cron does in fact catch up on jobs that have a specific hour set if the system time jumps forward by up to three hours. So for some reason, it didn't save the system time when rebooting, came back to a time before the reboot cronjob, then adjusted the system time and until 06:14, cron kept executing the reboot cronjob after the system time had been set. 🤦‍♂️

cato,
@cato@chaos.social avatar

And I just realised why it didn't save the time - I have set up the system to have as much as possible mounted read-only. Including the hwclock file. I do sync that hourly though, mounting rw for a brief time. But not on reboot :D

cato,
@cato@chaos.social avatar

So it always saved the time at 03:00, rebooted at 03:14, then went back to 03:00 and repeated

cato,
@cato@chaos.social avatar

Fixed by simply mounting / rw before rebooting :D

cato, to random
@cato@chaos.social avatar

Gonna build a filament storage box with outlets for the filament!

cato,
@cato@chaos.social avatar

I ordered a euro box without holes and with a lid, and I started by applying sealing strips to the lid. Unfortunately, the shape of the lid makes it a suboptimal fit, but better than nothing. Might have to revise this later.

Lid closed, bending upwards due to the thickness of the seal

cato, to random
@cato@chaos.social avatar

I really need to get a hackerspace passport and catch up on some spaces and events

cato,
@cato@chaos.social avatar

@schnittchen apparnetly some spaces have them

cato,
@cato@chaos.social avatar

@Karb_Derg oh nooo haha, it's just a fun thing where you can collect stamps in different spaces and events, like with an actual passport when you travel to another country :D

cato,
@cato@chaos.social avatar

@Karb_Derg nooo, the complete opposite is the case! All hacker events I know are specifically open for anybody :3

cato, to random
@cato@chaos.social avatar

How is it that GIMP has no way of applying the same actions (e.g. brightness / contrast adjustments) to multiple layers at once. This seems like such a basic feature, especially when dealing with animations. 🫠

cato,
@cato@chaos.social avatar

The "ofn-layer-tiles" plugin helps here :3

cato, to random
@cato@chaos.social avatar

Here are some of my projects!

Electric kart: https://chaos.social/@cato/110351901522958130

Electric rail kart: https://chaos.social/@cato/108967607324154366

Musical electric scooter: https://chaos.social/@cato/108823756524983809

Inventory management with PartKeepr, barcode scanner and a flipdot display: https://chaos.social/@cato/109967967692530895

Four-line 16-segment display: https://chaos.social/@cato/105833025673594821

Large RGB 16-segment display: https://chaos.social/@cato/109347908391259594

Airport LCD departure board: https://chaos.social/@cato/108656090360622256

Oil-filled flipdot display: https://chaos.social/@cato/107769463839811977

cato, (edited )
@cato@chaos.social avatar
cato, to random
@cato@chaos.social avatar

Today, my lawn tractor seat arrived and I mounted it to my kart. It's really nicely cushioned and dampened and despite being way too large, you can drive comfortably. You just shouldn't go fast, otherwise you'll fall over.

I'll keep the seats swappable, so I can use this seat for e.g. camping events, to drive slowly across uneven fields, and use the classic seat for going fast :D

The entire Kettcar. Instead of the regular hard plastic seat, it has a big, yellow lawn tractor seat.

cato,
@cato@chaos.social avatar

Kart update: Designed a proper cover for the 400A contactor to also protect the screw connections :3

Inside view of the cover showing two pegs to put screws through

cato,
@cato@chaos.social avatar

looking forward to printing this 5 times, noticing a new problem each time :3

cato,
@cato@chaos.social avatar

I printed slices of it and tweaked it until it fit. Then I printed the final part and it fits ✨perfectly✨ :D
The text didn't come out great, but that's not important :3

open contactor seen from the front and the inside of the case next to it
Case on contactor seen from the front. It says "Original Catcar" on the cover
case on contactor seen from the side, with cutouts to route wires through

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • Hentai
  • doujinshi
  • announcements
  • general
  • All magazines