1,757 karma · joined September 28, 2011
Forget CAD, we don't even have a good way to version control images, something programmers work with every day, besides "use Git LFS and pretend an image is just a pointer".
edit: just saw GumTree mentioned above. Guess I have something to check out...
I think some people do not like UBo because by default it is a little light on blocking so most websites just work. Well, you can configure it to block more things, and if you use uMatrix you already are willing to deal with the pain of this process.
You leave so much performance on the table if you demand cryptographically secure perf for everything. That means no caching, everything runs in fixed, worst case time, and the amount of work must be fixed as well so there is not any variation in power draw.
Here is a simpler solution - do not run untrusted code on your computer. It is just that easy™.
PS: I disable JavaScript by default in my browser, and manually whitelist exceptions, for the same reason. I also turned off Spectre mitigation on my workstation.
There's another tier of PCB design tools above Altium with matching cost per seat, e.g. Mentor Graphics Expedition. Unigraphics, for mech Es.
Both of the above owned by Siemens! They certainly know how to charge large sums of money!
Mathworks: the company that I wouldn't pay paying money to, if it wasn't such a ridiculously large sum. I don't have any issue paying for Jetbrains IDEs, but it's an order of magnitude smaller than Mathwork's yearly take.
Meanwhile the junior-intermediate devs spend most of their working hours writing code, so they are extremely sensitive to the 5-10% productivity bump that could be gotten by using {nicer language, better build system, static analysis tooling/sanitizers, ${TOOLING_IMPROVEMENT}.
I'm talking real advances in productivity. Imagine working on a C++98 codebase today in 2021 because you're working on a very large industrial product that's been around for decades. It can be demoralizing, like having to write COBOL or FORTRAN.
Then I decided to pretend I time-traveled back to the 90s - now I just write HTML, by hand, with a simple CSS style.
If CSS was any more complicated, I would've just written pure text in HTML and decorated things with ascii art.
You can host these trivially on GitHub, but back in the day I also used nearlyfreespeech.net to host my static websites. I don't know if they are still alive and kicking, but if so, would recommend.
I've also realized that among my professional contacts, people are starting to blog technical articles on LinkedIn. I think that's probably a decent way to go as well if you want discoverability.
Plus, inheriting abstract interface classes is more convenient than writing a vtable by hand when such a thing makes sense. You don't have to participate in Java-style class voodoo if you don't want to.
I am sure all the other languages mentioned like Rust, Zig, and D are very good too, but C++ is where all the high-performance libraries live, and whatever productivity gains I would get by switching languages is utterly dwarfed by that.
Even today, in 2021, I have to use CMake 2.8.12 / GCC 4.8.5 in order to build code that will deploy on a CentOS 7 server. That means I have to backport the CMake file of every dependency that declares a minimum_requirement of 3+.
It is extremely powerful but also extremely tedious, like programming in MPI.
But I agree with the first sentence. Lots of miner cards are undervolted because what matters is performance per watt, just like many server cpus.
I even write terminal user interfaces sometimes to interact with servers that don't have a desktop environment installed.
e.g. 32-bit floating point is what GPUs are made for, while FPGAs really only handle integers unless you've purchased an expensive one with specialized arithmetic units on chip (e.g. DSP48 slice for Xilinx).