290 karma · joined February 5, 2020
I know compute shaders exist, but I have found that with huge datasets and a wide variety of end-user hardware, it tends to end up with many lines of code and brittleness. So I’m curious about high performance CPU-only implementations.
- The numbers are too large, they break the consistency of typography.
- The rotary encoder sticks out too much. Rotate & move to the end of the enclosure, and mostly occlude it, like a mouse scroll wheel?
- I would prefer Page Up/Down and numpad.
I'm generally pro-C# and reducing developer effort however it rubs me the wrong way when simple UIs have lag.
Tauri seems like a step in the right direction so will be giving it a go.
With regards to C#/.NET 6, it is now easy to:
- Have zero-allocation code through the whole stack, making garbage collection zero/near-zero. [Span<T>, Memory<T>]
- Distribute platform specific all-in-one binaries with no unbundling/uncompression or need to install any runtime. [dotnet publish -r win-x64 -c Release -p:PublishSingleFile=true -p:PublishTrimmed=true]
- For hot-path optimisation (many available profiling tools), dive into new high-performance APIs such as CPU vector intrinsics, or native memory allocation (aligned or unaligned). [System.Runtime.Intrinsics.X86, System.Runtime.InteropServices.NativeMemory]
- For faster startup times: AOT compilation. (Not necessarily faster at runtime in general; JIT has advantages there with being able to detect hot paths)
These are just the features I've used, there are doubtless many more. In the future .NET 7, it will be possible to disable runtime marshalling so interop calls to C DLLs have no overhead (along with a compile-time analyzer to throw errors if the types you're using are not compatible, aka 'blittable').
Credit to Vale - it appears to be addressing all these things so there's certainly an interesting future ahead.
In my experience (and maybe you'll correlate), all materials involve compromise; there doesn't tend to be a case where a material is outstandingly better in all categories.
Comparing titanium vs. the best steels, it's half the weight but also half the modulus of elasticity and half the tensile yield strength. I wouldn't expect there to be much weight advantage when comparing two tubes with roughly equal properties but maybe this is a case of "every little bit helps"?
If I remember rightly, titanium is harder to process also.
It's common in FPGA/microcontroller designs to have 'input synchronizers' on inputs from long digital lines (on any input where you can't guarantee synchronicity) to prevent metastability problems, especially when crossing clock domains. I think that's likely the case here, there are both long lines and different clock domains.
Starting with a processor box the size of a large matchbox mounted to my chest, with wires going to my ears into hard plastic ear moulds. Moving to all the electronics (including the ‘receiver’, the speaker element) going behind my ear with a tube going into an acrylic or silicone ear mould. Finally today, it’s Receiver-in-Canal where the electronics are still behind the ear (but much smaller and direct Bluetooth connectivity) and the receiver moved to inside my ear canal inside a tiny plastic tip, making it nearly invisible (invisibility is both good, and bad. It can be useful for people to know you’re deaf with a quick glance at your ears.)
There has also been a shift from analog to digital along the way. Interestingly there’s a product called Phonak Lyric that uses analog but in a new way (a product that sits right next to your eardrum for months at a time). I’ve heard good things about it for mild hearing loss.
It seems to me there are no options for open source CAM, is this something you’re interested in? I can use a variety of CAD but when it comes to producing the tool paths and G code, I have to import into something like F360 which is unfortunate.
If a lighter frame was the design goal (but low cost wasn't!) then carbon fiber has an interesting stiffness/weight ratio and could have viscoelastic damping elements incorporated too. Realistically though, lightness isn't a prioritized design goal though I certainly see the appeal in marketing for home usage where you wouldn't need a crane to move the machine about.
Nice website!
The front and back panels of the t-shirt can be easily segmented into the desired size of rag (credit card sized for electronics, hand sized for the garage).
I would say that this latest generation of hearing aids (Phonak Marvel) is the first generation where I've felt like they've got it right. Direct bluetooth connection that just works, and with a very wide range of volume adjustment (older models that used add-on streamer would not go loud enough). People receiving my voice over bluetooth, using the hearing aid's onboard microphones, report good sound quality. Magic.
I've found the haversine formula to be a robust compromise between accuracy and computational complexity, where on a typical day, I'm doing 5000-200000 haversine calculations a second.