HNHacker News
TopNewBestAskShowJobs

jeffdn

255 karma · joined November 5, 2014

I'm a software developer from southern California, currently residing in San Francisco.
submissionscomments
jeffdn··on Does the Tank Have a Future?
Dropping an RKG-3 grenade on a tank from a cheap drone also requires that the tank be stopped -- something that happens far less often in a war of movement than in trench warfare. The war in Ukraine has been extraordinarily static (like the Nagorno-Karabakh War), and this has provided the opportunities for COTS drones to be useful in this way. A combined-arms offensive on a divisional or corps front might take a handful of losses this way, but it most certainly will not be stopped.
jeffdn··on Ask HN: How do you know when you are burning out?
I definitely find that when I'm close to burning out, I'm eager to start arguments and throw unnecessary barbs into conversations. It's a more specific example of the general symptom of beginning not to care.
jeffdn··on Pilot explains how he Survived Blackbird Disintegration at Mach 3.2
Such a fascinating read! I particularly enjoyed the part where they are testing the radar cross section of Have Blue, the initial design for the F-117. They had put it up on the test stand, but think the radar is malfunctioning, as they don't see any returns on the scope. Finally, they get a tiny return -- a bird had landed on the test object!
jeffdn··on Classified specs leaked on War Thunder forum for third time
Not to mention the ongoing proliferation of active protection systems — the Trophy APS[0] is a truly impressive[1] piece of technology.

- [0]: https://en.m.wikipedia.org/wiki/Trophy_(countermeasure)

- [1]: https://youtu.be/uRJzcM5ETY4

jeffdn··on A whole age of warfare sank with the Moskva
During the Cold War, both the United States and the Soviet Union had nuclear artillery shells for 155mm and 152mm howitzers, respectively -- those would have a yield of about 100 tons on the low end, up to 2 kilotons on the high end. Higher-caliber artillery pieces, like a 203mm piece, could have a shell on the order of 10 to 15 kilotons, roughly approaching the Hiroshima bomb's power.

The American W82 155mm nuclear artillery shell[0] weighed 43kg (95lb), was 860 mm (34 in) long, and had a yield of 2 kilotons -- equivalent to 500 full WW2 heavy bomber loads.

These shells (as well as bombs and warheads with similar yields, carried by planes and missiles, respectively) are called tactical nuclear weapons -- meant for use on the battlefield, to break up enemy formations. Their blast radius is relatively small. It was theorized that if the Cold War went hot and a conventional WW3 broke out, if the Soviet Union was pushing NATO forces back, then the Americans would authorize the use of tactical nuclear warheads. This would likely cause a spiral of escalation, up to a strategic nuclear exchange.

[0]: https://en.wikipedia.org/wiki/W82

jeffdn··on Tether Required Recapitalization in May 2022
I completely agree, I was just responding to the parent commenter's assertion that the UK didn't have the offensive power to have "exorbitant privilege"
jeffdn··on Tether Required Recapitalization in May 2022
They still have the ability to put nuclear warheads anywhere on the globe, by virtue of their ballistic missile submarines and the nuclear warheads those ballistic missiles carry. The Trident D5 missiles have a range of more than 7,500 miles, and the submarines move.

That, in and of itself, is worth a lot -- potentially even more than having a large military.

jeffdn··on Parmigiano Reggiano makers embedding tiny trackers in rind to fight cheese fraud
For sure, but then you take it out before you serve it (at least in my experience).
jeffdn··on Parmigiano Reggiano makers embedding tiny trackers in rind to fight cheese fraud
It's in the rind, which you'd be hard pressed to eat!
jeffdn··on Hacking F-117A
The F-19 was what people speculated the rumored "stealth fighter" would be named. There had been rumors for years, but the public didn't see it for the first time until 1988.

In Tom Clancy's book Red Storm Rising, about a hypothetical Third World War in Europe, he conceives of it as something like the F-35 ended up becoming -- a stealthy multirole aircraft (fighter-bomber). They called it the "F-19 Frisbee". The 19 comes from the fact that the previous fighter designation was for the F-18 Hornet.

jeffdn··on GraphQL Is a Trap?
An alternative approach is to use something like Thrift to type your responses —- properly implemented, an RPC framework like that is amazing. So much validation boilerplate removed on the backend, and receiving it on the frontend as a nice type is fabulous as well.
jeffdn··on GraphQL Is a Trap?
That, or just a string in your application’s code.

