I’m a technical kinda guy, doing technical kinda stuff.

  • 1 Post
  • 124 Comments
Joined 2 years ago
cake
Cake day: September 27th, 2023

help-circle
  • The cable between the two boards would be a maximum of 50cm. 3 of the signals are addresses for a multiplexer that would change at a maximum speed of 2ms per change. One of the other signals is a 20khz pwm signal. The final signal is a zc detector for mains so max Freq of 100/120hz.

    None of this will be a problem over 50cm of cat5. If you were talking about millivolt or MHz signalling then you’d have to be a bit more careful.


  • Regarding wifi and power draw, you could always do batch uploading of data to another server at something like a 1:10 ratio, or upload only when there’s a change of more than 1 degree or similar.

    There are some low power deep sleep esp32 boards out there that can do like 3-6 months on a couple of AA batteries. A lot of power draw comes from hanging around on wifi doing dhcp, so having fixed addresses can cut down power usage considerably.

    Even without using the wifi side of things the esp32 boards come with lots of IO , plenty of drivers for various devices, and a reasonable in-house (i.e. not Arduino) development environment so I’d be leaning in that direction.

    You could also look at Sharp’s memory LCD as opposed to normal LCD, as that’s extremely low power without the fiddlyness of e-ink screens.




  • It’s really more about the overall flavor of the spreadsheet than how “right” any individual field is.

    Just like the Xerox copier/scanners that helpfully kept scanned images small by reusing parts of the image elsewhere. Like, all these 6s on your scanned invoices can totally be replaced with 8s. There’s just a tiny degradation in the overall image, it shouldn’t be a problem!

    Xerox should have just called it AI compression and people would have been throwing money at them.



  • It looks like your drive is going offline randomly, or at least, when it warms up a little. All the IO errors look like various subsystems trying to write to something that’s not there anymore, which is why there’s nothing visible in the logs when you look later.

    Could be the drive, could be the drive controller on the motherboard, could be just that your nvme drive just needs to be taken out of its slot and reseated, could be something weird in your BIOS setup that’s causing mayhem (bus timings, etc).

    Personally I’d reseat your drive in its slot first and go from there.



  • Some 3:1 glue lined heat shrink on the backs of each connector might do the job.

    The glue melts during heating and with a 3:1 ratio you get quite a bit of glue forced in around the wires as it shrinks. It then sets pretty robustly once you get down towards room temperature.

    You could try shrinking maybe some 6 or 10mm heatshrink over approx 25-50mm either side of the connector (with a bit of overlap on the connector) and see how it goes. Fully shrunk it’s pretty chunky but it won’t be any bigger than the connector.




    • Algorithm shows a preview of a chaotic scene where the content isn’t easily identified.
    • You open / interact / linger on it to figure out what is happening before identifying it as something you don’t want to look at.
    • Algorithm detects increased interaction and happily serves up more.

    I play a little game with Instagram sometimes. I click on one (1) thirst trap bikini girl post in the search reel. Then I see how many times I have to press the little 3 dot menu and pick “not interested” on allllll the other thirst trap bikini girl posts that immediately appear.

    I generally have to press “not interested” about 15 times before my feed reverts to only having bikini girl thirst traps once every 20 or so posts.







  • I was talking more about unwrap causing a panic rather than calling the actual panic macro directly. Rust forces the programmer to deal with bad or ambiguous results, and what that is exactly is entirely decided by the function you are calling. If a function decides to return None when (system timer mod 2 == 0), then you’d better check for None in your code. Edit: otherwise your code is ending now with a panic, as opposed to your code merrily trotting down the path of undefined behaviour and a segfault or similar later on.

    Once you get to a point where we are doing the actual panic, well, that is starting to just be semantics.