Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jlouis
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
61.
▲
by
jlouis
3y ago
It's an Erlang convention. Erlang suffers from having a very rudimentary module system, so a clean separation between the public API and the gen_server API isn't that easy to make. If you have access to a better module system, you
62.
▲
by
jlouis
3y ago
This sort-of stems from the underlying OTP principles from Erlang. Each application has their own isolated supervision tree, and your system contains a number of applications. Hence, a library which contains a service is likely to have thei
63.
▲
by
jlouis
3y ago
The one_for_one policy means that if a child process terminates, it will get restarted. It is appropriate when the child processes managed by the supervisor are (relatively) independent. The contrasting policy is one_for_all where a termina
64.
▲
by
jlouis
3y ago
True, but in ZFS, you don't usually use these names unless you are shoving disks around. In which case it's nice to have an identity on the disk. Most of your work is a logical naming scheme on top.
65.
▲
by
jlouis
3y ago
forEach() incurs a function-call overhead unless you optimize it away in a compiler. So the idea a loop would be faster by some multiplier is quite plausible. To get an order of magnitude in difference, you'd have to construct a specia
66.
▲
by
jlouis
3y ago
I agree. There's also a lot of alarm bells going on when you have reports of averages without reports of medians (quartiles, percentiles) and variance. Or even better: some kind of analysis of the distribution. A lot of data will be cl
67.
▲
by
jlouis
3y ago
Parsing overhead is sensitive to the amount of work the service is doing. If the service is doing relatively little, and there's a lot of junk in your request, you are forced to parse a lot of data which you then throw away. JSON is pa
68.
▲
by
jlouis
3y ago
Elimination is perhaps too strong a word, as you can't eliminate it entirely. But you can reduce its cognitive load by a large factor. The amount of code which is being written in a garbage collected language is a witness. More manual
69.
▲
by
jlouis
3y ago
It's totally unreadable. There's 5% meat in it almost at the very end, the rest is about selling the feature. The problem is that if you have multiple branches going into the same (mono)-repo, then they might all pass a localized
70.
▲
by
jlouis
3y ago
If you witness the amount of effort/work/man-hours that is being poured into making memory management easier, I'd say it is far from a trivial problem. If you witness the endless amount of bugs, many security related, which s
71.
▲
by
jlouis
3y ago
A language like ocaml excels when the input and output are program-like, and the problem can't be number-crunched by hardware. The typical example would be a compiler. Other examples would be model checkers, code generators for number
72.
▲
by
jlouis
4y ago
It likely would. But efficiency is only one factor. Many Erlang applications are far more concerned with consistent latency than throughput efficiency. So a switch to the JVM is a lot of cost.
73.
▲
by
jlouis
4y ago
Enumerations are not ADTs.
74.
▲
by
jlouis
4y ago
In Erlang, mnesia has a couple of things going for it: One, it stores Erlang terms. The consequence is that you need no data conversion when you want to store data persistently on disk. You just save whatever term you have. Two, it provides
75.
▲
by
jlouis
4y ago
Witcher 1 is a game in a number of acts, where each act is a relatively small closed space. It would be a really great way to get some UE5 knowledge to transplant into other games. By keeping those parts static in development, you get to us
76.
▲
by
jlouis
4y ago
FWIW, Id Tech 7 is built to support a game like Doom:Eternal, and nothing more. And the game itself is shaped around the capabilities of the engine. That's why it works. Note Id had a texture streaming system in Rage in order to suppor
77.
▲
by
jlouis
4y ago
You carefully avoid allocation.
78.
▲
by
jlouis
4y ago
No. See Scheme48 or Go. There are some ways around that bootstrap problem.
79.
▲
by
jlouis
4y ago
No.
80.
▲
by
jlouis
4y ago
The API cut ended up being in a different place with LLVM and WebAssembly. But the core idea still stands, and has been a hot potato for many years. In some ways, things are better now since there are fewer architectures than in the 90'
81.
▲
by
jlouis
4y ago
Documentation. Everything is in one place, and it is maintained. In contrast, Linux requires you to go look up documentation in a lot of different places, and it is highly dependent on distribution what to do in a given situation. One reaso
82.
▲
by
jlouis
4y ago
It is a combination of scoping, which other people already wrote about, and also because the language support mutable data by default. Had the language been immutable/persistent by default, this particular semantic problem cannot occur
83.
▲
by
jlouis
4y ago
The reason for this change is to make wrong programs into correct programs. The examples will introduce more GC pressure, because the `append(..)` will append different values as the programmer expected. Thus, correcting the bug adds to GC
84.
▲
by
jlouis
4y ago
Necula's work on proof-carrying-code was more or less transformed into CCured which is nothing but memory management. It's from 2004. A lot of the interesting stuff with separation logic was just getting started at that point in t
85.
▲
by
jlouis
4y ago
Much larger L2 cache on the GPU. The 30xx cards needs a wide bus to feed it, but with the L2 cache on the GPU, you can get away with a smaller bus width (and faster memory on top, things shifted in the last couple of years and DDR6(X) memor
86.
▲
by
jlouis
4y ago
I don't think it's for storing music.
87.
▲
by
jlouis
4y ago
It rotates about once a day in most operating systems. Called ipv6 privacy extensions. This is of course defeatable, but it provides a nice black hole for a device. It moves on and you can't connect to it anymore.
88.
▲
by
jlouis
4y ago
In theory. In practice, you often end up with larger changes which are mostly janitorial. Bumping a version of a log library across the infrastructure, or a version of a serialization system. This simplifies dependency convergence and a bes
89.
▲
by
jlouis
4y ago
It's likely just because it's a VPN not under control of the corporation. Corporations have this magical wand which they swing to make it hard for people to do their work :)
90.
▲
by
jlouis
4y ago
While Serverless does address some of the points which were the design goals of Erlang, it doesn't address them all. In no particular order: Hardware interaction is more or less non-existent in the world of Serverless. Timing/Late
More ›