Hacker News new | past | comments | ask | show | jobs | submit | omegaham's comments login

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.


Yep, I grew up in the woodsy part of Framingham up by Route 20. A whole bunch of those roads are outright dangerous. My parents groused about how dangerous it was, but mostly trusted me not to be stupid.


Good on your n=1 data, but pedestrian fatalities have been steadily increasing for the last decades.

Also, nothing to do with "being stupid", if there are cars going 60mph right next to where you're walking, it's the luck of the draw whether you get decapitated by a truck or not.


Carlisle, which makes it even more ridiculous :)


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 a nicer way still:

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

    int main() 
    {
        std::vector<int> vec{1, 2, 3, 4, 5};
        auto plus_one{[](const auto x) { return x + 1; }};
        std::ranges::for_each(vec | std::views::transform(plus_one), [](const auto x) {
            std::cout << x << " ";
        });
        std::cout << "\n";

        std::cout << std::accumulate(std::begin(vec), std::end(vec), 1, std::multiplies<>()) << "\n";

        return 0;
    }
https://godbolt.org/z/84ePjfPhf


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.


A different approach is playing the many many variants like Chess960, Crazyhouse, etc.


You can #pray for your god to fill your stomach if you are Weak or worse.


Gods are notoriously stupid though when "helping" you. C'mon Thoth, uncursing of the stupid boots? I'm dying of hunger here!


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.


That's the way it is for our troop. Most of the kids aren't able to get Eagle before they are HS juniors and are 16 or 17. A few just made it in before turning 18.

The bureaucracy is a mistake. I know why Scouting does it - BSA organizational culture, abuses in the past, trying to apply standards across local troops - but a lot of it falls on troop volunteers to and parents to nag scouts to death and fix the inevitable problems that crop up. It's not right.


that's me and my friend: we both made eagle scout at 17, and the ceremony for me was after I turned 18.

My first troop was very by the book, and the last eagle scout in the troop was the scoutmasters son, maybe 5 years before I joined. That troop disbanded, and I finished my award at another troop were it was a bit easier, but still a lot of work.

For me, earning Eagle scout required me to stay active in scouting through age 17, and do one (or maybe 2) extra weeks at summer camp to earn enough merit badges. Once I was older (16/17) and in my second troop, I already had the leadership requirements, so I just went to meetings and help out with the kids that were much younger than me while I planned my project.


Lodge is just fine. All of the cast-iron snobbery overlooks the fact that it's a big hunk of metal that cowboys used to throw on a campfire to make beans. Keep cooking with it, and the bottom and its seasoning will smooth out.


Yep.. just fried an egg on my rough surface 12" cast iron Lodge with no oil, and lifted it off with my fingers in one piece.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: