My intro to psychology classes was one of the most valuable classes I ever took, just with the way it systematically shattered my own notion of how much I could trust my own notions of perception and thought to be a rational and accurate reflection of reality. I definitely had a notion of how irrational “people” could be before that, but of course I somehow thought I was above all that.
This is true, in that most of the scholarship builds up its proofs starting with the lambda calculus. But there are so many paradigms (Turing machines, SKI combinators, excel spreadsheets) that are equivalent that I’m not at all convinced they had to start with lambda calculus. They just happened to.
Out in the real world, the thing that all programming languages are actually built on top of looks much more like a Turing machine than a collection of composed anonymous functions. But of course if you want to make your programs go really fast, you can’t treat them like Turing machines either. You need to acknowledge that all of this theory goes out the window in the face of how important optimizing around memory access is.
Which isn’t to say one perspective is right and one is wrong. These perspective all exist and have spread because they can all be useful. But acting like one of them is “reality” isn’t all that helpful.
Ps. Not that the parent actually said the formal perspective was reality. I just wanted to articulate this thought I had bouncing around in my head for a while.
“Sec. 2. The Gold Card. (a) The Secretary of Commerce, in coordination with the Secretary of State and the Secretary of Homeland Security, shall establish a “Gold Card” program authorizing an alien who makes an unrestricted gift to the Department of Commerce under 15 U.S.C. 1522 (or for whom a corporation or similar entity makes such a gift) to establish eligibility for an immigrant visa using an expedited process, to the extent consistent with law and public safety and national security concerns. The requisite gift amount shall be $1 million for an individual donating on his or her own behalf and $2 million for a corporation or similar entity donating on behalf of an individual”
Calling it a “gift” somehow manages to add an extra level of ick in my mind.
Thank you for sharing, and sorry you had to go through that. I had a good friend go through a psychotic break and I spent a long time trying to understand what was going on in his brain. The only solid conclusion I could come to was that I could not relate to what he was going through, but that didn’t change that he was obviously suffering and needed whatever support I could offer. Thanks for giving me a little bit of insight into his brain. Hope you were/are able to find support out there.
GC compactions were indeed a problem for a number of systems. The trading systems in general had a policy of not allocating after startup. JS has a library, called "Zero" that provides a host of non-allocating ways of doing things.
Would love to see a pterosaur / bat version of this drone. Birds use one set of muscles to jump in the air and another to flap their wings, limiting how big they can get. That’s because, if you make your wing muscles bigger, then you need bigger leg muscles to support them, then you need bigger wing muscles to support your legs, etc. pterosaurs and bats have tiny little legs and use their “arm” (wing) muscles to do the initial jump into the air. It’s just one set of muscles that are used for both functions, which is why pterosaurs were able to get so big. It does beg the question, tho, why we haven’t seen any truly giant bats.
I wish articles like this had more examples in them. In between “this thin wrapper adds no value but a lot of complexity”, and “this thin wrapper clarified the interface and demonstrably saved loads of work last time requirements changed” is an awful lot of grey area and nuance.
I did like the advice that if you peak under the abstraction a lot, it’s probably a bad one, tho even this I feel could use some nuance. I think if you need to change things in lots of places that’s a sign of a bad abstraction. If there is some tricky bit of complexity with changing requirements, you might find yourself “peeking under the hood” a lot. How could it be otherwise? But if you find yourself only debugging the one piece of code that handles the trickiness, and building up an isolated test for that bit of code, well, that sounds like you built a wonderful abstraction despite it being peaked at quite a bit.
The entangled particles don’t have any sort of an effect on the other. Changing one doesn’t change the other. You can think of it like the two particles were always a pair and you just didn’t know which particle was the left one and which was the right. By measuring one, you know what the other one “has always” been.
The “has always” is in quotes because it’s a useful lie. You kind of need to really understand the double slit experiment to get quantum fields, superpositions, and how that related to entanglement. Took me years and years of occasional YouTube physics videos before it finally clicked. But if entanglement still doesn’t make sense, I’d start by trying to understand the double slit experiment. It sounds way less awesome than entanglement, but it isn’t really. Double slit is in fact awesome and just as weird. Entanglement is way less cool than it sounds, and no, not actually a way of cheating the speed of light limit for information transmission.
A huge +1 for automating all the things as a form of practice! I don’t even think that you have to (strictly speaking) end up saving time on a particular task for a lot of automation to be worth it. The act of practicing automation makes you more efficient at future automation. Even a failed attempt at automating something can teach you stuff about why certain things are hard to automate that can make you a better engineer.
Getting in the habit of automating stuff in your editor and environment can also have a real snowballing effect. Yes, you end up “wasting” some time with yak shaves that don’t work out. But it doesn’t take long before the scope of what you can tackle in a day grows. It’s really profound how much friction you can remove, and how much friction there is in fresh environments.
Also, and ymmv, but a lot of repetitive tasks can be pretty soul crushing. Too much toil and you can come to dread your job. Automating something away almost always feels rewarding to me. Keeping yourself happy and motivated in your work should also count for something.
Hmmm… at first glance, this feels like I’d use it for the same sorts of things I’d use jq for, only easier to use but also way less powerful. Jq does have a little bit of a learning curve necessary to get good use out of it, so I could see this being a nice quick tool for people who don’t want to make that investment. Having already learned jq, I’m not sure why I would reach for gron, but maybe I’m missing something.
That quote leapt out at me too. I think the reason it leapt out was because the rest of the article was so thoroughly objective, well reasoned, and rooted in historical precedence. Given the context in which it appeared, I’m willing to give it the benefit of the doubt as slightly expedient wording that was shorthand for the more nuanced understanding he clearly possesses.
Honestly, two rooks for a queen being a disadvantage is kind of a relief.
I’ve always been taught the two rooks are better and who can argue with 5 + 5 > 9? But also, I’ve also lost almost every game where I’ve had the rooks. I always thought that I just needed to be a better player to take advantage of it. Glad to know it wasn’t just me.
Just goes to show that these shortcuts, like the point system, are only heuristics, and pretty shallow ones at that. Knowing that being up a bishop gives you slightly more of an advantage than a knight is better than nothing. But learning in which sorts of positions a knight is actually better than a bishop will give you a much deeper understanding (and correspondingly more wins).
The problem with the simulation idea is one of compute. Accurately simulating the quantum interactions between 30 particles is beyond our best supercomputers [1]. Imagine what it would take to compute a cell in all its quantum glory. Even with quantum computers, I certainly can’t conceive of a computer with enough qbits to approximate how many qbits there are. I just don’t think there is anything in our experience that would lead us to believe the universe we live in is able to be simulated. Maybe it’s conceivable if you took a bajillion short cuts with the physics, but then why the hell is quantum mechanics even a thing?
People sometimes have different standards of acceptable quality. It seems so much more likely that that’s what would be going on than some weird Machiavellian power play. If I asked a colleague to refactor some code in a code review and they jumped to this conclusion, I’d file that coworker under “toxic” and do my best to avoid them[1].
[1] I’d, of course be happy to have a discussion about whether the refactor would make the code better or be worth the effort.
This was a scientific study with quantitative measures that have clear operating definitions as spelled out in their methodology section. I have trouble imagining the quantitative measurement for “Facebook designed their app to maximize addictiveness” would even look like. Have mercy on the poor scientists who chose to answer a narrow question empirically and well, and left the fuzzier question out of their scientific paper.
It does seem like things are getting better, but certainly when I was growing up almost any behavior the slightest bit feminine in a male was called out as “gay”. The phrases “act like a man” or “real man” are often not just valorizing masculine traits but admonishing feminine ones. So, I’d say very yes.
Nothing online, I’m afraid. Most of the best classes I’ve taken were at my brick and mortar small liberal arts college and were not computer science. I’ve also taken plenty online courses that I would call useful, and I’m glad I took them [1]. But Grossman’s is the only online course I’ve taken where I felt like there was a deep pleasure and joy in teaching your brain new and unexpected ways to think.
[1] Sedgwick’s algorithms class (useful and clear, but dry as hell), Martin Odersky’s scala course (solid, but probably a little dated by now), several others not worth mentioning.