104 karma · joined July 31, 2019
I have this argument with people all the time and the conclusion is always like: "it is too hard to integrate the generator with the build system so we check them in".
The big problem with generated files is merge conflicts. How do you resolve a merge conflict on generated files. especially if they are binary.
Apple still considers Macbooks as trucks: they are for developers and professionals, not gamers or everyday users. They want non-developers to buy iPad and that is why there is no sub-$1000 MacBook.
We had to put so much effort to just run things on Rosetta because all of our compiled code had AVX enabled. We also needed to chase down pre-compiled binaries and re-compile them without AVX, we still haven't finished this work.
It is possible to build all kinds of cool things on top of SQLite, but most of these articles sound like it is going to replace PostgreSQL or MySQL.
At home switching to Wi-Fi 6 has solved some f dead zone problems. I notice a stark contrast between performance of Wi-Fi 5 and Wi-Fi 6 devices.
WebAssembly is not a stand-alone application development package. It doesn’t have many of the functionalities of Flash, Applets, Silverlight or even NaCl. It has no API on its own to interact with display or keyboard and mouse. and none of the features you find in a VM such as multi threading or a memory allocator
For enterprise users, this attack vector is a real threat. Microsoft definitely wants to dog food this technology to their own employees to avoid getting hacked.
However, I would let people file issues and would just let them sit there if they are not a paying for it. This way at least the known issues are documented and there would be less duplication.
Letting people fix their own problems is a good strategy. However, if you are encouraging people to send PRs, then there is a maintenance problem. Especially if some eager people decide to add major feature or refactor the code.
And yet most OSS doesn't do that. Almost all widely used OSS has some other revenue model (if any). Volunteer maintainers keep complaining about burnout, and yet they don't directly ask for money for writing the software.
OSS authors don't owe anything to users if the users are not paying back. This is exactly why all OSS licenses contain the pharese ABOSLUTELY NO WARRANTY.
Linux always runs well on HW that is a few years old. or HW that was specifically certified for Linux, such as Thinkpads.
A minimal Linux system requires many GNU utilities and software from other projects to give you a basic command prompt with network connectivity. A Desktop system requires GNOME, KDE, etc.
Contrast this with BSD where a default install gives you a base system. There are BSD distros, but they only focus on orchestration and higher level components, not the base system.
I would even say, some of the problems didn't exist in C# in 2009. C# always had value types with configurable in memory layout. It also has a very good mmap solution. It also allows for hand optimize things using unsafe blocks.
For F#, they started with OCaml syntax and semantics; then modified it to make it a true .NET language. They added features that were not in OCaml like inheritance & interfaces. and removed features that were unnecessary in .NET like functors.
https://fsharp.org/history/hopl-final/hopl-fsharp.pdf Early F# compiler even had ml-compatibility mode which would make syntax closer to OCaml, it was probably used for bootstrapping.
FWIW, I have switched to Powershell & Python for most of my work. I only use Python when I have to share scripts with colleages, though. Powershell still beats Python for scripting.
In the benchmarks, Clear Linux also beats Ubuntu for the same reason, Intel engineers understand Intel CPUs better than anybody else.
M1 makes this kind of comparison close to impossible. There is Asahi Linux now, but it is far from a production level Linux and I don't think it will ever perform as good as macOS. For the same reason above.