https://x.com/kenwarner/status/1436385090679017477
I go for long walks at night a few times a week and find myself journaling a lot then. It got annoying to stop my walk to type out a thought so much, eventually I started primarily voice typing instead.
But I still had to stop and pull up the Google form, then start voice typing, fix any mistakes, and then continue the walk. So I moved on to just turning on a recording app on during the walks and just start talking whenever I want without having to stop or pull out my phone.
https://x.com/kenwarner/status/1817348131291291892
I transcribe the audio file when I get home and add it with a summary to the journal.
Now I keep a livestream going while I'm working at my PC and transcribe and summarize whatever happens there too.
It’s designed for exactly this kind of use—hands-free, continuous voice capture while you go about your day. You get access to your raw data through an open API, so there’s no lock-in.
(Disclaimer: I work there)
We've received great feedback from ADHD users about how it has helped them throughout their lives
i have seen some try and fail in an effort to save $perceived_value
Dedicated Real-Time Cores: Many SoCs include dedicated cores specifically for hard real-time tasks.
Microcontroller Companions: Pairing a microcontroller running a lightweight RTOS with a larger, general-purpose processor as a supervisor (You can use normal Linux).
FPGAs: Custom FPGA implementations can deliver deterministic timing where ultra-low latency or specialized processing is needed.
And ofc, RT Linux, that in my experience is suitable for over 80% of hard real-time applications (an estimation, based on experience as a former user—your mileage may vary).I've retrofitted some near unmaintainable embedded systems, and one of the easiest ways to improve spaghetti code is refactoring some of the vars into state machines/statecharts.
Btw, state machines play well with event sourcing and clustering.
EG: Subdivide a flat projection of earth into n^2 squares. Create an array of length n^2. Set the value of each element in the array to a list of canidate geofences(which have area in that square).
Scale lat and long between 0 and 1. Then you can index directly into it with PrecomputedArray[floor(lat*n+long)]
This is trading space for time, may as well choose space here.
Great approach!
Remote: Yes (US time zones preferred)
Willing to relocate: No
Technologies: C/C++, Embedded Linux (Yocto, RT), Zephyr, Qt, Python, Typescript, AWS, Elixir/Phoenix
Résumé/CV: https://www.linkedin.com/in/jonas-dourado/
Email: jonas.jonaias (at) gmail.com
I am a Software/Firmware Engineer with 14+ years of experience bridging the gap between hardware constraints and user experience. I specialize in system optimization, embedded systems (bare-metal to Linux), and scalable backends.
Highlights:
- Firmware: Yocto, Zephyr, Linux, FreeRTOS, BLE, DSP, ARM/MIPS/x86.
- Backend/Infra: AWS (CloudFormation, IoT), Elixir/Phoenix, CI/CD pipelines.
- Recent impact: Owned the full audio pipeline at Limitless AI (from firmware audio codec to backend storage) and optimized audio playback latency to <800 ms at p99. At R-Zero, reduced the firmware flashing step by 10 minutes per unit on the manufacturing line.
- Experience: Limitless AI (Wearable), SunPower (Energy), and R-Zero (IoT Health).
Comfortable owning the stack end-to-end—from low-level drivers and real-time firmware to backend ingestion, cloud services, and operations. Strong recommendations available from leads at my last 3 projects.
Open to consulting or full-time. Happy to hop on a call to review your architecture or discuss optimization bottlenecks.