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
750 karma · joined August 10, 2017
You can contact me at hello+hn@davidv.dev
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
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)
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.
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 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
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.
I got a cheap Tang Mega 238k but I never managed to even get the PCI examples working (and couldn't even adjust BAR settings)
See: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
C is so limited that you would try to avoid mutation and even complex datastructures.
Go is "powerful" enough to let you shoot yourself much harder.
Go with `const` and NonNull<ptr> (call it a reference if you need) would be a much nicer language
Just translating literally does not always work.
I am building an Android application and facing this issue. I've been thinking about going down the rabbit hole and linking each text to be translated to a screenshot or similar thing, so that the user sees their proposed translation in context
I will probably continue developing my apps, but it's not really moving forward.
At the time, it was pretty far outside my comfort zone and I had a looming deadline (dad's birthday). Writing the software to work "as I intended" turned out to be much harder than I'd expected, so I ended up hacking things and making single 8-hour long video for each channel (with some persistence, so on next boot it'd continue from where it was)
On the positive side, Dad loved it, and keeping the tuner (the channel dial) with some high resistance made the TV feel as if it was truly an original TV.
Unexpectedly, everybody loved the ads that I added! I think my family mostly felt nostalgic about them
Which added vnc support directly onto scrcpy, so I could leave a tablet plugged in to my headless server and access the tablet remotely via VNC
The alternative was to use X11vnc but it was janky and had some issues, plus higher cpu usage
I ran this with a custom fork to expose the device screen as a VNC server for years, no problems
I assume that every runtime must be forked to add such signal right before calling into usercode
I guess it depends on the workload, if you are snapshotting an already-loaded Python program, the time savings are huge, but if it's a program with fast startup, it's probably slower to snapshot.
> Waking up instantly on real traffic without breaking clients
is this for new TCP connections? Or also for connections opened prior to sleep?
[0]: https://github.com/mozilla/firefox-translations-models/
It's fairly simple to put a Pi inside a tv and hook it up, but it does feel almost like the real thing
[0]: https://blog.davidv.dev/posts/revamping-an-old-tv-as-a-gift/
In my case, I didn't make a native app because I don't use the wallet integration.
I wrote about it here: https://blog.davidv.dev/posts/trainmore-re/
I have a VisionFive2 as part of my lab (next to some arm and x86 sbc), with an nvme disk, and it's unbearably slow. It's still useful for testing platform compatibility, but I wouldn't recommend it to anyone.