HNHacker News
TopNewBestAskShowJobs

grumpyprole

4,485 karma · joined June 30, 2015

submissionscomments
grumpyprole··on From Sets to Categories (2023)
You won't get much insight from a study period measured in hours. CT has actually been incredibly beneficial for computer science. Monads were first used to give denotational semantics to imperative languages. CT has also influenced Haskells design, giving many general and consistent abstractions across it's libraries. Looking ahead, CT is teaching us how to build software in total languages.
grumpyprole··on Crafting Interpreters with Rust: On Garbage Collection
There is significance coverage of OOP features, hence my Java-like comment. I would have personally left OOP out for a beginner book, it isn't really fundamental. Another advantage to using Java in the first half, could be to use Java closures to implement Lox closures.
grumpyprole··on Crafting Interpreters with Rust: On Garbage Collection
My apologies, that does indeed seem like a reasonable way of doing it.
grumpyprole··on Crafting Interpreters with Rust: On Garbage Collection
My minor nit pick is that it uses mostly the Java language to implement a Java-like language. What have we gained? Surely something Python-like in C would be more rewarding, one would be gaining a level of abstraction.
grumpyprole··on Translating All C to Rust (TRACTOR)
Usually but not always. For example, the removal of an empty effect free infinite loop. This should be an error.
grumpyprole··on Microsoft technical breakdown of CrowdStrike incident
> Third party vendors are absolutely not "forced into writing unsafe kernel drivers".

> And kernel mode is fundamentally required for security software like this, as far as I understand.

These are conflicting points. They cannot both be true.

grumpyprole··on Microsoft technical breakdown of CrowdStrike incident
Microsoft may be negligent in selling a product unsuitable for these applications. Windows is unsuitable precisely because it can be brought down by third party updates, such that it cannot recover without manual intervention by technical experts. Third party vendors are forced into writing unsafe kernel drivers because Microsoft does not provide sufficient user mode APIs.

Windows has a dated design and a security model no longer fit for purpose. As for your other example, it could be protecting users from malicious programs that may delete data, simply by having a better security model, like Android and iOS.

grumpyprole··on Cars Are Now Computers, So How Long Will They Get Updates? Automakers Can't Say
There no problem with this, as long as these cars and other appliances aren't plugged into the internet.
grumpyprole··on Initial details about why CrowdStrike's CSAgent.sys crashed
It's the true Scotsman fallacy. These Crowdstrike programmers are not true C programmers!
grumpyprole··on CrowdStrike Update: Windows Bluescreen and Boot Loops
It's interesting to me that lay people are asking the right questions, but many in the industry, such as the parent here, seem to just accept the status quo. If you want to be part of the solution, you have to admit there is a problem.
grumpyprole··on CrowdStrike Update: Windows Bluescreen and Boot Loops
Linux and open source also have the potential to be far more modular than Windows is. At the moment we have airport display boards running a full windows stack including anti-virus/spyware/audit etc, just to display a table ... madness
grumpyprole··on CrowdStrike Update: Windows Bluescreen and Boot Loops
Hopefully now people might wake up to the idea that these tech monopolies are not leading to safe, secure and reliable systems. They will wonder how a third party component could cause such breakage. I expect many will be calling for regulation.
grumpyprole··on Crafting Interpreters
I think there should be a second edition of this book then :)
grumpyprole··on Crafting Interpreters
Yes but my point is that these problems are as hard as we want to make them. For a simple language implemented in C, maybe it's fine to never free any memory until the process quits.
grumpyprole··on Crafting Interpreters
It doesn't have to be a crazy amount of work, see Lisp-in-Lisp in the original SCIP book or a lambda calculus interpreter in Haskell (fits on a screen).
grumpyprole··on Crafting Interpreters
When Java gets pattern matching, it will become a more reasonable choice to write an interpreter in.
grumpyprole··on Free-threaded CPython is ready to experiment with
A type checker is only going to add limited value if you don't put the effort in yourself. If everything string-like is just a string, and if data is not parsed into types that maintain invariants, then little is being constrained and there is little to "check". It becomes increasingly difficult the more sophisticated the type system is, but in some statically typed languages like Coq, clever programmers can literally prove the correctness of their program using the type system. Whereas a unit test can only prove the presence of bugs, not their absence.
grumpyprole··on Making Python Less Random
A better way to deal with this versus dependency injection frameworks is to allow the generator to be configurable and to be honest about where the seed is coming from. The random seed is an implicit input read from the runtime environment as a side effect. Future languages should treat side effects as first class and allow, for example, custom handlers to be installed to intecept or modify their behaviour.
grumpyprole··on Formal methods: Just good engineering practice?
Absolutely it is about trade offs, sometimes bugs are just an inconvenience and time-to-market is more important. But bugs can result in lost business and even lost lives, for example UK Post Office Horizon. Horizon was built (bungled) on the cheap, but the overall cost of that saving must be dwarfed by the financial cost of the resultant scandal.
grumpyprole··on Ruby: A great language for shell scripts
You missed out GitHub !
grumpyprole··on Why Swift's type checker is so slow
> the user can’t know that something over there made it so something over here can’t type check

To the Swift developers: just add source positions to your type AST, in addition to the term AST, then you'll know where a type has come from. It lets you give error messages like: expected type A (line X) but got type B (line Y).

Hindley-Milner type checkers perform well in Haskell and OCaml. I don't think this type system can be blamed entirely for Swifts problems.

grumpyprole··on Thoughts on desktop operating systems
I don't think the "failures" are necessarily always technical, e.g. upstart versus systemd or GNOME versus Unity. To me it looks like Red Hat has possibly too much control and influence.
grumpyprole··on Thoughts on desktop operating systems
The PowerToys UI is a dot net application I believe.
grumpyprole··on Rust's concurrency model vs. Go's concurrency model
It looks a bit biased to be honest, nothing about Go being prone to race conditions due to the choices it has made, for example.
grumpyprole··on DJI ban passes the House and moves on to the Senate
I had always assumed that the UK killed it's tech industry by selling it all off for short term gain. That needs regulation to prevent.
grumpyprole··on FTC sues Adobe for hiding fees and inhibiting cancellations
I switched to Capture One. Not as easy to use as Lightroom, but the RAW processing is actually superior. It's a one time purchase. The professionals can choose to upgrade every year, the casual users can upgrade less frequently.
grumpyprole··on I learned Haskell in just 15 years
By what measure? Haskell can be a huge productivity multiplier. The standard library is built upon many powerful, unifying and consistent mathematical abstractions. For example, there is almost no boilerplate to write for any traversal, mapping, error handling etc. The average Pythonista simply has no idea what they are missing. But Haskell doesn't have anywhere near the third party ecosystem of Python, so is less productive by some measures.
grumpyprole··on FTC sues Adobe for hiding fees and inhibiting cancellations
They drove me off Lightroom, I was just a causal user. The upsell spam and ads in Adobe Reader has also driven me away from that too. I would have considered buying an upgrade for both, but the price was never right for casual home use. Now I don't use any Adobe products at all.
grumpyprole··on Venezuela's last glacier, Humboldt, has melted away
Yes. Our imagination allows extraordinary levels of doublethink. We know there is crisis underway and yet Nvidia, Microsoft and Apple are the most valuable companies in the world.
grumpyprole··on Libadwaita: Splitting GTK and Design Language
Are they really deleting menu bars? Wow. Maybe in ten years time they'll figure out that two hamburgers is better than one; and that they'll need names like "File" and "Edit".
← PreviousPage 3 of 26Next →