krzysz00
Joined 15 years ago
Joined 15 years ago
Technologies: Much of my recent experience is in Rust, but I've worked in several languages and have broad systems experience. So also Python, C++, program synthesis (including Z3), and more on the resume, Erlang, and so on.
I'm Krzysztof. I'm indefinitely pausing/dropping out of a PhD in program synthesis with my Master's, having realized I want to work on something more applied and that the structure of a PhD may not be for me. I'm overall looking for interesting work that's generally backend-focused. While much of my recent work has been on high-performance code generation, I'm actively open to expending out into roles like reliability engineering, infrastructure, and so on.
Resume: https://kdrewniak.com/resume.pdf
Email: [email protected]
IF you're curious, the relevant code is at https://github.com/krzysz00/rust-kernel/blob/master/kernel/m... . The functions that start with "rust_" are the allocator interface
You can't dodge all your rounding problems by changing base. There are binary-coded decimal (BCD) systems that store numbers as strings of decimal digits. You can generally find these in calculators (ever notice that a TI-84 overflows after 9.(9)e99) or some financial software. However, you'll still have problems like the 0.1 * 0.2 issue in binary floating-point. For example (assuming shorter-than-usual numbers):
2/3 = 0.66... ~ 0.66667
2/3 + 2/3 ~ 0.66667 + 0.66667 = 1.33334
However, 4/3 = 1.33333... ~ 1.33333, which isn't the same result.
Basically, you can't get away from this problem, you can only push it around to cases you care less about.
(You probably can't find an API for binary-coded decimal in $LANGUAGE unless $LANGUAGE is often used for tasks where you really really don't want any float-related gotchas since most everyone else doesn't care too much).
If that doesn't work, many lawyers give free consultations (AFAIK), and there's probably someone willing to take the case in exchange for X% of the settlement.