HNHacker News
TopNewBestAskShowJobs

epilys

1,091 karma · joined December 24, 2020

Virtualization and Emulation Engineer at Linaro, speaking on behalf of myself and not my employer

Maintainer of Rust subsystem on QEMU, and vhost-user devices on rust-vmm. Making a terminal e-mail client in my free time.

https://github.com/epilys https://pitsidianak.is/ manos@pitsidianak.is @epilys:matrix.org

submissionscomments
epilys··on Ayllu: Hackable Code Forge Built on Open Standards
How is the Gerrit self-hosting experience? Easy to setup?
epilys··on State of Mozilla
Ctrl+F for "Firefox" returns one result, a "Download Firefox" link. What is Mozilla if not Firefox? (rhetorical question)
epilys··on Miyazaki's 'The Boy and the Heron' makes clear the world is a fragile place
Nausicaa the comic is incredible, beautiful, bigger story than the film, and has deeper worldbuilding. I second the recommendation.

Miyazaki has also two books with collected essays/articles of his; I have the first one and I would not strongly recommend them though they have wonderful sketch art inside. The essays are mostly old man rants about how everything is done worse these days and they weren't even written recently.

epilys··on IBM Rebus
Check out his design manual for IBM. https://standardsmanual.com/products/ibm-graphic-design-guid...

It's an incredibly beautiful book, not so for the corporate stuff, but for the elegance in Rand's designs. There's even a section in how all sorts of stationary is supposed to look.

epilys··on How Rust can facilitate new contributors while decreasing vulnerabilities [pdf]
It does look horrible, never denied that in my post. Also, I am not part of any community despite writing Rust. There's a lot of stuff online that is borderline insanity in terms of developer UX. I personally try not to generalise on things that stand out like that; it's selection bias.
epilys··on How Rust can facilitate new contributors while decreasing vulnerabilities [pdf]
> You and other Rust enthusiasts are missing the point.

Please, there's no need to make this "us vs them" :) I explained what's happening without saying it's the best approach possible.

> In C or any C-based language or even Python, you can just call either a function passing the reference to the GPIO pointer, or just GPIO |= 1.

You can do this in Rust just fine by using raw pointers (references). The point is, in complex programs (not the example from the embedded rust book necessarily) it's possible to make memory safety mistakes. While in Rust it is not unless you choose so.

This is not about which approach is better, it's a matter of fact. Whether you prefer the one or the other is your personal choice.

epilys··on How Rust can facilitate new contributors while decreasing vulnerabilities [pdf]
This is because of how the tutorial author and the crate they use chose to represent the IO. In this case it is a Mutex, wrapping a reference counted pointer, wrapping an Option<[GPIO type]> to prevent uninitialised stuff being accessed before they are ready. So the "problem" here is the secure abstractions they use over I/O. You can write another interface to avoid the borrow().borrow().unwrap().unwrap().whatever() chain calls.

It might look better if you split it in lines:

let mutex = MY_GPIO.borrow(cs).borrow().as_ref().unwrap(); mutex.odr.modify(|_, w| w.odr1().set_bit());

epilys··on Adding Roman Numeral Literals to Python (2003)
Look at old latin inscriptions in Europe and you might see IIII instead of IV. Turns out the rules of Roman numerals we know today are a recent convention :)
epilys··on Qualcomm Snapdragon 8 Gen 3 gains upstream Linux support
The actual announcement https://www.linaro.org/blog/upstream-linux-support-now-avail...
epilys··on Bandcamp's Entire Union Bargaining Team Was Laid Off
Do you perhaps know how this works legally? I'm curious. Did their contracts under Epic say something in the lines of, "on the event of ownership change your contracts are null and void" just like that?
epilys··on Tsundoku – Phenomenon of acquiring reading materials but letting them pile up
Correlated with ADHD perhaps? It's common to pile up "to do lists" that grow faster than one can handle.
epilys··on CD Projekt Red devs unionise after its third round of layoffs in three months
The usual suspect: it's publicly traded.
epilys··on An implantable device could enable injection-free control of diabetes
If you have type 1, you too can lead a normal life if you don't do any physically demanding activity, eat nothing, have no stress, do not get any common infection like the common cold, do not have any natural metabolic rate changes.. etc etc /s.

There are so many things that affect blood sugar both in the short and long run. T1D treatment is constant correcting for the past hours, not just the moment and future.

I wish it was easier to communicate this to people and journalists, because there are so many misconceptions like the one quoted here that makes T1D an even more invisible disability.

epilys··on Was Async Fn a Mistake?
the main problem is that there needs to be someone in charge of waking up your thread when it's ready, and also to run it. in your case you don't need the run part. But the waking part is tied to what the future is: a busy polling loop, a sleeping select, an io_uring; in fact it can be anything. You can manually make a future that returns immediately or sleeps forever. The rest of your code has no way to know these implementation details.
epilys··on Modos Paper Monitor (2022)
MNT Reform designer is pretty active on Mastodon, you can reach them very easily. https://mastodon.social/@mntmn
epilys··on Modos Paper Monitor (2022)
Thanks for sharing. I went through Wenting's blog and projects earlier and was in awe; I hope I can find a way to follow their updates somehow now that Twitter's gone and there's no RSS feed.
epilys··on Modos Paper Monitor (2022)
EPDC stands for E-paper display controller, correct?

I found the Caster Verilog on your github repo. Are you planning on shipping with all the controller logic on an FPGA?

Interesting and cool approach. Is this something that is already commonplace in the display industry? I have seen VGA controllers on (bigger) Xilinxes years ago as demos but I haven't read about it on shipped display-related products.

epilys··on Bounties Damage Open Source Projects
WASIX is not even a standard by the Bytecode Alliance, which makes the webassembly specs.
epilys··on Arm’s Neoverse V2
Second sentence in link: "They allow full control over the simulation, including profiling, debug and trace."
epilys··on Arm’s Neoverse V2
Arm has "Fast Models": https://developer.arm.com/Tools%20and%20Software/Fast%20Mode...
epilys··on Wayland Isn't Going to Save the Linux Desktop (2022)
The network one? No, it'd just make the guest able to show windows in the host's compositor without running one inside the guest.
epilys··on Wayland Isn't Going to Save the Linux Desktop (2022)
FYI: Wayland socket forwarding via the virtio-gpu device is going to get merged soon into upstream QEMU. The patch series is at qemu-devel right now. I have tested it, and works smoothly for 2D stuff. GPU rendering will be added in the future.
epilys··on Kagi Small Web
Discord really? why not IRC? I don't think having to use proprietary communication software that require accounts did with small web and open source.
epilys··on A DIY ‘bionic pancreas’ is changing diabetes care
The difference is the pancreas reacts immediately to changes and has no practical delay for its effects, same concept as PID controllers in engineering.
epilys··on A DIY ‘bionic pancreas’ is changing diabetes care
I'm on the Medtronic 780g hybrid loop and it's actually working. If I eat nothing and have no intense physical activity the CGM curve is a stable straight line.
epilys··on A DIY ‘bionic pancreas’ is changing diabetes care
Note that as with every insulin-pump system, it still has two major pain points:

- subcutaneous insulin doesn't act immediately, as it would if it was injected in the blood directly. it peaks in an hour and then wanes off at 3-4 hours.

- it cannot know external factors like how much carbohydrates you are eating, or if you are planning to work out, etc. Like conventional pumps you have to enter it manually.

Buying a sandwich and not having to think about carb grams and predosing at all sounds like a dream to me.

epilys··on In the Beginning was the Command Line (1999)
Context: https://en.wikipedia.org/wiki/In_the_Beginning..._Was_the_Co...
epilys··on A cheap radio hack disrupted Poland's railway system
There was a time you could just walk around with a radio receiver and spy on everyone's phonecalls (IMEI stingray). Iirc it's not possible/that easy anymore with LTE.
epilys··on Fastest branchless binary search
So this is basically a *safe* optimization, since the index will always be valid and there's no need for the compiler to do a check and unwrap, panic.

This is how unsafe {} should be used. Sometimes some things are true but the compiler can't know that. And here the unsafe {} means that it dereferences a raw pointer (the index that we know is valid). If the unsafe {} safety condition is valid, unsafe {} is, well, safe.

epilys··on Oscilloscope Music
One of my most favorite demoscene tracks is `Beams of Light` by TRSI.

It's 4 channels, the front two show an animation video in an oscilloscope at X-Y mode and the rear two are the music. It's very impressive:

https://www.youtube.com/watch?v=lVdWxKZVYC0

← PreviousPage 2 of 8Next →