HN user

donuteaters

32 karma
Posts0
Comments6
View on HN
No posts found.

There are plenty of people panicking about climate change... Perhaps other people are allowed to think about other things. Or would you replace ALL of scientific study with the single topic you consider most important?

In 20 years or so, if it turns out that all of the dire predictions were significantly overblown, would you at least have the courtesy to blush in embarrassment for the current alarmism?

You calculate the factorization (QR, LU, or similar), but you never calculate the inverse of the factorization:

    A x = b
    A => QR  # QR decomposition
    Q R x = b
    R x = Q' b  # Q is inverted by transposing
    x = backsubstitute(R, Q' b)
Q was the transpose of it's inverse, and so you don't get any rounding error when you transpose it. R didn't need to be inverted because it was in a form where back substitution lets you apply the inverse of R to be without needing the inverse of R.

I really wish Rust was as great as you advocates say, but that has not been my experience. For background: I've been following it for a while now. About a year or so ago, I dove it into with enthusiasm, but I got bit when the sigils went away, and so I backed off until the 1.0 release. After the 1.0 release, I figured it was ready so I spent another couple of weeks learning the new way of things and really hoping that it would be my replacement for C and C++. I really wanted Rust to be great.

Unfortunately, it has lots of warts that have sent me crawling back to C++. Addressing the particular item you're talking about here, manually specifying lifetimes of objects is a cure that's worse than the disease. It's great when the compiler infers everything for you, but I'm never going to be able to explain the syntax or semantics of those ugly 'a marks to my coworkers who aren't interested in programming language theory.

Anyways, I've been tempted to write a full blog post listing all of my Rust complaints, but I figured it's better to just quietly let you guys enjoy your thing. However, whenever I see these advocacy posts from you and the other Rust honchos, I can't help but scream a little bit inside. It's really not as good as it could've been.

To be really specific: it's great that you got "zero-overhead memory-safety", but I can't even implement fundamental data structures without using unsafe blocks and lifetime annotations.

Actually, all of those have something strongly resembling a kernel, and DOS in particular makes a nice distinction between the basic services (BIOS) and whatever userland you choose to install on top of it. I think you're making my point - "Operating System" used to mean the "kernel" before RMS wanted to ride on Linux's coat tails and Microsoft wanted to bundle their browser anti-competitively - both of which are distasteful.

Once upon a time, before RMS re-defined the term for his benefit, the phrase "Operating System" meant what we now call the kernel. You can see the legacy of this in Computer Science departments around the country where they teach an "Operating Systems" course which covers implementing schedulers, file systems, device drivers, etc... Maybe if the GNU folks could have made a usable kernel, they wouldn't have had to stoop to the petty tactic of trying to take credit for the Linux "Operating System" with all that GNU/Linux nonsense.

However, clearly the RMS propaganda machine has worked, and now the phrase has a new meaning to the new generation... So feel free to not read anything that might contradict with your point of view.

There are plenty of incompetent managers and consultants who justify their existence by demanding pointless changes. If one of your subordinates is putting obvious ducks in the product, perhaps you should reflect and decide if you have a history of micromanaging.