Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
Diggsey
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
Diggsey
2mo ago
How does this packing/unpacking scheme compare to just using a lookup table?
2.
▲
by
Diggsey
2mo ago
You're getting confused between lifetimes (the static analysis that prevents use after free and similar errors) and lifecycles (more commonly discussed under the heading of ownership) which determines when objects (and thus memory) are
3.
▲
by
Diggsey
2mo ago
Yes - I think the proof of the pudding will be whether they put in the effort to eliminate these unsafe blocks. The conversion to Rust is the starting point that makes this possible, but it's definitely not "done" at this poi
4.
▲
by
Diggsey
3mo ago
1. Seems hard but doable (assuming there is some way to inject "inputs" into the build process, that can be recorded). However, I'm not sure exactly what you mean by a build here? Many package managers do not distribute binar
5.
▲
by
Diggsey
3mo ago
> Yes, and the amount of study and knowledge required had a tendency to filter out people with the inclination to do such things. The Venn diagrams weren't completely empty, but they were close, which is why such incidents were rare
6.
▲
by
Diggsey
5mo ago
You would have had to run `jj edit` in order for this to happen, so I think it's a stretch to say you didn't ask for the edit? This is the main difference though: in git files can be `staged`, `unstaged` or `committed`, so at any
7.
▲
by
Diggsey
5mo ago
> git was originally implemented as a handful of low level binaries stitched together with shell scripts. A bunch of low level binaries stitched together with shell scripts is a lot faster than python, so not really sure what the point o
8.
▲
by
Diggsey
5mo ago
Which works for about 5 minutes until someone leaks a manufacturer's private key or extracts it from a device...
9.
▲
by
Diggsey
6mo ago
Yes this stood out to me as well...
10.
▲
by
Diggsey
7mo ago
Stored procedures don't eliminate serialization anomalies unless they are run inside a transaction that is itself SERIALIZABLE. There's essentially no difference between putting the logic in the app vs a stored procedure (other th
11.
▲
by
Diggsey
8mo ago
This is completely untrue. While the index only stores the hashes, the table itself stores the full value and postgres requires both the hash and the full value to match before rejecting the new row. Ie. Duplicate hashes are fine.
12.
▲
by
Diggsey
9mo ago
It's also `position: fixed` which breaks all scroll optimizations and makes scrolling feel terrible.
13.
▲
by
Diggsey
10mo ago
There were two things I think went extremely poorly here: 1) Lack of validation of the configuration file. Rolling out a config file across the global network every 5 minutes is extremely high risk. Even without hindsight, surely one would
14.
▲
by
Diggsey
11mo ago
IMO, safety and "idiomatic-ness" of Rust code are two separate concerns, with the former being easier to automate. In most C code I've read, the lifetimes of pointers are not that complicated. They can't be that compli
15.
▲
by
Diggsey
11mo ago
I've found Gemini to be much better at completing tasks and following instructions. For example, let's say I want to extract all the questions from a word document and output them as a CSV. If I ask ChatGPT to do this, it will d
16.
▲
by
Diggsey
11mo ago
That would be because package version flexibility is an entirely orthogonal concept to lock files, and to conflate them shows a lack of understanding. pyproject.toml describes the supported dependency versions. Those dependencies are then r
17.
▲
by
Diggsey
11mo ago
Agree, but I think there is a point to be made here: Go as a language has more subtle runtime invariants that must be upheld compared to other languages, and this has led to a relatively large number of really nasty bugs (eg. there have a
18.
▲
by
Diggsey
1y ago
Essentially zero as a fraction of global concrete usage...
19.
▲
by
Diggsey
1y ago
They are different: "0": ">=0.0.0, <1.0.0" "0.9": ">=0.9.0, <1.0.0" "0.9.3": ">=0.9.3, <1.0.0" Notice how the the minimum bound changes while the
20.
▲
by
Diggsey
1y ago
Within a crate graph, for any given major version of a crate (eg. D v1) only a single minor version can exist. So if B depends on D v1.x, and C depends on D v2.x, then two versions of D will exist. If B depends on Dv1.2 and C depends on Dv1
21.
▲
by
Diggsey
1y ago
It doesn't link two versions of `rand-core`. That's not even possible with rust (you can only link two semver-incompatible versions of the same crate). And dependency specifications in Rust don't work like that - unless you e
22.
▲
by
Diggsey
1y ago
No, sRGB refers to both a colour space and an encoding of that colour space. The encoding is non-linear to make best use of the 256 levels available per channel, but you were never supposed to interpolate sRGB by linearly interpolating the
23.
▲
by
Diggsey
1y ago
Also, isn't the way browsers interpolate colors in sRGB just a bug that I assume is retained for backwards compatibility? sRGB is a logarithmic encoding, you were never supposed to interpolate between colors directly in that encoding -
24.
▲
by
Diggsey
1y ago
> There will always be 2 sets of "primary" colors for a given eye: Additive and Subtractive. If your eye only has two types of cone cells then your additive and subtractive primaries are the same ;)
25.
▲
by
Diggsey
1y ago
Documents don't contain calls to action like "Download X" or "Tell me more about Y", so your argument falls down in relation to the examples presented by W3C.
26.
▲
by
Diggsey
1y ago
It's standardizing the contract between the programmer and the compiler. Previously a lot of C code was non-portable because it relied on behaviour that wasn't defined as part of the standard. If you compiled it with the wrong com
27.
▲
by
Diggsey
1y ago
> This doesn't sound right to me. Which bit? > You can prove that ZFC is consistent. You could do it today, with or without the magic number, using a stronger axiom system. Right but then just replace ZFC with that stronger syste
28.
▲
by
Diggsey
1y ago
I think what's most unintuitive is that most (all?) "paradoxes" or "unknowables" in mathematics involve infinities. When limiting ourselves to finite whole numbers, paradoxes necessarily disappear. BB(748) is by def
29.
▲
by
Diggsey
1y ago
You're suggesting that being liberal in what you accept is necessary for forward evolution of the protocol, but I think you're presenting a false dichotomy. In practice there are many ways to allow a protocol to evolve, and being
30.
▲
by
Diggsey
1y ago
FWIW, I tested this locally (using `DELETE FROM example WHERE id = RANDOM(1,100)`) and it did delete multiple rows in some cases, even without a subquery.
More ›