The problem with using the ORM as you describe is that when you hit any sort of scale, you need to be doing bulk operations, otherwise your latency goes through the roof, to the point that the number of inefficient queries you are doing can tank the database. I speak from the experience of having seen a database collapse under the load of a backend written in this fashion having request load grow past a certain point — not pretty! The interim solution is to bulkify existing queries and functions in place to the greatest extent possible, while preparing for:

Converting a codebase from having endpoints doing individual ORM operations as described to having proper separation of concerns with a business logic layer between the endpoints and the database is a _massive_ cost. The earlier you implement that, the happier you will be in the longer term. It doesn’t have to be with raw SQL, but many bulk operations are much easier to express with SQL than with the ORM.

jeffdn··on French fighter jet joy ride goes très, très wrong (2020)
There also weren’t reconnaissance satellites in 1941 that would detect some fleet leaving Vladivostok (or some western Chinese port). There weren’t over the horizon radars, or airborne interceptors with radar that can see hundreds of miles. It’s a completely different scenario in almost every way.

Finally, no current potential enemy state has the kind of aircraft carrier fleet needed to perform that the of attack. The U.K. and China both have two active carriers, but the Chinese are still training up. The Japanese launched about 300 planes from six carriers.

Nowadays, any surprise attack on the United States would be a counterforce launch of hundreds of ICBMs and SLBMs with at most twenty minutes of warning to launch a response, and hours to launch a second strike, assuming command and control networks remained active.

jeffdn··on The bottom is dropping out of Netflix
Band of Brothers? Succession? Severance?
jeffdn··on Analyzing iMessage with SQL
`join` isn't so bad -- you are connecting two tables based on a common value.

If you have `person` and `address`:

    create table person (
        id serial primary key,
        first_name text not null,
        last_name text not null,
        date_of_birth date not null
    );

    create table address (
        id serial primary key,
        person_id integer not null references person (id),
        street_number text not null,
        apartment_number text,
        city text not null,
        state text,
        postal_code text not null
    );
Then you'd join using `person.id` to `address.person_id`. An inner join hides rows from the joining table if there is no corresponding row in the joined-to table, while an outer join includes rows from the joining table if there are no corresponding rows in the joined-to table.

If we've got:

    insert into person (first_name, last_name, date_of_birth)
    values ('Brian', 'Kernighan', '1950-01-01'),  -- gets id 1
           ('Dennis', 'Ritchie', '1948-01-01');   -- gets id 2

    insert into address (person_id, street_number, city, postal_code)
    values (1, '123 Main St.', 'Berkeley', '94701');
Then these two queries will return one and two rows, respectively:

    -- an inner join, only returns `person` rows with a corresponding
    -- row in the `address` table
    select person.first_name,
           person.last_name,
           address.street_number,
           address.city,
           address.postal_code
    from person
      inner join address on person.id = address.person_id
    -- output:
    --  first_name | last_name | street_number |   city   | postal_code
    --  Brian      | Kernighan | 123 Main St.  | Berkeley | 94701



    -- a left outer join, returns all `person` rows, regardless of
    -- the existence of a corresponding row in the `address` table
    select person.first_name,
           person.last_name,
           address.street_number,
           address.city,
           address.postal_code
    from person
      left outer join address on person.id = address.person_id

    -- output:
    --  first_name | last_name | street_number |   city   | postal_code
    --  Brian      | Kernighan | 123 Main St.  | Berkeley | 94701
    --  Dennis     | Ritchie   |               |          |
One important thing to know is if you are joining to multiple tables, and there are multiple corresponding rows (i.e., a `favorite_food` table with three rows per person, and a `favorite_color` table with three rows per person), you will get _multiplicative_ data -- `n_favorite_foods * n_favorite_colors` rows will be returned per person! This is where things like `group by` and `distinct` come into play.

There are other types of joins, but these two are the usual suspects in most queries.

jeffdn··on Ask HN: What is your “I don't care if this succeeds” project?
Steamboat Springs is an amazing place!

One bit of feedback on your website -- it's agonizingly slow to have to wait for the list of cities to scroll -- a bar or an arrow would be lovely.

