Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)F
Posts
43
Comments
601
Joined
2 yr. ago

  • IIRC, POP3 downloaded all emails to local device. If you have more than one device, the first one gets it all and the second or more see nothing.

    IMAP kept the messages on the server so there was one source of truth and multiple devices could access the same emails.

    Most email clients support both. There are probably some people still running old POP3 clients, or they set it up one way and never bothered to change.

    Not sure why gmail would care. Code's been working for decades. Unless there are security considerations not worth mitigating.

  • Catch-22.

  • Arduino is based on the 'giant loop' model, where you initialize settings in the setup() function, then wait for events (inputs, timers, handlers, etc) in the loop() function.

    Each time, the loop() function has to finish before it can be called again. So if there are timing related actions, there's a chance they may fall out of sync or stutter. If you want to advance an animation frame, you'll need to maintain all the state, and hope the loop gets called often enough so the frame can advance. If you want to sync up the animation to an RTC, then you'll want to track whether the current loop syncs up with a time code before deciding whether to advance the animation (or not). Pretty soon your giant loop will likely get complicated and messy.

    Another option is to look at something like SoftPWM for controlling LEDs and see how they set up animation timing. Or to use the millis() function instead of delay() to manage timing. Adafruit has a nice tutorial on that: https://learn.adafruit.com/multi-tasking-the-arduino-part-1/using-millis-for-timing

    To get more asynchronous activity going, the next option is to move to a more task-based system like FreeRTOS. Here you set up 'tasks' which can yield to each other, so you can have more asynchronous events. But the mental model is very different than the Arduino loop. The toolchain is also completely different. Here's a decent primer: https://controllerstech.com/freertos-on-arduino-tutorial-part-1/

    If your target device is an ESP32, the underlying OS is actually FreeRTOS. Arduino is a compatibility layer on top. So you can use the Arduino IDE and toolchain to write FreeRTOS tasks. Many peripheral device drivers can also be shared between the two. However, the minute you switch to tasks, the Arduino loop doesn't work any more. Examples here: https://randomnerdtutorials.com/esp32-freertos-arduino-tasks/

    From your description, it sounds like you may want to switch to FreeRTOS tasks.

  • NSFW Deleted

    Permanently Deleted

    Jump
  • Never stay up on the barren heights of cleverness, but come down into the green valleys of silliness.

    • Ludwig Wittgenstein
  • Tyranny of the Right-handed.

  • Deleted

    Permanently Deleted

    Jump
  • Hol’ up. Coffee and red wine OK to give cats?

    New New Year’s resolutions unlocked.

  • It's been patiently biding its time for the opportunity to bite my shin.

  • If someone ever invents a time machine, they should travel back in time and dope-slap Dennis Ritchie into NOT making C strings null-terminated.

    So many security violations and malware can be traced back to that one decision.

    Edit: Curl dude abides: https://daniel.haxx.se/blog/2025/12/29/no-strcpy-either/

  • OK, just tried it with one of those old forms. Added a text field overlay and a signature. Even flattens before saving. Works great. Awesome, thanks!

  • Went to look up what XFA forms were (https://experienceleague.adobe.com/en/docs/experience-manager-learn/forms/document-services/pdf-forms-and-documents).

    Most of the non-fillable forms I encounter are what that document lists as "Traditional" PDF forms, likely generated using older tools from print streams. For example, a school athletics release form, or a membership application for a small organization. None of them have any fillable PDF fields. The original expectation might have been to download and print out the PDF, hand-fill it, then fax the result back.

    I'll dig up a form like that I had to fill a few weeks ago and give it a try.

  • He notes that LLM vendors have been training their models on Wikipedia content. But if the content contains incorrect information and citations, you get the sort of circular (incorrect) reference that leads to misinformation.

    One irony, he says, is that LLM vendors are now willing to pay for training data unpolluted by the hallucinated output their own products generate.

  • This looks great!

    Can you use it to overlay text fields and fill them?

    Most of my uses are basic. Like filling out a PDF form that doesn't have proper form entry fields. These are usually older government or bureaucratic/healthcare/school forms.

    I end up adding text boxes and entering values, or adding an X on top of a checkbox, adding a signature PNG file and scaling it to fit the size. Sometimes I have to add a highlight overlay. Then I save it all as a single flattened PDF file.

    Amazingly, this is hard to do in Acrobat and a lot of apps. I end up using a janky, 10-yo desktop app that is no longer supported.

  • Deleted

    Permanently Deleted

    Jump
  • Dear Mattermost...

  • When designing large, complex systems, you try to break things down into manageable chunks. For example, the bit that deals with user login or authentication. The payment bit. Something that needs to happen periodically. That sort of thing.

    Before you know it, there are tens, or hundreds of chunks, each talking to each other or getting triggered when something happens. Problem is, how do these bits share data with each other. You can copy all the data between each chunk, but that's not very time efficient. And if something goes wrong, you end up with a mess of inconsistent data everywhere.

    So what bits of data do you keep in a shared place? What gets copied around from place to place? And what gets only used for that one function to get the job done? This is the job of software architects to sort out.

    The author says the more copies of something you make, the more complexity and 'state' management you have to deal with. He's right, but there are ways to mitigate the problem.

  • Been running local models on laptop for almost two years 🤔

  • Are we back to jailbreaking? Because this has a teeny bit of jaikbreaking vibe?

  • What MySpace and other social content networks taught us was that most of the value was when young people treated them as outlets for self-expression. That's what made those places new and cool. Once the sites got corporatized, they gradually degraded into irrelevance.

    Guess we'll see.