HN user

marksomnian

931 karma

DevOpsian and unsalvageable tinkerer.

Posts26
Comments278
View on HN
segflow.github.io 1mo ago

Finding a needle in a 4 GB haystack: from 0.75 GB/s to 49 GB/s in Go

marksomnian
7pts1
presentations.clickhouse.com 5mo ago

ClickHouse Release 26.1

marksomnian
8pts0
peps.python.org 6mo ago

PEP 761 – Deprecating PGP signatures for CPython artifacts (2024)

marksomnian
2pts2
leerob.com 11mo ago

Reflections on the React Community

marksomnian
6pts0
hydra.cc 1y ago

Hydra: A framework for elegantly configuring complex applications

marksomnian
10pts0
blog.replay.io 1y ago

Replayability Roadmap

marksomnian
3pts0
vercel.com 2y ago

Using Zig in our incremental Turborepo migration from Go to Rust

marksomnian
5pts3
docs.couchbase.com 4y ago

Couchbase Server 7.0 – What’s New?

marksomnian
4pts1
sorrel.sh 5y ago

A new pair of projects: carefully and jan (2020)

marksomnian
2pts0
wiki.mozilla.org 5y ago

CA: Camerfirma Issues

marksomnian
1pts0
github.com 6y ago

A Guide to the GitHub Code Vault

marksomnian
2pts0
core.telegram.org 6y ago

Telegram Reproducible Builds

marksomnian
4pts0
mozilla.github.io 6y ago

Mozilla Specification Positions

marksomnian
2pts0
groups.google.com 6y ago

Intent to Ship: Move Extended Validation Information Out of the URL Bar

marksomnian
1pts0
help.github.com 7y ago

Navigating Code on GitHub

marksomnian
1pts0
www.reuters.com 7y ago

Messaging service Telegram CEO points to China as likely origin of cyber attack

marksomnian
2pts0
blog.darksky.net 7y ago

Location Tracking and Privacy (2017)

marksomnian
1pts0
bugs.chromium.org 7y ago

Chrome Extensions: Implement Manifest V3

marksomnian
2pts0
www.pagerduty.com 8y ago

BabyDuty, or how PagerDuty accidentally prepared me for adulthood (2017)

marksomnian
1pts0
www.forbes.com 8y ago

Why the U.S. Treasury Killed a Latvian Bank

marksomnian
101pts26
jhalderm.com 8y ago

Security Analysis of the Estonian Internet Voting System (2014) [pdf]

marksomnian
2pts0
www.buzzfeed.com 8y ago

Russian Hackers Say They’re Using Twitter Bots to Help AfD in Germany

marksomnian
4pts0
telegra.ph 8y ago

Why Isn't Telegram End-To-End Encrypted by Default?

marksomnian
4pts0
cr.yp.to 8y ago

United Airlines sucks (part 40) (2007)

marksomnian
3pts0
dukope.tumblr.com 9y ago

Localising Papers, Please (2014)

marksomnian
1pts0
www.bbc.co.uk 9y ago

Wikileaks is offering tech firms CIA files first

marksomnian
93pts111

To answer your question:

Does Debian already provide signature on .deb files (that is, provide a manifest of their hashes and and sign each)?

Yes it does. If you look at https://ftp.debian.org/debian/dists/trixie/InRelease it's a PGP-signed file containing a list of files and their hashes. Each of those files (eg https://ftp.debian.org/debian/dists/trixie/main/binary-amd64...) then contains a list of .deb files along with their shasums. In other words, a Debian repo is a set of deb files, metadata files with their hashes, index files with hashes of the metadata files, and PGP signatures for the indexes, so the whole chain can be verified.

