HN user

funcDropShadow

1,261 karma
Posts3
Comments841
View on HN

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.

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.

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.

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.

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.

Because, Truffle is reused in multiple language VMs their overall attack surface is smaller than it would be with classical language VM architectures.

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.

Go is still not good 11 months ago

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.

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.

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.

How to Firefox 1 year ago

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.

You mean such readable and understandable names like car, cdr, cadr, .... ? For the uninitiated, car is not about vehicles.

Yes, nixpkgs is definitely missing the self-documenting part, or even the documenting part for most of it.

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.

Dynamic scoping is a feature in the Emacs ecosystem. It plays a similar role to dependency injection in other languages. It is what allows you to change global state for some function call. Dynamic scoping together with buffer-local, file-local, directory-local variables is similar to scopes in dependency injection libraries --- a powerful organizational tool.

20 years of Git 1 year ago

One way to deal with large binary files is git-annex, it is as decentralized as git. But I dare say it lost to git-lfs, because Github and co weren't interested in hosting it.