HNHacker News
TopNewBestAskShowJobs

oconnore

3,789 karma · joined December 9, 2009

eric@oco.nnor.org
submissionscomments
oconnore··on CVE-2023-40547 – avoid incorrectly trusting HTTP headers
> Case 1 is moot, case 2 would be prevented by properly implemented HTTPS.

That's not true. It's significantly easier to ensure the security of an offline signing key than it is to ensure that an arbitrary HTTPS server avoids ever becoming compromised.

oconnore··on CVE-2023-40547 – avoid incorrectly trusting HTTP headers
HTTPS is irrelevant here. You can send incorrect headers in either.
oconnore··on Data leak contains 26B records from numerous previous breaches
I think you misunderstand their suggestion. If you only gave service providers access to encrypted data (i.e. End-to-end encryption), then neither the service provider nor the leaker would be able to decrypt.

Whether or not that is a generally viable or desirable suggestion is a different question, but it is possible as demonstrated by Signal, Apple, etc.

oconnore··on X: All Tweets Disappeared
Is it getting worse? This is the first outage I remember in a while.
oconnore··on Using Zig to Unit Test a C Application
I think the two main ones are Rust and Zig. This may be controversial (but it seems very obvious to me) that:

Rust is created in the same spirit that created and evolved C++: create a complex and featureful language that enables compiling your solution from a high level representation in an expressive/safe/performant way.

Zig is created in the same spirit that created and evolved C: create a simple language that allows you to directly and transparently represent and reason about what you want to have happen.

You'll probably think that one of these statements is more biased than the other, and that probably reflects your own preferences :)

oconnore··on I'm building a self-destructing USB drive (2022)
I still use BluRays, but the cost/GB has not kept up with everything else.
oconnore··on I'm building a self-destructing USB drive (2022)
That would be very useful. We sadly stopped innovating on optical media, but haven't really made the alternatives usable as a replacement. You used to have CDs / DVDs that were:

1. Completely immutable

2. Could not be maliciously altered by the reader

3. Could not masquerade as a keyboard or a mouse

oconnore··on Tesla Cybertruck Pricing and Specs
Usually the critical features are somewhat "air-gapped". For example, I can restart my Model X computer, the screen will turn black 100%, and many key functions still work.

None of the computers that are required to drive the car actually turn off when you reboot the computer that drives the dash/console display.

oconnore··on Privacy is priceless, but Signal is expensive
Would you actually want Signal to be cheaping out on the developers that are maintaining the cryptography software that protects millions of people?

Someone with that level of expertise is going to be expensive.

oconnore··on Privacy is priceless, but Signal is expensive
The deal could just be: no phone number, but you have to pay $x/year (I guess this doesn't work with 501c3?)
oconnore··on Why companies are racing to build the biggest bug farm
I apologize if this seems blunt and incurious, but I think I can speak for MANY people when I say: absolutely not.
oconnore··on Why companies are racing to build the biggest bug farm
I will not eat the bugs, but I would eat fish or poultry that has been raised on insect protein. It's an interesting use case because fish farms (for common non-herbivore fish species) are traditionally fed on fish meal, which means that the protein is ultimately coming from the ocean one way or another.

I wonder if [plants -> bugs -> fish -> human] is more or less efficient than just traditional [plants -> {cows, pigs, sheep, goats}]. Also, the bug protein could be an additive to mostly plant based diets for traditional farm animals.

oconnore··on Low-intensity fires reduce wildfire risk by 60%
Fires are started regularly by lightning strikes, and would burn if not for human activity to suppress them.
oconnore··on Rules of schema growth (2017)
This reminds me of the microservices trend where the main justification is modularity —- which is of course perfectly possible to implement in a programming language using standard language constructs.

Similarly: any separation of concerns you can implement with APIs and multiple databases you can also implement with a schema. The difference being you have to reimplement a bunch of capabilities that are baked into an rdbms (and will probably never correctly implement something like a hash join).

oconnore··on X illegally fired employee who publicly challenged return-to-work plans
I'm not sure what your point is. It's important that reporting is accurate, and the judicial system has not even held a hearing on this yet, though you wouldn't know that by the title here.
oconnore··on X illegally fired employee who publicly challenged return-to-work plans
, NLRB alleges
oconnore··on Goodbye integers, hello UUIDv7
I think you could but it would further complicate the id scheme (would need some sort of a version mask to facilitate a rotation window).
oconnore··on Goodbye integers, hello UUIDv7
A hash is not reversible, so you’d need a database index to recover the original efficient-to-index identifier, which misses the whole point ;)