This means that anyone can set up a deb mirror by (essentially, there's some extra steps) copying that entire structure and the integrity is guaranteed because only the upstream admins can sign the metadata.

That's exactly where I keep getting caught. I've looked at in-toto a number of times, and each time I've been left wondering "how is this better than a signed list of hashes?".

Which I suppose is what in-toto is at its core, but it's taken me a long time and lots of reading to get to that point, and I'm not seeing the advantages of it (except it being a standard, OK, fair enough).

I must be missing something.

Doing Rails Wrong 10 months ago

And `rails new` required me to install Ruby and Rails. I'm not sure what the point you're making is.

If I were a CodeRabbit customer, I'd still be pretty concerned after reading that.

How can CodeRabbit be certain that the GitHub App key was not exfiltrated and used to sign malicious tokens for customer repos (or even used for that in-situ)? I'm not sure if GitHub supports restricting the source IPs of API requests, but if it does, it'd be a trivial mitigation - and one that is absent from the blog post.

The claim that "no malicious activity occurred" implies that they audited the activities of every repo that used Rubocop (or any other potential unsandboxed tool) from the point that support was added for it until the point that the vulnerability was fixed. That's a big claim.

And why only publish this now, when the Kudelski article makes it to the top of HN, over six months after it was disclosed to them?

I like this style. In a project I worked on we had CI reject any FIXMEs outright and any TODOs that weren't accompanied by an issue ticket[^1], so the hierarchy would be

FIXME: I am leaving a note to myself to not get distracted, but this code is not considered finished/mergeable until it's resolved

XXX: this needs fixing soon, but the code will still be functional without it

TODO: this needs revisiting but the code is perfectly useable without it - a lower priority XXX

NOTE: this does something unusual and you need to bear in mind while working on this code

[^1]: the value of doing (or not doing) this is a subject that has already been extensively rehashed in sibling comments

But a few instances were to conditionally set one piece of state whenever another piece of state was changed

That use case is explicitly called out on the "You Might Not Need An Effect" article in the docs (which everyone writing React should read, and arguably was published years too late): https://react.dev/learn/you-might-not-need-an-effect

TLDR:

When updating a useState based on another useState, don't use the first useState at all, just compute it inline. If it's expensive, wrap it in a useMemo.

When updating a useState based on props, call the setter directly from the component function, and React will immediately re-render the component (instead of rendering it, running the effect, and then rendering it again).

From TFA:

Generally, this can be dealt with via policy and moderation to prevent abusive users from causing outsized load on systems, but these processes take time and can be imperfect.

So it’s a case of the engineers accepting that, however hard they try to moderate, these sorts of cases will crop up and they may as well design their infrastructure to handle them.

if a peaceful protest were to take place during the talk in question, we will not take action, provided the protest is indeed peaceful and does not disrupt the proceedings

Would staging a sit-in explicitly intended to prevent the booked speaker from speaking be classed as “disrupting the proceedings”?

Android XR 2 years ago

Titanfall was a game that couldn't be made until the cloud

What do you mean by this?

From an infosec perspective, as long as the queries are encrypted (with proper TLS verification), that angle is covered (though there are other considerations about data sovereignity etc.).

In terms of response time, that's something you'd need to benchmark for your application - though, given most DBaaSes run in the same major cloud providers are your application, it'll either be the same region or go cross-region via their private backbone, so the latency delta should be manageable. Of course if your app is particularly latency-sensitive for the DB that won't work.

Assuming arguendo that apple did want to do that kind of messing with DNS though - what's there to stop them from changing getaddrinfo() in the same way? As someone pointed out upthread, if you don't trust your OS vendor to do DNS lookups correctly, your only option is to not usre your OS vendor for DNS lookups, which is in the realm of Byzantine faults.

(And further, assuming arguendo that there was DNS meddling happening but somehow getaddrinfo() was exempt - now the user has one app that behaves differently to all their others, which is worse in every practical sense.)

Zed AI 2 years ago

Seems like a non-sequitur? Why does LLM integration mean that Zed is less good of an editor for junior devs?

Interesting footnote:

In the 2022 engagement, the client’s engineers were enthusiastic about the prospect of a public analysis, and Jepsen was allowed to file public issues against systems including etcd. Following the conclusion of the contract, Jepsen independently completed a written report discussing the behaviors we’d found in etcd. However, Jepsen was unable to secure official permission from the client’s legal department to disclose that the client had funded part of the work. This created an unusual state of affairs: the issues, test suite, and reproduction instructions were all public, but per Jepsen’s ethics policy, the analysis itself could not be published. Jepsen shelved that analysis and it remains unpublished. The present analysis is based on entirely new work and verifies a different software system: jetcd, rather than etcd

Some lines on the London Underground do use ATO without platform barriers. The driver closes the doors, checks that the platform is clear, then starts the train. ATO takes over until the next station, where the driver watches to make sure there's nobody too close to the edge, ready to slam on the emergency brake.

I believe http://go isn’t special cased, but instead (ab)uses DNS search domains - the server is actually something like go.corp.google.com, and all Google PCs are configured to use corp.google.com as a search domain

Also it's a violation of Obsidian's license:

Obsidian is free for personal and non-profit use. However, if you use Obsidian for work-related activities that generate revenue in a company with two or more people, you must purchase a commercial license for each user. Non-profit organizations are exempt from this requirement.

https://obsidian.md/license

Interesting that Ryujinx is written in C# - I'm not sure why, but at first thought I'd have expected something like a console emulator (where one would have to do "unusual" memory / GPU operations to fully match the quirks of the platform) to be written in C or C++, like Dolphin or PCSX2 (Wii / PS2 emulators) are. Though clearly they can make C# work well for it, and the benefits of working in a managed language are probably worth it.