jeffdn··on We only talk about the third attack on Pearl Harbor
An excellent book! Have you read Ian Toll's books about the Pacific War? Similarly well-written and super in depth.
jeffdn··on We only talk about the third attack on Pearl Harbor
Yes, but CWIS isn't the only anti-air defense on a US Navy ship -- there's also the RIM-116 Rolling Airframe Missile, as well as vertically-launched anti-air missiles (RIM-162 Evolved Sea Sparrow Missile). CWIS is the weapon of last resort, after all of the other anti-air options have failed.

Additionally, ships are usually not alone. The other vessels in the battlegroup will also provide their anti-air capabilities. If they are with an aircraft carrier, then there are also planes to provide air defense.

jeffdn··on Metallurgist admits faking steel test results for US Navy subs
Yes, U.S. Navy nuclear submarines go under the polar ice caps somewhat frequently -- as did Soviet (and do Russian) nuclear submarines as well. It's a good place to hide from prying eyes, as not only can ships not (easily) follow you there, but the sound produced by all the ice moving and grinding makes passive sonar quite ineffective.

The YouTube channel Smarter Every Day recently had a video series on a nuclear submarine under the arctic ice.

jeffdn··on MacBook Pro 14-inch and MacBook Pro 16-inch
Do you think there will actually be a redesigned 13" MacBook Pro? My assumption was that it was being replaced with the 14", but maybe I'm mistaken!
jeffdn··on Army delays $22B augmented reality goggle program
Airburst rounds with timers set by calculation, not airburst rounds that can blow up when they reach a specific point determined by proximity, distance, GPS, etc. It's a completely different kind of airburst.
jeffdn··on Photos from NASA's Perseverance rover indicate ancient flash floods on Mars
Titan is largely protected by Saturn's powerful magnetosphere, which does a lot to help, I imagine.
jeffdn··on Photos from NASA's Perseverance rover indicate ancient flash floods on Mars
The combination of two processes -- tectonic activity and the increased luminosity of the sun -- will mean that surface water no longer exists at that time.
jeffdn··on A trillion-dollar coin could be minted within hours of an emergency decision
Well, and in the same vein, that Congress has essentially become a zero-sum game, where one party attempts to cut taxes, slash regulation, and prevent the government from paying for anything except for a larger military. The idea that the government doing anything except for defending the country is socialism is patently absurd, and the fact that so-called respectable people, in large numbers, keep parroting the idea is toxic for democracy.

Marco Rubio, for instance, has called Biden's policy agenda Marxist -- this coming from a man who has spent his political career agitating against normalizing diplomatic relations with Cuba. Conflating the two makes Cuba's government look more benign than it is, and makes the American government look more extreme than it is.

jeffdn··on Open Source Tax Software
US companies do have to pay taxes on overseas profits, which is why they so often have subsidiaries based overseas. Those entities do not have to pay those taxes.
jeffdn··on Hospitals lift curtain on prices, revealing giant swings in pricing by procedure
A substantial portion of the money spent on wages at primary care physicians offices is on staff to negotiate with insurance companies. At a previous employer, where I worked closely with many primary care physicians offices, it was not uncommon for there to be three or more staff members working entirely on billing. That is ludicrous.
jeffdn··on Show HN: Display a bell emoji on HN comments you haven't read yet
How do you sign up for it?
jeffdn··on Stupidity is a specific cognitive failing
Germany, the aggressor, had a substantial chunk of France and Belgium in their control at that time, and were, for all intents and purposes, winning the war from defensive positions. They had no incentive to initiate peace talks. Had the French or British initiated peace talks, it would've been essentially a surrender, and involved the loss of territory.

There was no way that either side was going to budge when that was the status quo. When the Hundred Days offensive kicked off, and Germany was being pushed back on the Western Front, and with their home front on the brink of collapse due to blockade-induced starvation, they did indeed initiate peace talks.

jeffdn··on Powering the Lunar Base
That’s also assuming that the satellite that drops said rods can maneuver into the orbit required to drop the rod without:

1. getting knocked out at the commencement of hostilities by an anti-satellite weapon

2. the Defense Intelligence Agency/National Reconnaissance Office noticing and telling the carrier to change course

3. getting blown up by an anti-satellite missile fired by an aircraft, or a member of the carrier’s strike group

Rods from god are a much more potent weapon when used against static targets!

jeffdn··on Apple plans to scan US iPhones for child abuse imagery
The Constitution applies only to the government. A user's relationship with Apple is not in any way governed by the Constitution, just like how Twitter banning people who violate the terms of service is not a violation of the first amendment to the Constitution.
← PreviousPage 3 of 4Next →