skysight-inc/HackerNews huggingface dataset:
This is what I do as well. Yubikey configured as a smartcard running gpg-agent with enable-ssh-support.
To shortcut a lot of this developing twister of why people should use different keypairs for different ssh hosts:

Its a big privacy leak, not a big security leak.

Your Pubkey can be used to cross-match multiple identities.
Example:
You have different coding personae.
One that is activist, one that is company-peon.
Different accounts, same SSH pubkey in Github or other server with publicly listed pubkeys --> Same person confirmed.

As a result of this the information can be used to target each of the identities in a more precise manner. On the human layer of the security side:
New phishing/deception/blackmail vectors.

On the organizational layer: we have to target these keybearer devices now.

Maybe it even helps in a cryptanalytic way in some weird exotic scenario but not substantially.

And of course separation of concerns if you have different keybearer devices.

(Also the famous Keysticks are a nice solution to that organizationally but they are an additional risk for big scale attacks by having biased RNGs. In the end its hardware and audits are just a voluntary thing by corps. They can always choose to hide things from auditors or do a compromised batch at their mercy.)
Oh, thanks for that link. Withoutboats is being quite emotional, but it is understandable to be emotional about their brain child.

I am tempted from time to time to try Rust, but in the end, I don't think it provides enough benefits for me to consider it. I like high-level, and when I am going low-level, I don't want to be hand-cuffed. It seems with Rust, I am paying all the time just for the ability to go into hand-cuffed low-level mode.
“Working at a FAANG (Facebook, Apple, Amazon, Netflix, Google) company is the holy grail for software engineers.”

Is it, though? Personally I prefer to be a big cog in a small machine.
It’s not *Higher* math. It’s just normal math.
Both are genocides, without qualification.
Using different keys for different services is overkill most of the time.

Generally you need to have one key per host that you use (or per any storage location). You can use separate keys for separate services is if you for eg. privacy reasons don't want to associate the same identity with both services, but that's a personal choice, not something that improves security.
Bootstrapping is always a harder problem. But for updates, guix git authenticate [0] has definitely solved the problem. The idea is if you specify a certain commit that serves as a trust anchor, the .guix-authorizations file at that commit represents the public keys allowed to sign commits from that point: the file can be amended only by an already-approved key.

So if the repo has that file, and as long as you don't allow history rewrite when pulling (disabled by default), you can be pretty confident all commits have been signed only by authorized keys from the point you checked out initially.

About bootstrapping, several strategies are possible:

- [crev](https://github.com/crev-dev/cargo-crev) is an alternative (not PGP/SSH based) web of trust for vetting code

- [radicle](https://radicle.xyz/) is a p2p forge to do away entirely with web-based centralized forges (like github)

- we could imagine a sort of public-key-addressed DHT where a forge (such a Github) advertises the public keys of its members, for example based on IPNS (although a history-preserving system would be better)

- of course source-based distros like NixOS and GNU/guix are also a very good answer about bootstrapping trust in the code you run ; guix in particular does intensive research and development about bootstrappability and reproducibility [1] which you can read about on their blog [2]

Shameless plug: i wrote an article earlier this year about some of the challenges surrounding decentralized forging: https://staticadventures.netlib.re/blog/decentralized-forge/

[0] https://guix.gnu.org/en/blog/2020/securing-updates/

[1] I'm personally really amazed and slightly disappointed by both: they're really cool on paper, but although guix has a much better CLI UX than nix (and in my opinion Guile Scheme is much easier than nix programming language), both have very cryptic errors

[2] https://guix.gnu.org/en/blog/
Same. Imho it’s the best solution we have right now.
From the Reddit thread: "got it too. i called the FBI helpdesk and they are getting flooded with calls..."

I mean as a spammer (or whateveer) do you REALLY want to piss off the FBI like that?
Has any ghost cell stuff gotten closer to production-ready in the last couple months? It seems like it's still pretty early on in its development lifecycle.
Correct. Linking an identity to the crypto signature is the hard part for every mechanism.
Regarding the allowed signers file you have several options:

A repository only allows signed commits / merges / pushes and simply stores the file in the repo itself.

If you already rely on forges like github/gitlab/... and trust them to generate a file for you (e.g. from the users ssh keys having write access to the repo).

You maintain this file independently for yourself with a "Trust on first use" mechanism (which will follow in a future patch to git)

A git patch currently in progress will utilize the valid-after/before options that you can set on keys in this file to verify the commits/tags with keys valid at the time of the objects creation. This will allow for key rollover and still being able to verify old signatures. (Theres also the revoke file which will invalidate all signatures for a key).
In addition to that a "trust on first use" patch will follow that can automatically add new keys with the committers ident to this file (unless the ident is already present with a different key of course, which should error badly).

disclaimer: i wrote the git integration for this
> to program this toy, first you have to learn emacs and elisp

Yeah, thinking about f---ing in the context of emacs makes me want to vomit a little bit. It's about as sexy as RMS' underwear.
A string made of collapsed matter. You could pluck it like a guitar and it would vibrate with gravity waves. As long as nothing else on earth was as dense as the string, the gravity waves would propagate easily through ordinary matter like sound waves through air.
Empires fall , civilizations thrive.
They want to get ahead by pleasing the boss and doing everything they ask, they have no life outside work, they desperately need that job, they just aren’t good at saying no, etc.
Debit cards prey on poor people, who have been memed into thinking credit cards are dangerous.

There is no good reason to use debit over credit in the US if you have the option, but I constantly see advice from people who should know better arguing in favor of debit.

If someone steals your credit card and makes fraudulent purchases, your rent and heat and electricity bill checks aren't going to bounce while the bank is resolving the issue.
So the same answer as before?

The "If we play very hard with user browser we can sometimes get something out of user browser. We do not know what that something is, we need to know what kind of a system user has, we should profile profile it, etc." is not impressive as a demo. I cannot make it work under a Debian 10, Chromium and i4970K and i7-6500U. This not not Elon Musk throwing a brick and brick breaking a windshield. It is not having bricks to throw.

The demo is "Pull up website A into a tab 1. Go to website B in a tab 2. Website B says 'You have website A' opened". That's a demo.

> The VM ones don't really have anything to do with it being a VM. Being a separate VM just doesn't save you.

If that's the case Google should be able to develop an demo attack where content of a file in a VM A be readable in a VM B in a jiffy.
Really you only have to wait one week for each episode to reach you.
How does it work from a client perspective? Are there any browser (or browser plugin) supporting it yet?

On paper it sounds pretty cool, i would dare say the only interesting application for DID i've heard so far :)
Cremate
I misunderstood. My apologies.
It's not sarcasm. I only use this for hobby projects and I already put my source code and various secrets on GitHub so they could pwn my blog if they really wanted to whether or not I pull public keys from GH or bake them into my user-data.
Because they may be used to learn the identity of an otherwise pseudoanonymous github account if one uses the same keys with another account that is tied to his real identity.
I agree. And we should also penalize any state that mass spy on their citizen, go to war against the UN decision while lying about WMD, teaches creationism in some shools and put mostly one ethnicity in privatized slave camps they call prison.

Now if both those states would come to negotionate with each others, that would be interesting.
I love erlang but my problem with it is the app distribution model and runtime dependence. The language is really nice and simple.
I am. My ssh key is my gpg auth key. It's stored on my yubikey requiring a touch each time I use it.

I use the same gpg key for talking to anyone, so why wouldn't I do the same with my ssh key? I suppose I could try to build a workflow around host-specific keys somehow derived from my auth key… but I'd need some reason to do so.
Download Airtel Xstream App 2021 for free
Id Software Goes After Doomscroll
The author wants Go, Java, C#, or another GC’d language.
Yep, https://youtu.be/n2HhhN0NO2A
> A separate key per client allows a service to ban individual client devices if they get compromised

This isn't possible with the "oh I synced your public keys from GitHub" pattern. The user might revoke a key later (we all rotate our keys every six months, right?), and remove it from GitHub but it can still be used to access your service.

Maybe this is OK if you sync from GitHub on every access request (or cache for a short period), using it as a poor man's OAuth, but that's not what GP was proposing.
This may be a problem with async generally unless the language is designed specifically around async like Go is, which some profound tradeoffs to make it happen. (not criticizing that I think Go did a great job)
Unrelated but if you don't mind, I am curious to know what you did to get an O1?
> You have an incredibly lower long-term risk when compared with catching Covid...

You can't know that. COVID is a new ilness, coronavirus vaccines are novel and neither MRNA nor adenovectors have long-term safety data. You can reduce your short-term risk from COVID by getting a vaccine, so far so good. You can't know if you then go on to develop an overly specific immune response that will end up hurting you with the next mutation. Perhaps the kind of mutation that is being selected for by a non-sterilizing vaccine administered to a large population? Can we rule that one out? Of course not, it's just too inconvenient to think about.

Too many people act as if this vaccine deal was a no-brainer, that the vaccine hesitant are just stupid. Never mind that the idea of vaccinating people not at risk, especially children, was almost unthinkable when it was the "Trump vaccine". What changed? Is it the science, or is it the population that demands a magic injection to end the pandemic by next Tuesday?

> ...and society has a multiplicatively lower risk when compared with unvaccinated people being allowed to so easily spread the disease.

This doesn't stand scrutiny, as some of the highest vaccinated places also have some of the highest rates of infection.
The crowd that needs privacy is also the most high stakes and vulnerable crowd.
They are the people that may save civil society with a structure built by thousands of small stones.
Dismissing concern in that area is inherently giving tyrants and aspiring ones power.
Next step: move from CW(code word) to CDMA. Hedy Lamar owns the patent on CDMA with punch cards but you could own the neutron patent.
In the past I’ve used a certificate authority for ssh setup as one nice way to stop the proliferation of ssh keys. The other route is to use one hardware key fob with a gpg identity on it and use that as your global method of access.
Back in 2012, before seeing Kerbal Space Program, I thought of it too. Well, if we build a tower 1 km tall (or find a suitable mountain), have two bobines with 5-10 km cable rotating and gradually increasing the radius while keeping the weight above the ground, then it could launch the vehicle at reasonable g's and within reasonable radius. But still the centrifugal force formula is cruel, and the size of the device is huge.

Actually, I wonder if cold gas thruster can do the same job. (https://en.wikipedia.org/wiki/Cold_gas_thruster) At least some gases are extractable on the Moon surface.
Speaking of the four versions of tokio in your build problem: this is definitely an issue with Rust dependencies. Async just magnifies it because there are a lot of async utility crates.

Personally I hate dependencies in general and try to minimize them. Instead of reaching for a utility crate I think “how could I architect this so I don’t need this hack?” There is almost always a way. In the end falling back on Arc<> is still cleaner and probably comes with less overhead than dependency spaghetti.
That isn't the future but rather the past we've abandoned. In the 1980s "computer literacy" meant teaching children how to program (generally in BASIC and/or Logo) and computers generally booted up into a BASIC interpreter. But in the 1990s this changed and "computer literary" became the less interesting "teach kids how to use Microsoft Office".
Same, I love it. The GPG bit is the only inconvenient part.
I think if you trust your maintainer/central tool enough to merge code from your developers then i think you can also trust them to verify all the commit signatures they receive and then resign the resulting merge right? After all they could simply create all the commits they want themselves right?
The authors commit signature from before the merge will be lost. If you use signed tags though the merge will retain the initial signature on merge in the merge message.

btw. i am also a great fan of the phabricator workflow :)
You are right in that an honest economic model is necessary but not sufficient.

“Free” makes honest software impossible because software is labor intensive.
Could they have used a Farnsworth fusor as a neutron source and electrically modulated it at radio frequencies?
You should use different keypairs per identity, and different secrets per service. However, when a service relies on public-key cryptography, there's no reason not to reuse the same keypair for different services.

If your private keys are stored on your local machine, chances are if one is compromised, all are compromised.
Steam Deck: Hardware Overview
This is a lie at least as it corresponds to bigtech hiring today.

> "I'd Google the exact algorithm for X"

This is a fail in the interviewer's book. Read: "Could not produce an algorithm with less than O(n)" or "lacks familiarity with fundamental data structures"
That may be very much the answer.
>There are cases where information [...] associated with a public key)may indeed need to be protected, [...] But public keys should be considered public without exceptions.

Your answer actually stumbled into the reason why so-called "public" keys may not want to be published. There are 2 different objectives:

- public key as part of a encryption pair : publishing this is no big deal as it shouldn't compromise SHA256 private key for decryption. So "security by obscurity" isn't necessary.

- public key as an identity for metadata/tracing : some may not want public keys to be known for correlation ... e.g. That's why Bitcoin wallet software generates new public+private keys for each transaction even though exposing a public key doesn't compromise ECDSA encryption.
Well, thanks for that earworm...
I don’t think virtually everyone knows a Beatles song. I hadn’t heard a song by them until I got into indie music. And began going thru who influenced modern indie rock.

I remember The Beatles being brought up in 10th grade. Someone did a project on it. The teacher said something like “you don’t even need to say the album name. We all know.” I didn’t. I had no clue what was happening. It was just assumed every one knew.
Ooh sorry I thought you were talking about the bike, not the 45km/h thing. Got it!
In the coding framework I created for students we have a "real" typedef that is either for float or double, and with C99's <tgmath.h> you just write "cos" once, and it will turn into cosf or cos depending on how the typedef is set, which allows controlled experimentation on how FP precision affects performance. But for submitted code the grading scripts grep for "double" and turn on various extra warnings to ensure that there are no implicit casts from double to float, in an effort to ensure that single precision is always being used (but I should probably scan the assembly).

Steve Parker was the first person to explain to me (while he was still a student, and I was a much younger one) the sometimes surprising cost of having image sizes be powers of two (because of cache conflicts). Small world.
It is not the weight that is the problem (though the bike is heavy), it is that the fancy hub drive will not let the rear wheel spin freely when powered off. I have had to cycle home up to 20km with at about 18kmh, so slower than a lot of normal cyclists, while sweating, wearing my ugly helmet and illegally riding on the cycle path. The last time that happened I decided to sell the bike.
2001 called - either you're with us or you're against us.
I don't disagree. After working with Rust's model, which forces you to confront a lot of the tradeoffs and complexity, I'm more inclined to think async is a feature which should really be considered from the ground up when a language is being designed, to avoid painting oneself into a corner in the design space.
This is a big point I think about quite a bit. Everything you said is spot on.
Both are correct from math POV, but they differ in how "integer division" works.

Python floors `7 // -5` to -2, C rounds `7 / (-5)` to -1.
A quick survey of my communications finds "OK" to be the most common neutral acknowledgement used by both myself and my peers of millennial and Z-age. (Older milennial here.) "kk" is, by my reading, not appropriate for work. That's how you text your friend, or even intimate partner. Cutesy and far too intimate.

But if someone said "kk" I would assume an idiolect difference, not trying to prognosticate deep meaning behind it, barring other clues like chocolates. Making such inferences -- which are based on a sample of highly subjective and constantly changing idiolects which probably do not have anything approaching consensus -- is kinda setting yourself up to fail. Miscommunication can be an error of both the speaker and the listener, after all.
You’re clearly super well-informed about this problem space. I’d like to talk to you about this a bit more, if you’re up for it — shoot me an email (it’s in my HN bio).
Slightly related, but I use age[0] for most of my non-automated file encryption tasks; and one of the neat features it has is the ability to encrypt to a GitHub user's pubkey[1].

[0] https://github.com/FiloSottile/age

[1] https://github.com/FiloSottile/age#encrypting-to-a-github-us...
It is not normal.
Incomplete combination is a poison problem.
Doesn't work this way. When they give you shit, you either turn in gold or resign. Otherwise it will just be scapegoat firing. Seen this many times. This happen not because the company culture but individual managers that need to protect their ass while waiting fo opportunity to move before their scapegoating turn on them. That is why theyb
should have implemented a 360 degree feedback/review yearly performance. Bad managers need to be rooted out at most no longer thatn 1 season of review.
No, it actually happened to me, but it may have been a mailbox the cop was hiding behind.
I imagine something where the vibration intensity is proportional to the complexity of the commands you enter would be a great "teaching" tool. Either that, or rewards for using hjkl over the arrow keys!
I've looked at that section of Debt again and it's even worse than I remember.

> You've not fully quoted Adam Smith

That's a strange objection because neither did Graber. The lines appear in the middle of a long and dense paragraph from the chapter Of the Principle Which Gives Occasion to the Division of Labour[0]. I don't understand why you feel the second line in anyway changes the point about rational self interest driving specialisation. Have you read the Wealth of Nations?

> Benevolence (mutual trust and an interest in both one's well being and the well being of the other party in the relationship, informed by some knowledge of one's own needs and the needs of the other party, if you'd prefer to unpack it) is needed to establish a credit relationship.

Sure, it makes sense if you redefine benevolence. FWIW, the dictionary definition[1] is inclination or tendency to help or do good to others; charity. Conflating credit to charity is disingenuous on it's own but Graber doesn't stop there, he says Adam Smith

> wants to imagine a world in, which everyone used cash, in part because he agreed with the emerging middle-class opinion that the world would be a better place if everyone really did conduct themselves this way, and avoid confusing and potentially corrupting ongoing entanglements. We should all just pay the money, say "please" and "thank you," and leave the store.

Except that this is unfounded speculation by Graber. Or to use Graber's favourite turn of phrase, an attempt at de-legitimization. There is nothing in the actual text where Smith suggests anything of the sort.

Further, Graber claims Smith

> created the vision of an imaginary world almost entirely free of debt and credit, and therefore, free of guilt and sin

Again, there is nothing in the text to support the idea that Smith saw debt as sin. The only kind of debt Smith took exception to is public debt[2] and that was for entirely different reasons.

0: https://standardebooks.org/ebooks/adam-smith/the-wealth-of-n...

1: https://www.collinsdictionary.com/dictionary/english/benevol...

2: https://standardebooks.org/ebooks/adam-smith/the-wealth-of-n...
Are people using time trackers that are web sites, not native apps?

I kinda expected something apart from web browser to track my browsing activity, apart from other things. I don't know much about time tracking, though. Hope others more familiar with the niche will comment.
Then this is bad advice in general because its specific to a low trust expectation. Would be sensible to note that in your comment.
Anecdotally, I found Rust easier to grasp than OCaml..
Then get an expert to testify as much.

Btw, this isn’t a “right wing” issue. Political “liberals”, to their credit, have been saying as much for years, pointing out that closed source software has huge problems in court.

As it stands, the defense has a right to force the prosecution to either get an Apple employee to testify in court, or use a linux machine, gimp and a CS expert to explain what gimp is doing.

EDIT:

sorry I read comment Im replying to as “I wouldn't consider it inadmissible”. I txted this while dozing off.

Leaving comment for record’s sake.
If you paid originally when it was one off you should be able to use 'restore purchases' in-app to get grandfathered access (everything apart from cloud sync)
It seems to be a common theme that the ones who have been screwed by the banks or are currently being screwed by the banks are cheering for cryptocurrencies, while the ones with no experience of getting fucked themselves keep asking "But what problem does cryptocurrencies really solve? Seems useless to me because banks do the same thing"
They didn’t say not to use IE, just to restrict IE’s use to specific applications where it’s needed. The FBI has technical debt too!