HNHacker News
TopNewBestAskShowJobs

funcDropShadow

1,284 karma · joined March 27, 2019

submissionscomments
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.
funcDropShadow··on Emacs Lisp Elements
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.
funcDropShadow··on Owning my own data, part 1: Integrating a self-hosted calendar solution
In practice it is difficult enough, to do the right date arithmetic using the datetime library in the right timezone.
funcDropShadow··on Native frame transposition coming to Emacs 31
There is a central configuration, see here https://news.ycombinator.com/item?id=43642743
funcDropShadow··on 20 years of Git
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.
funcDropShadow··on It's Time to Stop Building KV Databases
In a hierarchically system renaming a directory is an O(1) operation, in a non-hierarchical system with paths it is an O(n) operation.
funcDropShadow··on It's Time to Stop Building KV Databases
Object stores are not filesystems. They have a paths, but they are not hierarchical.
funcDropShadow··on Show HN: "Git who" – A new CLI tool for industrial-scale Git blaming
Yes, the history of the name is as you write. But the value of the command lies in finding the commits, and, especially, in finding which lines changed together.
funcDropShadow··on Neovim tee.exe binary dependency exhibiting illegitimate / unauthorized behavior
Is tee.exe supposed to be the normal tee unix tool?
funcDropShadow··on WASM will replace containers
> True, but I suspect it'll be a lot easier to virtualise all those APIs through WASM than it is for a regular native binary. I mean, half the point of docker is that all syscalls are routed into an LXD container with its own filesystem and network. It should be pretty easy to do the same thing in userland with a wasm runtime.

All of this sounds too good to be true. The JVM tried to use one abstraction to abstract different processor ISAs, different operating systems, and a security boundary. The security boundary failed completely. As far as I understand WASM is choosing a different approach here, good. The abstraction over operating systems was a partial failure. It succeeded good enough for many types of server applications, but it was never good enough for desktop applications and system software. The abstraction over CPU was and is a big success, I'd say.

What exactly makes you think it is easier with WASM as a CPU abstraction to do all the rest again? Even when thinking about so diverse use-cases like in-browser apps and long running servers.

A big downside of all these super powerful abstraction layer is reaction to upstream changes. What happens when Linux introduces a next generation network API that has no counterpart in Windows or in the browser. What happens if the next language runtime wants to implement low-latency GC? Azul first designed a custom CPU and later changed the Linux API for memory management to make that possible for their JVM.

All in all the track record of attempts to build the one true solution for all our problems is quite bad. Some of these attempt discovered niches in which they are a very good fit, like the JVM and others are a curiosity of history.

funcDropShadow··on A better (than Optional) maybe for Java
Nothing is intuitive on its own. Intuitiveness is a property of the relation between a thing and and some subject. Whether `map` is more intuitive than `then` depends on that subject. Without assuming a target audience, it is futile to design a library to be intuitive. Intuitive is that, for which we already have built an intuition.
funcDropShadow··on Science is a strong-link problem
One purpose of science is to provide the rest of the society, who are not scientists, with reliable insights, ideally with actionable advice on how to solve a problem. If you treat science purely as a stong-link problem, the burden of quality control lays with the consumer of science. Peer review attempts to lay it with experts. That approach is nowhere near perfect, but is the best we have. And it scales much better.
funcDropShadow··on Show HN: Watch fascism unfold in realtime – an AI-powered tracker
Then, why is Doge flagging things like funding gender-change surgery abroad instead?
funcDropShadow··on Goethe's "Sorcerer's Apprentice" – power over wisdom
You don't have to wonder. Just observe what is going on in so-called liberal democracies of the world while identity politics is implemented by governments: censorship, redefinition of words, inventing new moral issues to shutdown inconvenient facts and such.
funcDropShadow··on Show HN: Uscope, a new Linux debugger written from scratch
Which debuggers do you like the most?
funcDropShadow··on From C++ to Clojure: Jank language promises best of both
As someone who has been using emacs for almost 30 years. There are lot's USPs for emacs, but none should matter for the selection of a programming language. I hear lots of good thing about Calva, a Clojure plugin for VS Code. Look at that if you want to try out Clojure in the form of Jank.
funcDropShadow··on Facebook ban on discussing Linux?
Didn't Mark Zuckerberg say he would reduce censorship on FB just a few weeks ago?
funcDropShadow··on Build It Yourself
My observation with the Scala and Haskell ecosystems has been very similar. One primary source of churn is changing interfaces. And very advanced static type systems offer a large design space how to model interfaces. Which leads to lots of incremental improvements. But lots of interface changes together with deep dependency trees lead to exponential explosion of changes.

Rich Hickey has been discussing this very early, but almost nobody got it when he said it, myself included. Striving for obviously simple interfaces, that avoid nominal static types like the plague, is the way to avoid this often pointless waves of changes through language ecosystem, just because someone designed a better option monad or whatever.

funcDropShadow··on Build It Yourself
Unless you have a very good JIT compiler, like JVMs. Than you can defer LTO and whole program optimization to runtime.
funcDropShadow··on Every System is a Log: Avoiding coordination in distributed applications
Could you recommend some resource to understand this view of accounting better?
← PreviousPage 2 of 29Next →