HN user

omegaham

2,161 karma

Oregon software engineer. USMC 2009-2014.

Posts0
Comments577
View on HN
No posts found.
Project Euler 8 months ago

See also Uiua, a newcomer to the "extremely cool but completely incomprehensible language" family!

A more obvious setup to the joke is

"Is there a doctor on this plane???"

"Well yes, but I defended my thesis in comparative literature..."

Since even a phone has enough processing power to make Stockfish play better than a super-GM, the Faraday cage isn't enough to prevent, say, someone tapping the position into a computer on their person and feeling for some sort of vibration[1] in response. It takes very little information to represent a position, and commentators have pointed out that the minimum amount of information required to produce a decisive advantage is 1 bit ("A winning move exists").

[1] Yes, the ribald jokes have already been made

The adjournments in The Queen's Gambit were rendered obsolete after chess engines became strong enough to be useful in analysis. The last year that they were permitted was 1996.

Match play at the World Championship (where the two players play each other repeatedly for many games) involves a ton of inter-game coaching and work as each player's team goes over what went well, what went wrong, and how the next game should be approached.

Round robin play in small fields also has a significant amount of preparation because the schedule is known in advance, so players will know whom they have to play the following morning and will prepare accordingly.

I'm not comfortable saying that Hikaru does exactly 0 preparation for 3-minute Chess.com blitz games, but it's probably pretty close to 0.

Unopened, a jar of pasta sauce is good basically indefinitely, but as soon as you actually open the jar the clock starts ticking. We don't make enough pasta at a time to use a full jar, (and in fact will usually use a small fraction of the jar) so I write the date that I opened the jar on the lid to plan its use a little better. "Hey, better find a use for this sauce, it's going to go bad eventually."

For me, its finest purpose is to be a buffer that I can paste formatted text into so that it can strip the formatting. There are many programs that do this natively, but there are many that don't or are really inconsistent about the hotkeys, and Notepad is always there.

Note that in OCaml, you can't get too screwy with point-free programming because of the value restriction. It is possible to compose functions in a point-free manner, but those functions themselves have to have points if you want them to be generic. Standard example:

    let last xs = List.fold_left (fun x y -> Some y) None xs
This is of type
    last : 'a list -> 'a option = <fun>
Neat, `'a` is generic. Let's η-reduce out the `xs` and make the function point-free (ignoring the lambda):
    let last = List.fold_left (fun x y -> Some y) None
This doesn't work the way that we want:
    last : '_weak1 list -> '_weak1 option = <fun>
The moment that we call this weakly polymorphic function, its type is fixed and is no longer generic. In the toplevel:
    # last [1;2;3];;
    - : int option = Some 3
    # last['x';'y';'z'];;
    Error: This expression has type char but an expression was expected of type
             int
Haskell, of course, is totally happy to let you do point-free mania with Kleisli arrows and all of the rest of it.

You'll like the `std::ranges` library that's been somewhat implemented as of C++20 and is getting some more stuff in C++23. It's very Fun!

    #include <ranges>
    #include <numeric>
    #include <vector>
    #include <iostream>

    int main() {
        std::vector<int> vec = {1, 2, 3};

        // map, using `std::views::transform`. Implemented in C++20
        for(int elem : 
                std::views::transform(vec, [](int x) { return x + 1; })) {
            std::cout << elem << " "; // 2 3 4
        }
        std::cout << "\n";

        // `std::ranges::fold_left` will be available with C++23.
        // Until then, we're stuck using the <numeric> iterator version, which was
        // implemented in C++20.
        std::cout << std::accumulate(vec.begin(), vec.end(), 1, 
                                     [](int x, int y) { return x * y; }) 
                  << "\n"; // 6

        return 0;
    }
Building and running with the following:
    $ g++ --std=c++20 test.cpp
    $ ./a.out
    2 3 4
    6

There's always rapid and blitz time controls, where you can't prepare and calculate like that. I know that to a lot of people it's just worse chess, but I think that it's the future of chess as classical OTB becomes more and more ossified from engine analysis.

I don't like bullet, but 15-minute and 3-5 minute chess is wonderful to watch.

It's less "good intentions" and more butthurt that the tank that they work on isn't as powerful in the game as they think it should be.

Think of a sports fan complaining that their favorite player is rated too low by Madden or FIFA's video game representation of the stats. "Whaddya mean that Justin Herbert is only rated 91, he should be rated 97!" Except instead of pointing to some box scores on ProFootballReference to attack the naysayers, you leak classified intelligence.

