People like Zuck, Altman, Musk, and I'll throw Trump in there as well, are high-level hackers. But instead of computers or technological systems, they are hackers of our social code. So much of our society revolves around codes and standards that are only enforced by ostracization from the collective group.
If you take a moment to observe you'll see just how many of these implicit social norms surround us and basically keep the world running. For example, it's kinda bizarre that we can order food in a restaurant, sit and enjoy it over an hour (or two), and only then actually pay for it. You don't even have to provide proof beforehand that you are capable of paying! What's to stop everyone from slipping out after enjoying a meal? Turns out not much really besides the embarrassment of getting caught, or the sense of shame in outright stealing.
Zuck, Altman, Musk, Trump, etc are high-level dine-and-ditchers. They feel no such shame that keeps us regular people in line. There's a reason the word sociopath is often thrown around with these people, as that is a defining characteristic, the lack of empathy or shame.
The thing that separates them from your run-of-the-mill sociopath, in my opinion, is they are aware of this and actively exploit it to their personal gain, at the highest levels. Basically using the leverage that makes tech amazing to multiply their own benefits from such social "hacking" to the highest degree. They've pushed the violation of social norms well past the extremes that I imagine even they could've predicted, with practically no backlash! I mean just look at how Musk initially just flirted with the line and now has pushed well past it, going further and further each time.
I have no conclusion besides agreeing with the article, that the least we can do is not provide them with the respectability they crave. They can keep the money if it was legally (if not immorally) obtained, but let them keep each other warm in their NZ bunkers; I've got no room for them around my fire.
I would also recommend The Arctic Grail as a good companion read. It covers the history of the British quests for the North Pole and the Northwest Passage, with the Franklin expedition being a significant part of that overall story. It also really drives home the point of how much the British love a good heroic failure!
I generally have a negative opinion of Martin, but did we read the same discussion? Martin was very gracious in letting many points slide (points where he was correct!), and was generously willing to end the conversation at a sort-of draw when it was clear that Muratori was not really prepared to discuss things at a detailed level (It was obvious to me from the start that Muratori thought "dynamic polymorphism" just meant deep hierarchies of inheritance, a la early C++, Martin realized this later and I think that was the first inkling that he was wasting his time).
Muratori was even wasting his time arguing against programmer time _in general_ is less valuable than machine time? And doesn't understand that LLVM is an extremely specialized piece of software, from which general software engineering practices should not be extracted?
> It was obvious to me from the start that Muratori thought "dynamic polymorphism" just meant deep hierarchies of inheritance
Inheritance hierarchies aren't exclusively what he meant though. Interfaces and the whole 'prefer composition over inheritance' style of programming has the same fundamental problem Muratori is getting at: both inherently constrain a program's structure for, what he argues (and I agree with), has no benefit to the program's performance or the programmer's time. In fact, he argues that the constraints imposed by the use of inheritance/interfaces only slow programmers down.
His raw device driver example, in pt2 of their conversation, illustrates the advantage of procedural code over inheritance/interfaces. His API requires users to provide a function pointer that will be called whenever an event is raised. This API user is expected to switch over the enum values that they care to implement. This design is better than an interface that requires its members to implement read(), and write() functions because it is both more performant (no vtable overhead + compilers can make more aggressive optimizations) and more flexible (a new event can be added to the enum without requiring all the old code to be updated if they don't need to handle the new event type).
When learning any complex skill, the key is figuring out what the fundamentals are, and practicing those, in isolation and small combinations (along with throwing everything all together, of course).
For painting, the fundamentals are usually listed as something like values, shapes, edges, and color.
Some might make a more exhaustive list, for example breaking shapes apart into more “drawing” skills like perspective, construction, anatomy, etc. this is useful because it’s even more isolated things to practice beyond just making pleasing shapes. (I think some use just “shapes” as the fundamental because the breakdowns imply you are painting some sort of realism, which doesn’t have to be the case. Abstract art, or even non realism representational, still uses shapes)
It can be hard to tease some of these apart, but what the parent is talking about, and what TFA is doing, is practicing values and shapes (though the article also has color, this isn’t necessary). all edges are hard edges, so that is removed from the equation, and you can just practice creating something that “reads” (ie, looks like the thing you intended).
If you wanted to practice values in isolation, you could freeze the shapes, and just adjust the value of each shape to explore what effects it gives and if it still reads.
I agree that learning things, like painting, is made more complicated that it needs to be. Check out Marco Bucci on YouTube. He’s a great teacher (his free videos are fantastic, but I have all his courses as well).
If you watch an experienced artist they don’t generally take these individual steps, as experience lets them combine the fundamentals, but you better bet they put in hundreds of hours practicing them.
You’re probably being too generous in your EDIT EDIT. They are bad. They don’t really make sense except in the very moment, and I think that’s why I can’t remember a single part of even the ones I’ve seen several times (I usually have a movie memorized by third viewing).
It’s like that experiment with chess masters. They show them a board mid-game then ask them to re-create it (which they can do easily), but then they do the same with a random configuration of pieces, which they fail. It’s because there’s no logic to it for their brain to “chunk”. I think it’s the same reason why a movie that you didn’t think was “bad” is completely forgettable. Your brain is built for remembering narratives, but it can sniff out when it doesn’t make sense. Has nothing to do with genre. You can probably remember the main beats of a Pixar film you’ve seen once, even though it was talking toys or whatever.
The 1996 movie Jack with Robin Williams had a joke playing off this. I don’t remember the joke exactly, but one of the boys asks Jack if he’s ever had an erection, and he says something like “No, but I was hoping to get one for my birthday.”
Not to mention the hefty consulting fees he’s been getting for years from places like Google. IMO those probably dwarf his faculty salary and money from books.
I strongly agree with this, with one caveat: there are a few modules that are GPL and not LGPL. Definitely check the module licenses to make sure you're not going to need anything that is GPL. Most likely you won't.
On an unrelated note, as someone who mainly builds desktop tools and has used Qt for many many years, but would like to get away from C++ for UI logic, I can't see any reasonable alternative, but would love for some suggestions.
Qt just makes so many things easy, and basically every use-case is well-explored. Most other options seem to just focus on making easy things easy. As soon as you want to render something in 3D, make a node editor, call into or share data with C++ libraries, implement a reasonable undo/redo system, re-skin the UI to not look like a children's app, etc, other options fall flat.
True, some modules are under the GPL only. Here[0] is a very nice website showing an overview.
As for alternatives there really is not much to choose from. For small projects which are not reliant on the performance/native designs of Qt, Dear ImGui looks nice[1]. But it is very much tailored for a different Use Case.
Edit: I said that [0] is a nice website. But you only get a complete view of the situation if you cycle through all of the open source licenses. Too bad there is no "Open Source" option. Would hurt their sales I guess...
> used Qt for many many years, but would like to get away from C++ for UI logic
i've been thinking about this lately.
objc/nextstep got swift.
c/gobject got vala.
c++/serenity is getting jakt.
these are all higher-level compiled languages whose design is directly informed by the corresponding framework apis.
especially in the olden days, when qt wasn't as much c++ as moc/c++, it would have definitely seemed like there was another language in there. why hasn't it been extracted?
If you take a moment to observe you'll see just how many of these implicit social norms surround us and basically keep the world running. For example, it's kinda bizarre that we can order food in a restaurant, sit and enjoy it over an hour (or two), and only then actually pay for it. You don't even have to provide proof beforehand that you are capable of paying! What's to stop everyone from slipping out after enjoying a meal? Turns out not much really besides the embarrassment of getting caught, or the sense of shame in outright stealing.
Zuck, Altman, Musk, Trump, etc are high-level dine-and-ditchers. They feel no such shame that keeps us regular people in line. There's a reason the word sociopath is often thrown around with these people, as that is a defining characteristic, the lack of empathy or shame.
The thing that separates them from your run-of-the-mill sociopath, in my opinion, is they are aware of this and actively exploit it to their personal gain, at the highest levels. Basically using the leverage that makes tech amazing to multiply their own benefits from such social "hacking" to the highest degree. They've pushed the violation of social norms well past the extremes that I imagine even they could've predicted, with practically no backlash! I mean just look at how Musk initially just flirted with the line and now has pushed well past it, going further and further each time.
I have no conclusion besides agreeing with the article, that the least we can do is not provide them with the respectability they crave. They can keep the money if it was legally (if not immorally) obtained, but let them keep each other warm in their NZ bunkers; I've got no room for them around my fire.