HNHacker News
TopNewBestAskShowJobs

funcDropShadow

1,261 karma · joined March 27, 2019

submissionscomments
funcDropShadow··on Git 3.0's upcoming SHA-256 default will be a costly mistake
Does anybody know why it wasn't implemented in a backwards compatible manner?

One could wrap a whole merkle-tree with an additional extension tree, that just adds the new hashes. That way both kinds hashes could be used to traverse all data. The new hashes could be used to check the consistency, the old hashes would still be there to use in UIs or old release documentation. The downside being that you introduce more nodes in the overall data-structure which will have to be supported basically forever. And if SHA-256 is to week a third layer would need to be introduced. But the point is, it could be done. Albeit it would loose some of the elegance of the data structures involved.

funcDropShadow··on Git 3.0's upcoming SHA-256 default will be a costly mistake
No, that argument misses the point. Cryptographic hashes enable you to trust, that I only have to review the changes since the last trusted commit. That is more important for the developers and maintainers of the software and less for the users.
funcDropShadow··on Early Humans Likely Ate Carbs and Sugary Foods
Interesting, but I've read for a long time, that our humanoid predecessors at some point figured out how to get to bone marrow with tools. That provided the energy dense food as well an evolutionary impetus to develop larger brains to build better tools and handle them better. Fire and the capability to cook were developed much later.
funcDropShadow··on Early Humans Likely Ate Carbs and Sugary Foods
How do we know that? Any sources?
funcDropShadow··on Early Humans Likely Ate Carbs and Sugary Foods
But the Inca lived to late for this discussion. They already had advanced agriculture. For evolutionary terms, the time before agriculture and the time of the predecessors of homo sapiens are more relevant, because that time span was larger by orders of magnitude.
funcDropShadow··on About 60k migrants arrive in Ceuta in 24 hours, Spanish territory's leader says
source?
funcDropShadow··on I can haz smoller NixOS ISOs?
You could manage those VMs with https://microvm-nix.github.io/microvm.nix/ that helps with mounting the nix store read only from the host into the vm. That should save more space than trying to reduce the dependencies of the system closure of the vm.
funcDropShadow··on My thoughts after using Clojure for about a month
STM is seldom used in modern Clojure projects, it is certainly not the dominant model. Most projects I am aware of use a few or even exactly one atoms with immutable data structures.
funcDropShadow··on Dehydration's role in learning and memory
No other mammal eats cooked or baked food. Raw meat or raw plant contain more water than our food.
funcDropShadow··on JVM Options Explorer
When you are administrating so many Java applications, you should investigate an hour or ask your favorite AI how to configure the logging library used in your application of interest. They allow you to remove stack traces and lots more.
funcDropShadow··on Axios compromised on NPM – Malicious versions drop remote access trojan
They wouldn't have to, if the file format accepted floats in proper exponential format.
funcDropShadow··on 10% of Firefox crashes are caused by bitflips
If companies are allowed to change the meaning of terms in legislation we are in even more trouble.
funcDropShadow··on What I Always Wanted to Know about Second Class Values
> Garbage collection, by definition, trashes locality.

No, it doesn't necessarily. It is correct if you are thinking about mark and sweep GC. But that is 50 years old. Generational GC has much better locality. And GC can even improve locality sometimes by moving objects together that are connected by references. I am not claiming that GC is always a big win for locality. That would be very far from the truth. On the other hand it is not by definition so, that locality is trashed by GC.

funcDropShadow··on 10% of Firefox crashes are caused by bitflips
OMG no. Politician have no business making technological decisions. They make it harder to innovate, i.e. to invent the next generation of ECC with a different name.
funcDropShadow··on Data centers in space makes no sense
The same panel produces much more electricity in space than at the bottom of the atmosphere, because the atmosphere already reflects most of the light. Additionally, the panel needs less glass or no glass in space, which makes it lighter and cheaper.

Launch costs have shrunk significantly thanks to SpaceX, and they are projected to shrink further with the Super Heavy Booster and Starship.

