Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ryanpetrich
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
ryanpetrich
10mo ago
Should throw expressions ( https://github.com/tc39/proposal-throw-expressions ) ever make it into the JavaScript standard, the example could be simplified to: const env_var = process.env.MY_ENV_VAR ?? throw new Error
2.
▲
by
ryanpetrich
2y ago
aligned_alloc is a C function. It doesn't help the compiler prove that two pointers can't alias. restrict is the keyword that does.
3.
▲
by
ryanpetrich
2y ago
This is to suppress a compiler warning that the k_sz argument is unused.
4.
▲
by
ryanpetrich
2y ago
The bigger problem is mutability. Any pointers into the bit-packed enum storage become invalid as soon as you change its type. To solve this you can either prohibit pointers into bit-packed enum storage, which is very limiting, or introduce
5.
▲
by
ryanpetrich
2y ago
Memory barriers don't force a flush of all CPU cache. They will enforce the ordering of memory operations issued before and after the barrier instruction, preserving the contents of the CPU's various caches.
6.
▲
by
ryanpetrich
3y ago
Yes, that's right. You need to update the entire OS for a minor security fix to iMessage.
7.
▲
by
ryanpetrich
3y ago
Thanks for writing this. It takes a deep understanding to explain such complicated concepts in an accessible way. Reading it brought back fond memories of hacking on jailbreak projects deep into the night.
8.
▲
by
ryanpetrich
4y ago
Go's internal linker is much faster than the system linker thanks to some go-specific optimizations. Go must fall back to the system linker whenever CGO is used.
9.
▲
by
ryanpetrich
4y ago
If best effort is good enough and your use case doesn't require robustness, reading out of host /proc certainly works. Tracking execs with hooks in the kernel's internal exec mechanism with a separate indexing step at startup
10.
▲
by
ryanpetrich
5y ago
It's not robust at all. Programs can and will exit before the userspace daemon is able to read from /proc. Malicious programs can even attribute their network activity to any program on the system they are able to exec by execing
11.
▲
by
ryanpetrich
5y ago
This is what ETags are for. Upon a user's first visit the server should return an ETag uniquely representing the current version of the page. The browser will cache both the page and the tag. Upon subsequent page visits the browser wil
12.
▲
by
ryanpetrich
5y ago
A benefit of storing the reference count in the high bits is that overflows will never corrupt the flag bits and can be detected using the processor's flags instead of requiring a separate check. I'm not sure if this property is u
13.
▲
Show HN: Deciduous – A security decision tree generator and editor
(swagitda.com)
6 points
by
ryanpetrich
5y ago
|
1 comments
14.
▲
by
ryanpetrich
6y ago
Apple's recent aarch64 implementations don't support any of the 32 bit ARM instruction sets, and aarch64 is a significant departure from armv7
15.
▲
by
ryanpetrich
6y ago
It's pluggable in that large parts of it can be replaced or disabled at compile time. Runtime reconfiguration isn't well supported.
16.
▲
by
ryanpetrich
6y ago
Another option: git log --all --author=`git config user.email` --oneline --decorate
17.
▲
by
ryanpetrich
7y ago
Crystal is not Ruby, nor is it anywhere near as fast as C.
18.
▲
by
ryanpetrich
7y ago
BPF programs can be attached to uprobes and thus much of the same tooling applies to userspace as well.
19.
▲
by
ryanpetrich
7y ago
Being further away from killers that I'm equally likely to be victims of isn't any more comforting.
20.
▲
by
ryanpetrich
7y ago
It’s also dangerous in JavaScript where properties of the Object prototype can mistakenly be dereferenced instead of the default/fallthrough case.
21.
▲
by
ryanpetrich
7y ago
There's also the matter of someone forcibly pulling a machine's power cord. In some sense exit cleanups are fundamentally unreliable.
22.
▲
by
ryanpetrich
7y ago
That's likely due to amp-font, which will wait a certain amount of time for custom fonts to load before continuing with a fallback browser font (see: https://amp.dev/documentation/components/amp-font )
23.
▲
by
ryanpetrich
7y ago
Cassandra’s sets, lists and maps are already CRDTs
24.
▲
by
ryanpetrich
7y ago
The code to run in the worker is passed as a string or a path, so no data can be captured. Data can be sent to the worker by posting messages, but the data is never shared—only copied. A limited set of types can be transferred to a worker,
25.
▲
by
ryanpetrich
8y ago
He's donated $50 million to the Signal Foundation. That sounds like putting his money where his mouth is to me.
26.
▲
by
ryanpetrich
8y ago
And since Photoshop has been announced for the iPad, the porting for the architecture-dependent components of it have already been performed.
27.
▲
by
ryanpetrich
8y ago
This applies to copy-on-write of files on mounted disk images only.
28.
▲
by
ryanpetrich
8y ago
For those that haven't seen it: https://ourincrediblejourney.tumblr.com/ (though unlike most of the startups on that blog, Pagedraw seems to be shutting down in the most open and responsible way)
29.
▲
by
ryanpetrich
8y ago
Out of curiosity, what stopped you from setting the -install_name flag when you built the libraries you are bundling with your juicysfplugin plugin? That's the standard mechanism for building app-relative libraries and wasn't list
30.
▲
by
ryanpetrich
8y ago
Enabling source maps will have the source including type annotations show up in the web inspector, but the information isn't usable by the JavaScript VM to validate types at runtime. This is also necessary to preserve line and column i
More ›