send me an email
HN user
deivid
I have a computer-related blog at https://blog.davidv.dev/
You can contact me at hello+hn@davidv.dev
send me an email
I spent a day fiddling with AI and dropping the expensive layers in kokoro, on phones, on CPU, on MNN, it runs 3x faster.
Quality is very close.
Will vary in your setup, but here is my script: https://github.com/DavidVentura/translator-rs/blob/master/sc...
I am making (open) finetunes for malayalam and kannada (and bengali, gujarati, hebrew), and need someone to transcribe a few images for me. Could you contact me if you are interested in helping?
Amazing! I'd recommend using PaddlePaddle OCR models if you want to make your handwriting conversion local, it's definitely fast enough. Probably faster than the Sonnet call.
I tried the model on your handwriting and it worked great. My handwriting is bad enough that it doesn't work :)
Commercial or FOSS? I've been researching the mobile side and it's very exciting!
Sounds great, but if you din't cave to apple/google (eg: graphene, lineage), models are not built-in. Every app needs to ship their own models, and they are not tiny.
Is there a solution for this? I'm currently just making users download onnx models if they want a feature, but it's not smooth UX
There's definitely a much smaller, cleaner kubernetes hiding inside the current monstrosity.
LB, Services, pods, DNS gets you like 99% of the way there
How do you manage to finish things? After a while, for me, the novelty high wears out, and instead it becomes a wall. Some project require something silly, like sending 1 email to be completed, and it becomes an impossible task
This captures a lot of how I've been feeling lately. Thanks for sharing
With this approach I managed to get to sub-10ms start (to pid1), if you can accept a few constraints there's plenty of room!
Though my version was only tested on Linux hosts
Have played it a few times, it's really good
Working (again) on an offline translator for Android: https://github.com/davidventura/offline-translator
This week I added TTS support, which needed multiple inference pipelines, it was not easy to find models for 50 languages!
At this point, it mostly works as a crude implementation of Google translate+Google lens, but 100% offline and 100% Google-free
Niiiiiice, I've been working on something like this, but reducing linux boot time instead of snapshot restore time; obviously my solution doesn't work for heavy runtimes
Says fast, but how fast? Didn't really see any measurements
TCC is fantastic! Very hackable, easy to compile to WASM for some interesting in-browser compilation
That makes sense, I guess this was not a problem for the times I needed nolibc.
I do agree that trying to extract data/logic from linux is a pain -- I've tried a few times to extract some of the eBPF verifier handling, but end up pulling most of the kernel along.
Unikraft is cool, I still have it in my 'todo' list to play around with sometime.
Linking the app with the 'kernel' seems pretty nice, would be cool to see what that looks like for a virtio-only environment.
Just wanted to point out that the 150ms is not snapshot based, you can get <10ms for small vms (128MB ram, 2GB ram moves you to ~15ms range), for 'cold' boots.
Would it be cheating to use the kernel's nolibc?
You can do <10ms. I was working to see if I could get it under 1ms, but my best was 3.5ms
You can boot a vm without snapshots in < 10ms, just need a minimal kernel.
This is really well written, thanks for sharing.
I didn't understand the point of using Unikraft though, if you can boot linux in much less than 150ms, with a far less exotic environment
I wanted to add all kind of exercises, but I'm not sure what's a good way of presenting a deployment exercise.
On libbcc specifically, I'm not sure it's worth it, CO-RE / BTF is where things are heading, and any reasonably new kernel supports it (<5 years old)
Thanks for sharing my site!
I've been thinking about building a platform like this for a while, and it was quite fun to build.
Let me know if you have questions or ideas for new exercises.
Downsizing from a 27" 5k to a 24" 4k, could not find anything besides a new company called JAPANNEXT (they are French)
It's an interesting idea. I'm butchering TCC (tiny c compiler) for a side project/experiment, and using arenas sped it up 2x. This of course requires the memory limit to be specified in advance, but for my situation that's fine.
IMO eBPF is best viewed as a mechanism that allows you to load "arbitrary" code in specific kernel paths, while guaranteeing that the kernel won't hang or crash.
That's it. Though I said "arbitrary" because the program has to pass the verifier, which limits valid programs to ones where it can make the stability guarantees.
I'm not sure it'll be a serious project, but the main goal is to use it in CI or dev, where setting up postgres is kind of a pain.
I got it to work already by setting up the global context in single-user mode (like postgres --single) and exposing bindings for SPI operations.
Yesterday night I got extensions working, but as this project builds as a static archive, the extensions also have to be part of the build. Both plpgsql and pgvector worked fine.
The bigger challenge is dealing with global state -- comparing the pre-start and post-shutdown state of the process memory, about 200 globals change state. Been slowly making progress to get restarts working
Building postgres server as a library. Some early success, but initdb and in-process restarts are much harder than expected
I've been writing on my blog for 9 years. Still feel the same blockers you do on every new post.
For me, the main motivation is that I enjoy reading other people's blogs, and hopefully my posts give someone ekse a similar enjoyment
I had a few attempts to lower the bar (tags for low effort, short and shitpost so far), but it feels like a crutch and hasn't worked long term for me.