funcDropShadow··on Intellectual Junkyards
Self-cataloging can be become a method of procrastination. But that doesn't mean that there is no value to be found in methods like Zettelkasten. The activity of looking through your own Zettelkasten has the potential of creating associations and sparking ideas. That can be very valuable and requires some care of your notes. But trying to find the perfect taxonomy for your own notes is foolish mistake. The technical limitations of the original Zettelkasten, makes refactoring the notes to the current approximation of the perfect taxonomy such a huge task, that it is usually avoided.

A nice example of a limitation that supports creativity.

funcDropShadow··on Norway reviews cybersecurity after remote-access feature found in Chinese buses
So, in order to avoid the negative consequences of a European monopoly, we make sure that a Chinese monopoly prevails? That doesn't seem like a wining strategy for Europe.
funcDropShadow··on JMAP for Calendars, Contacts and Files Now in Stalwart
Even if we assume that JSON numbers are JavaScript numbers. There is the problem that some large natural numbers cannot be represented in double or float although some even larger numbers can be represented. This is very bad if you use these numbers as IDs.

    scala> (Long.MaxValue-1)
    val res4: Long = 9223372036854775806
                                                                                
    scala> (Long.MaxValue-1).toDouble.toLong
    val res5: Long = 9223372036854775807
The fact that I used Scala is irrelevant here. That is true for many programming languages that 64 bit long and double types.
funcDropShadow··on Writing Memory Safe JIT Compilers
Because, Truffle is reused in multiple language VMs their overall attack surface is smaller than it would be with classical language VM architectures.
funcDropShadow··on Rules for creating good-looking user interfaces
But with a visible scrollbar you would have a visible indication which behavior you triggered. If the scrollbar is invisible you get a changed viewport in both cases but you have to infer which gesture triggers which behavior.
funcDropShadow··on Go is still not good
And still there are more modern idioms and language features that ML had in the 70s but are missing from Go. But, these have the fatal flaw of Not being Invented Here.
funcDropShadow··on Let's properly analyze an AI article for once
The goal of teaching binary trees is not that you can write binary trees in your sleep, the goal is that you train your ability to derive algorithms and data structures. If you look at what a world class soccer player does during training, most of it will never be applied identically during games. The same is true for university studies, if they focus on fundamentals.
funcDropShadow··on Intermittent fasting strategies and their effects on body weight
Do you have source for this? Because as you write I've always read to derive protein intake from the overall weight. That would indeed be a very important distance.
funcDropShadow··on Ask HN: What trick of the trade took you too long to learn?
In every trade or art you start as an apprentice. That is the time when you learn the basics, the rules, the best-practices. When you have mastered the state of the art, you are a master. You know when to apply which rule and tactic to create masterful artifacts. The next step is to learn when you should break the rules and general wisdom. That is where true wisdom starts.
funcDropShadow··on How to Firefox
I've tried perhaps one third of the samples. All of them ran in 120 fps in 3840x2160 px in Firefox on Linux on my machine. Perhaps it is a configuration problem. My screen has a 120 fps refresh rate, so it probably is capped there.
funcDropShadow··on GTK Krell Monitors
Do you have a link to that patched version?
funcDropShadow··on Refactoring Clojure
You mean such readable and understandable names like car, cdr, cadr, .... ? For the uninitiated, car is not about vehicles.
funcDropShadow··on Cozy video games can quell stress and anxiety
I really loved it for a virtual conference
funcDropShadow··on Emacs Lisp Elements
Yes, nixpkgs is definitely missing the self-documenting part, or even the documenting part for most of it.
funcDropShadow··on Emacs Lisp Elements
Don't forget the self-documenting aspect. The manual is included, the api documentation is included, you can ask emacs which command is executed when you click somewhere or when you press a button. I recently tried to do the same thing in Intellij, pita. Not only, can you find documentation, you can jump to the source code, inspect variable values at runtime, and debug or profile everything. All of that from inside the environment.
Page 1 of 29Next →