Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pornel
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
20 ms
·
421.
▲
by
pornel
1y ago
The standard compressed formats don't literally contain a dictionary. The decompressed data becomes its own dictionary while its being decompressed. This makes the first occurrence of any pattern less efficiently compressed (but usuall
422.
▲
by
pornel
1y ago
Per-URL dictionaries (where a URL is its own dictionary) are great, because they allow updating to a new version of a resource incrementally, and an old version of the same resource is the best template, and there's no extra cost when
423.
▲
by
pornel
1y ago
Tor wants to move to Rust, and they aren't happy with their C codebase. They want to expand use of multi-threading, and C has been too fragile for that. https://blog.torproject.org/announcing-arti/
424.
▲
by
pornel
1y ago
You've made a language that is at least 20-50% slower than C and has a garbage collector. That's not what people use C for. You're presenting it as a memory-safe C, but you've got a more fine-grained ASAN. That's us
425.
▲
by
pornel
1y ago
> Seems like a bad way to pick technology. This is a very sensible way to pick a technology for a government . Having a cool proof of concept, with a bus factor of 1, and having a solution that countless government agencies can depend o
426.
▲
by
pornel
1y ago
The tool has a great potential, but I always found it too limited, fiddly, or imprecise when I needed to optimize some code. It only supports consecutive instructions in the innermost loops. It can't include nor even ignore any setup&#
427.
▲
by
pornel
1y ago
Apple has reverted to being a regular company. Everything is a potential revenue stream, and decisions are made based on next-quarter ROI. They needed the movie investment to meet the targets, so they've synergized with the Wallet team
428.
▲
by
pornel
1y ago
They're not going to mention a single-person experimental project that has 900 stars on GitHub. This is meant to be a practical strategy that can be implemented nation-wide, without turning into another https://xkcd.com/
429.
▲
by
pornel
1y ago
Stack-allocated objects are used very often in Rust, and they're not limited to a strict LIFO usage. Rust doesn't have C++'s RAII with destructors running unconditionally at the end of scope. In Rust, destructors run only onc
430.
▲
by
pornel
1y ago
I think these situations are very different, because Weird Rust affects only weird code, while unsafety of C affects regular C code. The difficulty in reviewing pointer dereferences is in reasoning about potential program's states and
431.
▲
by
pornel
1y ago
??? "Expressibility" and "expressive power" are vague and subjective, so it's not clear what you mean. I suppose you object to orthogonality in the syntax? Golang and Java definitely lack it. But you also mention C
432.
▲
by
pornel
1y ago
This makes the language more uniform. Instead of having a special ternary ?: operator for if-else in expression position, you have one syntax everywhere. It makes generic code work without need to add exceptions for "syntactic elements
433.
▲
by
pornel
1y ago
What's the threat model? If you're reviewing untrusted or security-critical code and it's incomprehensible, for any reason, then it's a reject. Syntax alone can't stop sufficiently determined fools. Lisp has famousl
434.
▲
by
pornel
1y ago
That's how Rust works already. The problem has been created by Docker which destroys all of the state. If this was C, you'd also end up losing all of the object files and rebuilding them every time.
435.
▲
by
pornel
1y ago
Zope was cool in that you couldn't generate ill-formed markup, and optionally wrapping something in `<a>` didn't need repeating the same condition for `</a>`. However, it was much simpler imperative language with
436.
▲
by
pornel
1y ago
AVIF supports 10 and 12 bit encoding, which losslessly fits the 9-bit rotation of 8-bit data. It's also possible to directly encode RGB (channels ordered as GBR) when you set identity matrix coefficients, it's just less efficient.
437.
▲
by
pornel
1y ago
No, APNG explodes in size in that case. In APNG it's either the same 256 colors for the whole animation, or you have to use 24-bit color. That makes the pixel data 3 times larger, which makes zlib's compression window effectively
438.
▲
by
pornel
1y ago
It's absolutely possible. Browsers even routinely pause playback when images aren't visible on screen. They just don't have a proper UI and JS APIs exposed, and there's nothing stopping them from adding that. IMO browser
439.
▲
by
pornel
1y ago
AV1 supports YCoCg, which encodes RGB losslessly. It is a bit-reversible rotation of the RGB cube. It makes the channels look more like luma and chroma that the codec expects.
440.
▲
by
pornel
1y ago
I don't get it why is performance such a massive issue that they still need to have an artificially low limit on the number of windows. M-series iPads are more powerful than most of Apple's Mac Pros were. They have 8GB of RAM, but
441.
▲
by
pornel
1y ago
It's a "unit" in the sense of calling `rustc` once, but it's not a minimal unit of work. It's not directly comparable to what C does. Rust has incremental compilation within a crate. It also splits optimization work
442.
▲
by
pornel
1y ago
These kinds of perfectionism complaints keep the status quo of FPTP, which is the worst of them all.
443.
▲
by
pornel
1y ago
There is a circular dependency — the language strongly influences what libraries/engines can and will be written. Bevy and Servo wouldn't exist without Rust. Unreal probably wouldn't succeed without C++. Languages may also ma
444.
▲
by
pornel
1y ago
Designs have trade-offs. In this case, it was important for await and error handling with the ? operator to be readable together. The order of operations in `await foo()?` is ambiguous, but `foo()?.await` and `foo().await?` have an obvious
445.
▲
by
pornel
1y ago
> unless it's changed recently In Europe it's changed 15-20 years ago, when EMV-capable terminals became required, and acceptance of magnetic stripe cards got phased out soon after. Since Apple Pay became a thing a decade ago
446.
▲
by
pornel
1y ago
Wrong is too strong. The code is okay given the constraint — this is a guide for C++ programmers thinking in C++ terms, not for teaching purely idiomatic Rust from the ground up.
447.
▲
by
pornel
1y ago
C++ syntax and semantics are optimized for C++ idioms, and Rust's aren't. Rust is more related to ML-family languages than C-family and OOP, so it needs to "emulate" some C++ idioms. This goes both ways, e.g. equivalent
448.
▲
by
pornel
1y ago
The worst pitfall is Rust references == pointers. They are implemented as pointers, but their role is to give temporary (often exclusive) access that is restricted to a statically know scope, which is pretty specific and fits only some uses
449.
▲
by
pornel
1y ago
Apple only sees developers as a revenue stream to squeeze dry. Investing into Apple-only technologies is getting yourself into an abusive relationship. macOS is still a good platform, but staying away from Swift gives you an escape plan. Th
450.
▲
by
pornel
1y ago
Probably similar to antennas — using phase shifting and interference.
More ›