ericseppanen
Joined 11 years ago
Joined 11 years ago
I may be stating the obvious, but that's a bit of a strawman. Yes, writing good FFI code is hard; yes it could result in security/soundness issues; yes, we could use better tools in this space.
But nobody rewrites C code in Rust if they believe existing codebase is free of memory safety hazards; they rewrite it because they think the result will contain fewer hazards, even accounting for the potential problems at the FFI boundary.
If I could remove tens of thousands of lines of hard-to-analyze C code, and replace it with tens of thousands of lines of safe Rust, paired with a few hundred lines of hard-to-analyze FFI adapters, that sounds like a pretty good tradeoff to me. I now know exactly where to focus my attention, and I can have confidence that the situation will only improve with time: better tooling may allow me to improve the dangerous FFI layer, and in the meantime I can recklessly improve the safe Rust module without fear of introducing new memory unsafety bugs, unsound behavior, or data races.
"Solo Hacker can be converted to a secure version, but normal Solo cannot be converted to a Hacker version."
This is probably the right tradeoff for most users. Solokeys has done a great job of providing continuous support for all of their products, and their software stack has been open source since the beginning. That (combined with the low price) makes them my first choice for a hardware security token.
Nice find! I had been wondering why I had been seeing odd TLS failure messages recently.
Not Einstein. It's a quote from a 1981 Narcotics Anonymous pamphlet.
"What’s that?" she asked.
"The ugliest T-shirt in the world," he said… "So ugly that digital cameras forget they’ve seen it."
I haven't seen this done on Linux. Has this trick been implemented on other systems?
I faced the same situation; after being rejected, all I had to do was file some extra paperwork ("special circumstances") saying that I'd left my job and no longer had any income.
Sorry, it doesn't count as open source if everyone needs your permission to run it.
The idea that a program can approach some optimal bug-free state, never to be modified or refactored again, doesn't resemble any project I've ever encountered.