Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
vnorilo
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
12 ms
·
121.
▲
by
vnorilo
5y ago
Sure; but "historical baggage" is a function of multi-paradigm and outliving multiple generations of computer architecture. I would not view baggage as necessarily problematic. What makes C++ problematic is that template metaprogr
122.
▲
by
vnorilo
5y ago
Practical, old languages tend to do this. In C++ or Common Lisp, which share little other than being multi-paradigm (unopinionated), it is fairly common to have house styles or accepted subsets. Languages that try to build in some "hou
123.
▲
by
vnorilo
5y ago
Yep - Here in Finland, just over the bay in the north, the Estonian e-prescription system is often quoted as much leaner, meaner and more functional than our own borked attempt, at a fraction of the cost.
124.
▲
by
vnorilo
5y ago
You'd be surprised how stable it actually is in practice. The occasional big swings in benchmarks tend to be due to compiler A pattern-matching an idiom that compiler B does not. Regressions from A.1 to A.2 are rare, and usually either
125.
▲
by
vnorilo
5y ago
Agreed with "usually". When you model pipelines, you must know the cache behaviour of your workload, otherwise it is a waste of time. But when you do, in order to approach theoretical machine limits, you do need airtight core reso
126.
▲
by
vnorilo
5y ago
Ah, one resource that slipped my mind was Jon Stokes' microarchitecture articles [0] at Ars Technica when it was still good (it's all gadget/lifestyle/policy stuff nowadays). Jon also has this book which I seem to rememb
127.
▲
by
vnorilo
5y ago
What I think of as "pipeline model" is similar to what LLVM-MCA produces in its "Timeline View" [1] It basically tries to model statically how instructions travel through the pipeline of a particular CPU, which is useful
128.
▲
by
vnorilo
5y ago
One good starting point is the LLVM Machine Code Analyzer [1] What it does is use the scheduling info known to the LLVM optimizers to model how a particular CPU is going to execute your machine code. I was lucky to start doing this back in
129.
▲
by
vnorilo
5y ago
Most of the time I've written performance sensitive C or C++, I spend most of the time looking at disassembly or pipeline models, trying to spin up an instruction mix that will utilize the CPU backend in a good way. In the best case, t
130.
▲
by
vnorilo
5y ago
I used a similar trick to write my resume site [1] with a "spatial" transition effect inside a single html file with no javascript. It's a bit of a weird flex but was fun to do. 1: https://norilo.me/
131.
▲
by
vnorilo
5y ago
I mean, for most DOS games the "video driver" was one interrupt and start writing pixels to framebuffer at 0xa0000. Sound drivers were more complicated, but there were a ton of libraries - it's how FMod got started!
132.
▲
by
vnorilo
5y ago
I'm not sure gender inequality can be solved by some magic machine making gender disappear. Rather we can progress by making inequality visible and challenging it: only when attitudes change we will slowly improve. The HN crowd might l
133.
▲
by
vnorilo
5y ago
I think "high iteration time" taken to the extreme is programming without a computer, like when taking a walk. You construct a very detailed mental model of how the program operates and interrogate it in your head. This only works
134.
▲
by
vnorilo
5y ago
Very interesting. I have some pretty strong habits (in addition to the obvious stuff like firmness) in picking veggies and fruit, like narrow cucumbers and small tomatoes. When I buy Apples I look for strong stripes. Mostly honey crisp and
135.
▲
by
vnorilo
5y ago
Probably farriers, who specialize in horse shoes. https://en.m.wikipedia.org/wiki/Farrier
136.
▲
by
vnorilo
5y ago
Did anyone try it? I'm interested in the binary size for a nontrivial language. That is what killed my own attempt at doing this - the code was large enough that I had to move some polymorphism from compile time to run time in order to
137.
▲
by
vnorilo
5y ago
Yes, we say "yksitoista" (one of second), "kaksitoista (two of second) and so on until twenty, where we revert to "kaksikymmentäyksi" (two tens and one; ten in actual plural). But in some old books from the early 20
138.
▲
by
vnorilo
5y ago
Sibling provided a good overview of philosophy. Practically it offers Lisp goodness, jvm/js interop and a well-designed set of persistent collections everyone and their dog uses, part of the reason why clj libraries tend to compose ver
139.
▲
by
vnorilo
5y ago
From [1] On processors that have a halt instruction that stops the CPU until an interrupt occurs, such as x86's HLT instruction, it may save significant amounts of power and heat if the idle task consists of a loop which repeatedly exe
140.
▲
by
vnorilo
5y ago
I'd like to support Firefox with a donation as I'm sure many others would, but I don't trust Mozilla foundation to allocate it to something that actually matters.
141.
▲
by
vnorilo
5y ago
Lisp is not necessarily functional. There's a lot of mutation in Common Lisp even if the community favors a functional style. I think the question is: how does Lisp function without garbage collecting cons cells? For one, I'm not
142.
▲
by
vnorilo
5y ago
I grew up eating meat twice a day and quite like the taste. I cut that to once a week (and ramping down) once I understood the co2 numbers. I have always been carless but was naive with regard to diet. Dairy is now the WIP. Turns out I also
143.
▲
by
vnorilo
5y ago
I think software is human expression. It can be a social good or a business driver. But it does not have to be. It can have no users, no IO or never run on a computer and still encode deep meaning. Does it need to be social to be useful ?
144.
▲
by
vnorilo
5y ago
It helps that Go has a surprisingly powerful handicap system [1] - being a casual player I was able to play meaningful matches against a clearly superior opponent with suitable starting advantage, something that I have never been able to en
145.
▲
by
vnorilo
5y ago
Seems like a fairly modest return for creating one of the first top performing vaccines for a global pandemic. Even if you disregard all the other mRNA R&D they do.
146.
▲
by
vnorilo
5y ago
True. Especially when guiding a team C# makes life hard because so much of immutability is by convention only. I suppose it will get better once we can move to C#9 with Records, but even so, some discipline is required.
147.
▲
by
vnorilo
5y ago
I don't know. I don't write functional because it's hard and I'm super smart, I write functional because it's easy and I'm lazy. I'm also not sure the example in TFA is much of an argument. From a glance l
148.
▲
by
vnorilo
5y ago
I have made a conscious effort to bring the language in my academic papers closer to the language I would actually speak. Part of that is writing in singular first person when that reflects reality. One of the hardest to write is "I be
149.
▲
by
vnorilo
5y ago
I think zero cost in this context means compile-time polymorphism (templates) instead of runtime polymorphism (virtual functions).
150.
▲
by
vnorilo
5y ago
You see, I'd like to write more of my software in Clojure (or any functionally inclined Lisp). If there was a really good interop story with a non-gc:d native lang I could do more of it. Clojure is a hosted language, so hosting it on C
More ›