Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jlouis
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
jlouis
1y ago
The core of a properly built, resilient/robust system is that you have compartmentalized code into different small erlang processes. They work together to solve a problem. A bug in one is isolated to that particular process and can
32.
▲
by
jlouis
1y ago
A good way to gauge if "asynchrony" is a term we need is to test if it is useful in other contexts than just a single language, or a single concurrency design. If it's needed to reason correctly in a wide set of concurrency m
33.
▲
by
jlouis
1y ago
SIMD is parallel execution with no concurrency.
34.
▲
by
jlouis
1y ago
You can make a programming language where cycles are impossible. Erlang is a prime example. Region inference is another strategy in this space. It can limit the need for full-blown garbage collection in many cases, but also comes with its o
35.
▲
by
jlouis
1y ago
It's not very novel. There's far better ways of solving this than allowing a random string to be embedded as aux information to a struct field. Examples: F# type providers, or OCamls PPX system for extending the language in a well
36.
▲
by
jlouis
1y ago
Everything I see in OxCaml are things where I go: this would be nice to have in Ocaml.
37.
▲
by
jlouis
1y ago
Zipped JSON is just massive waste of energy in a battery. We don't want that.
38.
▲
by
jlouis
1y ago
Anything which can't exfiltrate your data
39.
▲
by
jlouis
1y ago
Not a niche feature. Fundamental for any decent language with a type system.
40.
▲
by
jlouis
1y ago
Or you do as Erlang's BEAM VM: each thread has it's own memory area which is GC'ed individually. This means upon request termination, you just terminate the thread and the memory is reclaimed with no need for a GC.
41.
▲
by
jlouis
1y ago
Yes. And immutable data structures. When data is immutable, it can be freely shared. Changes to the data essentially uses copy-on-write. And it only writes the delta change, since you don't need a deep copy due to immutability. Add tha
42.
▲
by
jlouis
2y ago
Bandwidth vs latency. Erlang is designed to keep low latency under load with graceful degradation.
43.
▲
by
jlouis
2y ago
It is fairly common your type system ends up with escape hatches allowing you to violate the type rules in practice. See e.g., OCaml and the function "magic" in the Obj module. It serves as a way around a limitation in the type sy
44.
▲
by
jlouis
2y ago
The underlying thing was that the Beyond Light expansion revamped all of the engines light model. Destiny 2 runs on pretty old console hardware, and to do so, it doesn't dynamically compute a lot of stuff. There's a lot of pre-com
45.
▲
by
jlouis
2y ago
Turing completeness makes it a different problem.
46.
▲
by
jlouis
2y ago
Define "meaningful". A lot of mathematics is about exploration. You look at some system and try to figure out how it works. If you have a good idea (conjecture), you try proving or disproving it. The goal is to gain some understan
47.
▲
by
jlouis
2y ago
It's interesting that we've known results such as these for 30(+) years, yet 99.999% of all software is still written in outright miserable languages such as Python or Javascript...
48.
▲
by
jlouis
2y ago
The big problem with Gzipped JSON is that once unzipped, it's gigantic. And you have to parse everything, even if you just need a few values. Just the memory bottleneck of having to munch through a string in JSON is going to slow down
49.
▲
by
jlouis
2y ago
A key component is that when a game generates pixels, it also generates other data. Such as a Z-buffer for pixel depth and motion vectors (for motion blur, among other things). Feeding this to the upscaling algorithm vastly improves image q
50.
▲
by
jlouis
3y ago
It is a fundamental question in your language design. Some languages make side-effects explicit one way or the other. Other languages handles side-effects in a more implicit fashion. There's a tradeoff to be made here.
51.
▲
by
jlouis
3y ago
This technique is highly useful in moderation, provided you are working in a language where the syntax/semantics affords it. It can certainly be overdone to the point where the code becomes harder to decipher for a human reader. A key
52.
▲
by
jlouis
3y ago
I wrote this 13-14 years ago. Time flies I guess. Keep in mind, it's frozen temporally at that point in time, and a ton of stuff has changed in computer ecosystems since then, and so has some of my viewpoints.
53.
▲
by
jlouis
3y ago
Once you've seen the (older) alternatives, you cringe at Docker, indeed. Jails is a better solution. So is (Solaris/Illumos) zones. Nix is a great way to jump over docker entirely. You can then output a container from Nix if you n
54.
▲
by
jlouis
3y ago
The key point is that most software don't need correctness to the level formal verification provides. There's a subset of software however, for which there's no substitute for a formal verification process.
55.
▲
by
jlouis
3y ago
I'm suggesting rec.709 because it's what is a currently expected default for a screen. In your typical setup, your working color space is something like ACEScct or DWG, so you can map to several possible output formats with a litt
56.
▲
by
jlouis
3y ago
Yes, you can combine the steps to make it more efficient. In that view, it's "just" a different gamma curve. It's far harder to "split" a curve than combining two steps though.
57.
▲
by
jlouis
3y ago
> This is definitely very useful (and is the norm if you want to do something like, say, high quality scanning), but I failed to see how it warrants a new "format". This warrants a separate answer. Cameras are getting to the po
58.
▲
by
jlouis
3y ago
The transfer functions in your (rec.709) color space is non-linear indeed. However, the pixel values you store are in a linear relationship with each other. The difference between values 20 and 21 are the same as the difference between valu
59.
▲
by
jlouis
3y ago
In videography the term "log" is heavily overloaded and you'd want to ask for more detail in order to figure out exactly what is meant. A pixel value, be it integer or floating point, means little on its own. There's a c
60.
▲
by
jlouis
3y ago
One of the main points of this essay is that you have a certain budget for innovation, exemplified in a fixed token count, you spend on your tech stack. Once you are out of tokens, you end up injecting too much risk into the project, and it
More ›