If you didn’t care about index clustering then just use UUIDv4

oconnore··on Goodbye integers, hello UUIDv7
That would be the same as using a random identifier (UUIDv4, for example) with the associated indexing issues when stored in a database.

The whole point here would be that you can expose something opaque externally but benefit from well behaved index keys internally.

oconnore··on Goodbye integers, hello UUIDv7
Given that a UUID identifier fits in a single cipher block, and the whole point is that these are unique by construction (no IV needed so long as that holds true), it seems like a single round of ECB-mode AES-128 would enable quickly converting between internal/external identifiers.

128 bits -> 128 bits

oconnore··on Google assigns a CVE for libwebp and gives it a 10.0 score
But assembly _is_ outdated, at least for the purpose of authoring large community software projects.
oconnore··on Ways to capture changes in Postgres
Set the trigger to add the primary key + change time to a separate table, then scan/truncate that table to poll changes.
oconnore··on El Paquete Semanal
On the contrary, I wrote this as a reflection on our tendency to focus on technology systems instead of social systems. Another way to think about it is that a social system is just a different type or level of technology that can exist independent of or in close harmony with a technical system.

For example, the air transportation system is a complex social-technical system, where both the human patterns and the technology those humans use have evolved together over many years. Another example: a call tree, where the technical system is the phone line, and the social system is the training of people on who to call in the happy path and what to do if someone doesn't pick up.

oconnore··on El Paquete Semanal
I think it's interesting to compare El Paquete Semanal to the response in the US to net neutrality and various social media scandals.

When the threshold for action is high enough, the lack of open internet is overcome in Cuba without any special technology at all. Similar creative solutions pop up anywhere internet access is limited.

In the US, most of the energy is spent on open source, high tech solutions that rarely get wide adoption, such as CJDNS, Hyperboria, Mastadon, Lemmy, Fediverse, ActivityPub, various DHT based tools, and others.

Hypothesis 1: if the threshold for action were high enough in the US, people would adopt these higher tech offerings en masse.

Hypothesis 2: the low tech nature of El Paquete Semanal and similar networks is critical to their success.

If hypothesis 2 is correct, then building a similar network using "boring" technologies would be more impactful than working on high tech open source tools.

oconnore··on “Smart Gun” that uses biometrics to authenticate
Anyone that has ever tried to use a fingerprint reader with greasy hands under time pressure will reject this.
oconnore··on Stack Overflow is a cacheless, 9-server on-prem monolith
"The medium is the message" wins again.
oconnore··on Layoffs Are Cruel and Don't Work
This is incredibly dumb.

> The downsized companies, however, were outperformed consistently by the nondownsized ones during the initial two years following the downsizing.

Can you think of any confounding factors in this analysis? How do you control for important factors like, say: whether the board is in enough financial trouble to downsize?

oconnore··on Ask HN: Suggestions for working effectively with junior devs?
I think you need to consciously and continuously figure out where your time is best spent. There is a spectrum between situations where you can afford to let them make mistakes while figuring things out vs. situations where you need the team to execute to your own standards. You can evaluate this in multiple dimensions: productivity, system robustness, code quality, etc.

Think in terms of interfaces, assertions, and consistency checks. How can you be more hands off in the areas where the bar can be lower? What does your involvement need to be when you need the bar to be higher? Is the bar high enough that they will tend to improve over time?

If you are a perfectionist, you will simply end up doing more work than if you had done everything yourself. If you can create a structure that allows you to relax in some areas while helping the team grow their skills, then you will be more productive.

oconnore··on New wind, solar are cheaper than costs to operate all but one US coal plant
4 hours is sometimes not enough. I think that we can build a clean grid, but I think:

1) it is orders of magnitude easier if we include nuclear, and

2) even with a nuclear baseline we will need to build up caches of supplemental longer term storage options such as synthetic fuels. The added resiliency is worth the reduced efficiency.

oconnore··on Smaller, cheaper flow batteries throw out decades-old designs
> showed that the battery had a charge densities of about 1,322 watts per liter of electrolyte and a discharge density of about 306 W/L

Isn't the relevant measurement energy density (Wh/L) rather than power (W/L)? I guess there's some limit on the power generated by a given volume of the battery, but in practice it seems like the main question is how big the tank has to be per MWH/KWH, rather than how big the power module has to be to convert that back to energy over the duration of the discharge period.

← PreviousPage 2 of 29Next →