A Russian tank using Russian "combined-arms" doctrine that sends me into a city completely unsupported? That's going to be a big "no" from me.

An American tank using American combined-arms doctrine? Well, it's not going to be a risk-free experience, but I'd rather be in the tank than be one of the bullet sponges who are fighting house-to-house to prevent the enemy bullet sponges from sticking an AT-4 out of a window.

As other people have noted, "survivability" doesn't really factor into military thinking so much as capabilities. Bullets are extremely lethal to infantrymen, but we still have infantry because infantrymen have capabilities that other equipment platforms do not have. The existence of machine guns doesn't remove the need for infantry; it just changes how they have to be used (more cover and concealment, more need for air, artillery, and tank support). The same is true for tanks - they have capabilities that no other platform can satisfactorily fulfill, so we will continue to have tanks even if anti-armor weapons become even more effective than they already are.

This was also our troop. You couldn't make Life Scout before you were 15 thanks to the leadership requirements, and that meant that the earliest you could get Eagle was sometime at age 16. The vast majority of them got it just before they turned 18. The projects were intended to be ambitious and demanded that the Scout do the bulk of the planning and dealing with the bureaucracy.

Imagine my surprise when our troop went to SeaBase and ran into a bunch of other troops where everyone got Eagle at age 14.

IBM's Asshole Test 4 years ago

I can't speak for the rest of this story, but I will say that where I live, every taxi driver at the airport is also trying to set up their own "livery service" gig - that is, a group of regulars who frequently use them as their favorite taxi. So the part of "trusted driver" isn't dubious at all - it's totally plausible that a business would keep hiring the same driver on a predictable schedule to take candidates from the airport.

Conscription would spur an immediate and vehement backlash against the military.

But more importantly, there is no actual shortage of potential recruits. There is a shortage of recruits who meet the current military standards. You can very easily lower your standards and get more recruits from the pool that is currently disqualified for medical issues, criminal record, and general stupidity (that is, more stupid than the military currently is).

The reason why this isn't currently done is that the military doesn't need the bodies that badly, certainly not badly enough to justify the increased expense and frustration of increased shitbaggery.

The recruiting budget is huge, and I'm sure that the military is happy to mull this over in hopes of getting more high-quality candidates. If it doesn't work, they'll try something else.

This is also my experience being married to a nurse. Any story I have about a boss, coworker, or client being a jerk, she has about five stories about someone being bad enough that I'd already be shooting resumes toward anyone who will take me.

She's been punched in the face by a patient, she's had coworkers who sabotage each other due to personal vendettas, she's had bosses go on racist tirades in meetings, and on and on and on. As I remind my wife whenever she has a particularly awful day, there's a reason why the classic NP-hard CS problem is literally named the Nurse Scheduling Problem[1]. And yes, she's considering a career change.

[1] https://en.wikipedia.org/wiki/Nurse_scheduling_problem

I read his snark as being self-deprecating. Rather than insulting the Mario devs, (who, as you note, are building a ground-breaking game on a deadline) he's making a joke about how obsessive someone would have to be to dig deep into a 26-year-old game's codebase and hardware internals in order to get acceptable performance on a mod that does things to the game engine that the devs had no intention of implementing.

Thanks for providing more context for what's going on - all of this stuff is neato.

This reminds me of a local business owner who, in the span of a week,

* made a big rant on his company Facebook page about Starbucks and law enforcement, advocating for a boycott

* made another big rant about the local pride parade

* made a rant that was half "woe is me" and half "everyone is a sensitive snowflake" after people started boycotting his business for his remarks

Unfortunate political views aside, I was tickled by the prompt response from the public and his visible confusion of "Wait, I can be boycotted??"

In a world of many, many alternatives, I feel like someone's preferences can be as arbitrary as they want them to be. It's less a statement about the magnitude of the offense and more of a statement of "I have all of these options. Why would I pick one that annoys me, even slightly?"

To use a hypothetical example - a cereal company puts some tasteless comment in an unobtrusive corner of the box. You don't have to look at it if you don't want to - you can turn the box, or put the cereal into another container, or just not read the box that closely. But why would you want to when there are 45 other brands of cereal on the supermarket shelf?

The college typically requires a bunch of classes. You can't test out of them.

This was a pain for me when I started college at 23; I'd been programming as a hobby since I was 16, but was shoved into intro-level classes anyway. I spent the classes learning tooling, so it wasn't a complete waste of time, but it wasn't very productive.