back
user profile

uecker

2,147karma·1,822submissions·April 14, 2020
about
Computational Magnetic Resonance Imaging, Real-time Magnetic Resonance Imaging, GCC Contributor, BART Toolbox, Member of ISO C WG14
recent activity (1,822 total)
comment
I agree. I do not find UB very problematic in practice. It is still certainly a challenge when writing security sensitive code to fully make sure there is no issue left. (also of course, model checker…
2y ago·view thread
comment
I agree that an extension (e.g. a pragma or some high-level operations similar to ckd_{add,sub,mul}) that allows writing code with fixed timing would be very useful. But we have generally the problem …
2y ago·view thread
comment
It is completely unreasonable though to assume that a compiler should now preserve some assumed (!) timing of source operations. It would be reasonable to implement (and later standardize) a pragma or…
2y ago·view thread
comment
Why not just turn off (or down) optimizations? I mean, optimization is not even activated by default
2y ago·view thread
comment
The linux kernel nowadays uses the fact that signed overflow is UB to detect problems using sanitizers. It turns out the defined unsigned wraparound is now the hard problem.
2y ago·view thread
comment
I am complaining about the usual phrases which are part of the Rust marketing, like the "just hire better C programmer did not work" or the "why are there still CVEs" pseudo argum…
2y ago·view thread
comment
Rewriting is rarely a good idea in general. Rust proponents like to pretend that it is impossible to avoid safety issues in C while it is automatically given in Rust. But this is not so simply in real…
2y ago·view thread
comment
In the unix world we use distribution package managers. This has many advantages, including security updates, some robustness against supply chain attacks, large-scale integration. All this language…
2y ago·view thread
comment
I am not really convinced. I could easily see Rust in the wild be full of unwrap, unsafe, etc.. if written by people that do not bother but are forced to use Rust. And then, what is even the right beh…
2y ago·view thread
comment
The point is that merely using Rust would not automatically prevent this problem. Of course you could use Rust and forbid all unwrap(). But then question is why you could not forbid all unchecked dere…
2y ago·view thread
comment
This is a lot "in my opinion better or worse". I disagree. And yes, it happens that stuff is written in C. But it is not discussed every time on HN such as the many "XY written in Rus…
2y ago·view thread
comment
Some of the most reliable software I use is written in C. Software I use for decades and which never crashed for me. I can't say this about much other software. Clearly, you can write shitty sof…
2y ago·view thread
comment
The problem here was that the kernel process got a fault, so a panic wouldn't have made a difference.
2y ago·view thread
comment
Here is my attempt at strings in C (and other stuff). https://github.com/uecker/noplate (attention: this is experimental and incomplete for trying ideas and is subject to change.…
2y ago·view thread
comment
I think a couple of people hired to to work on Linux graphics did not like dealing with legacy code (who does?) and somehow convinced their incompetent managers that everything has to be rewritten.^1 …
2y ago·view thread
comment
The story that X11 somehow forces programs to use outdated drawing primitives was never really true as a long as I can remember. Compositing on X11 exists. In principle, it is an extensible generic re…
2y ago·view thread
comment
There may be different definitions, but also a lot of incorrect information. Nothing changes with C23 except that we added a note that clarifies that UB can not time-travel. The semantic model in C on…
2y ago·view thread
comment
Thank you. This was my motivation. It is only a small step... much more work to do.
2y ago·view thread
comment
The definition of UB (which hasn't changed) is: "behavior, upon use of a nonportable or erroneous program construct or of erroneous data, for which this document imposes no requirement."…
2y ago·view thread
comment
What consequences?
2y ago·view thread
comment
I am a member of WG14. You should check the C standard. I do not see how "time-travel" is a possible reading of the definition of UB in C. We added another footnote to C23 to counter this …
2y ago·view thread
comment
The poster is me. You are right that this is not an example for time-travel. There aren't really good examples for true time travel because compilers generally do not do this. But my point is tha…
2y ago·view thread
comment
Yes, random blog posts did a lot of damage here. Also broken compilers [1]. Note that blog post is correct about C++ but incorrectly assumes this is true for C as well. [1]. https://develo…
2y ago·view thread
comment
Yes, and with undefined behavior, the compiler has to emit code that has the behavior defined by the code up to the operation that has undefined behavior.
2y ago·view thread
comment
This is certainly true. I am also not in the position to see all my contributions accepted. But it is also unclear how to improve the situation. Big open-source projects certainly are dominated by com…
2y ago·view thread
comment
UB can not travel back in time in C. Although it is true that it can affect previous instructions, but that code is reordered or transformed in complicated ways is true even without UB.
2y ago·view thread
comment
I absolutely I agree that learning to create you own abstractions is an incredible useful skill. It depends though. For a programming course this makes absolutely sense. But for applied problems in,…
2y ago·view thread
comment
The warning is very clear. If you did intend to use the result of an assignment as truth value, you would notice. In any case, did not have a single problem with this type of error in the last decade…
2y ago·view thread
comment
I wasn't involved back then, but I know the history. I thought you were talking about something more recent. But this is all opinions and terms such as "unholy mess" etc do not impress …
2y ago·view thread
comment
I force my students to do C development. And it turns out that it is not that hard if you approach it with modern tools which catch a lot of problems. The lack of abstraction is fixed with good librar…
2y ago·view thread