May be it is just the matter to compose a few good HOW-TOs. What I gave up on once was creating slabs with rounded edges. Basically imagine a slab which looks like an iPhone icon: you have in the plane of the slab rather a large corner radius, but for rounding the edges of the resulting slab, a much smaller one.
Writing now about it, I think I could do it with a torus, where the radius of its cross section is the small radius, the torus radius is the large one, take two of them, add two cylinders to only keep one quarter edge and then take a quarter of the resulting bevelled disk.
Sure. For practical purposes, the number is infinite. This is why I found the bug and the bug report so amusing: In "normal" language, the sentence is correct, but for a mathematician, especially such a renowned professor, it is an amazing blunder. Bonus points for being the first word in the document.
Any open source software should be considered "international" and there are a lot of European contributions to that universe.
The topic of "European" programming languages is highly interesting in the sense that there were a lot of highly developments done in Europe, but they are often less noticed than the counterparts popular in the US. The reason to look more into them would not be so much today's independence, but more to resurrect good concepts that kind of got ignored by history.
There is the ISLisp standard, of course the treasure chest of languages and works boy Nikolas Wirth and so much more. Europe has many great universities, their creations usually are free.
Of course, you could call Python an European language and Go heavily draws from the Wirth's language family.
The big difference between ISO languages, which were more relevant during cold war days and the modern open source approach is who gets to contribute the code and where are those repos hosted.
Khronos and RISC-V now have locations outside US for a reason.
Would you like to elaborate, if you disagree with my statement? Of course it was very shortened, because the point of my post was an entirely different one.
If you want a longer version: open source software under the normal licenses give you irrevocable rights to use it, as it is open source, you can also administrate it. You have full control over it. That was the core of my statement. Additionally, European authors are major contributors to many of this software. So in what exactly do you disagree with me?
Yet most contributions to biggest FOSS projects like Linux, LLVM etc come from US corpos and institutions. Non-US actors may leverage them, but control over those projects is in hand of US actors, even if letters describing the license doesn't state that, because power in real world doesn't reside in license files or even commit stats.
Yes, in theory Europe (let's ignore there is no such political entity as Europe, but people pretend there is) could hard-fork them and maintain it, but in practice it won't happen, because if it could, it would already.
There is the EU as a political entity covering large parts of Europe. But here Europe can easily mean the same as "not the US".
There are plenty of Linux forks. Which are maintained independently. In the moment it becomes relevant, any of them could be used in an instant. There is Debian, There is Suse. There is no lack of international Linux variants.
Which, to be provocative, begs the question: why isn't this tooling part of the compiler, that is, why aren't the diagnostics always produced by default, or even considered errors?
The most push back we get against making the language or compiler stricter is not for this reason though, it is mostly that the maintenance burden for existing code is considered to high.
But this illustrates how absurd the discussion is nowadays. Incrementally making things stricter and fixing warnings along the way is one of the most cost efficient way to improve quality and safety. Rewriting the software one of the most expensive. So if the former is rejected because the burden is too high, then obviously the overall aim to make things safer can not be too important and the push for rewrites must partially be motivated by other interests.
At a moment he mentions a trick he played on JPL folks, his static analysis tool, instead of showing all the issues found, would only display the top 10, without telling them there were actually more than 10.
So they felt motivated to fix them, it were only 10 after all.
Naturally eventually they became aware of the trick.
Sure, but looking at C's age, the language was changed significantly over time. With one of those changes, certain things could have been considered compile errors, not optional tooling.
Or if you turn your argument around: if people depend on workflows and automation (I do of course too), then this is a good reason to standardize the diagnostics and errors of the checking tools to the point where the workflows and automation can depend on them. Otherwise they will remain tools which are completely optional to run, or even worse, are not part of your normal work flow.
Looks cool! Plate solving is an incredibly useful technology for astronomy, putting it into the smartphone makes it available for a lot of "non-smart" setups. Only one question: does it have a polar align feature? This is my biggest challenge, when e.g. setting up a simple star tracker. The app would be very useful for this.
We have a prototype polar alignment feature in the works! The benefit of plate solving is you can actually do a two-point polar alignment: just take two pictures with different RA, and we will know where the axis is. Taking more pictures would improve accuracy.
Eventually it might. We don't have any good ideas about what would help without things getting much worse.
What we do need now is finally the determination to fight climate change. We have all the tools at our disposal to eliminate any fossil fuel burning within some years. We should finally take this as the priority it should be.
Writing now about it, I think I could do it with a torus, where the radius of its cross section is the small radius, the torus radius is the large one, take two of them, add two cylinders to only keep one quarter edge and then take a quarter of the resulting bevelled disk.