| ▲ | Almondsetat a day ago |
| I think Casey is currently the most informed person to make a series of books or articles summarizing the history of SW Engineering, all the lessons learned and forgotten, and all the good stuff that was published and still hasn't gained traction in the practice |
|
| ▲ | layla5alive a day ago | parent | next [-] |
| You think there aren't other people equally or more qualified? I mean Casey may be the most visible person with those qualifications - but lack of visibility doesn't imply lack of competence, plenty of brilliant people work in the background.. |
| |
| ▲ | Almondsetat a day ago | parent [-] | | Feel free to point to anyone doing these deep dives that specifically tackle the lost knowledge of the early decades of computer science and the ideas that have not yet come to fruition despite being extremely old | | |
| ▲ | bob1029 a day ago | parent | next [-] | | > Feel free to point to anyone doing these deep dives Most of this kind of content comes off as relevant/topical but mindless entertainment. This is not a "deep dive" of anything that I could practically apply in my daily work. It feels good to think this content might add value and then to subsequently consume it, but it's effectively junk food. I used to spend a lot of time watching crap like lex and primagen before it became obvious that these kinds of information channels are not meaningfully enriching despite sounding like they should be to a casual observer. | | |
| ▲ | bsoles a day ago | parent | next [-] | | As much as I like to watch Casey, Prime, etc. on YouTube, they are not going to teach anybody anything. They are just entertainment for software people with a certain viewpoint. | | |
| ▲ | ntstatusquo a day ago | parent | next [-] | | My one data point is that Casey’s handmade hero series, and his immediate mode gui video from way back in 2005, are what introduced me and some friends to an entirely new way to build graphical user interfaces, and I do feel a great appreciation for that. Guys like Ryan Fleury (of RadDbg) and Vjekoslav Krajacic of Filepilot similarly credit Casey with their “radicalization” :)
To your point though, it was less about specific technical knowledge conveyed by these videos and more about him evangelizing a high level approach that many folks otherwise wouldn’t have considered | | |
| ▲ | pitched a day ago | parent | next [-] | | I want more things like that old hand made hero to exist in the world, but, from an interview with Casey himself, it doesn’t pay well enough to justify. Someone with the chops to put that together is in a position to be doing something much better incentivized. | |
| ▲ | ranger_danger 13 hours ago | parent | prev [-] | | That series also produced this gem: > Open source is the very worst thing currently going on because it is so incredibly exploitative, it's far more exploitative than any actual company is of the workers who work at the company. > Even the people who are getting paid in open source are getting massively underpaid to do it compared to how much the people who are using their code are making, it's nothing compared to the power that is accreted by the people who have co-opted that work thanks to the open source model. And then mark zuckerberg gets to define how the internet works despite having paid for almost none of the software that his company actually needed to make that work. > It's like feudalism or serfdom, these people did the work and got nothing for it. It's like you took the worst aspects of capitalism for workers and the worst aspects of socialism for workers and put them together, that's open source. You get no power and you get no money. > It's exploitative whether the people chose to be exploited, just because someone chooses to let you exploit them does not mean that you didn't exploit them. And for the record that's how most exploitation works; convincing people to do something that turns out to be very bad for them and very good for you, and that's exactly what the open source movement has turned out to be. > I really don't see the "we post stuff on github under a gpl2 or lgpl or apache or mit license", all that is to me now is just exploitation. You can say that there's solutions but until someone demonstrates that those solutions work, it's the standard "real communism has never been tried" argument. AGPL is the only thing that I've seen so far that's an attempt to fix these fundamentally unfair compensation practices. |
| |
| ▲ | LtdJorge a day ago | parent | prev [-] | | You don’t know Computer Enhance then | | |
| |
| ▲ | Almondsetat a day ago | parent | prev | next [-] | | You are making many assumptions. First of all, he is doing the deep dives by researching all those articles, and of course the resulting presentation will be very superficial. The point is exactly to publish a book to allow the reader to partake in the deep dive.
Secondly, nobody said anything about applying that stuff to your daily work. | | | |
| ▲ | a day ago | parent | prev | next [-] | | [deleted] | |
| ▲ | chamomeal a day ago | parent | prev | next [-] | | agree regarding primagen but I don’t think that’s a good comparison at all | | |
| ▲ | bob1029 21 hours ago | parent [-] | | Casey is a frequent guest on his shows. It's hard to not conflate the two. | | |
| ▲ | josephg 17 hours ago | parent [-] | | Prime is an entertainer first and foremost. He talks with confidence, even when he doesn’t know what he’s talking about - which is very often. Casey is far more measured, careful and accurate. Casey feels like an engineering educator first, who happens to make YouTube videos. I don’t always agree with Casey’s technical opinions, but he seems like a thoughtful guy who thinks things through. |
|
| |
| ▲ | agumonkey a day ago | parent | prev | next [-] | | Yeah I was a sense that some people would be more into serious technical explorations and not just distanced review of the past (even though it can bring some knowledge). | |
| ▲ | HexDecOctBin a day ago | parent | prev | next [-] | | > that I could practically apply in my daily work When has History of any kind ever held practical value? | | | |
| ▲ | bena a day ago | parent | prev [-] | | I watch primeagen mostly for awareness of general tech news items. |
| |
| ▲ | Jach 16 hours ago | parent | prev | next [-] | | Pretty much any book or long paper that decides to take a historical turn is going to be at least as good if not better than these talks. There are a lot of historical resources out there that go into different parts of "computing history" more generally. I don't know what would meet your criteria for computer science or software engineering more narrowly. To me they are all very interconnected. I couldn't say whether it'd be more important to have a nice presentation that includes Babbage and his machines vs. a neat presentation that covers Codd's work going directly into Chamberlin and Boyce's work on System R. A historical presentation has to decide what it includes and excludes. In recent times I've enjoyed Fabien Sanglard and his work on the histories of Wolfenstein 3D, Doom, the hardware environments behind them (development and deployment), and the CP-System. Lots of "lost" technical knowledge in them. Of course the earlier and higher level Masters of Doom book contains a lot of neat history as well, though less technical. The HOPL (History of Programming Language) papers are always insightful and contain a lot more "plain" computer science, though of course with a focus on programming language things. Richard Gabriel could write a lot more of history than he already has; here's one of his papers that (among other things) details a history of mixins in object oriented languages, and how they were "rediscovered" poorly in a way that obscured their actual historical nature, demonstrating an idea of incommensurability. https://dreamsongs.com/Files/Incommensurability.pdf I should also add that even interviews are valuable. Coders at Work is fantastic at that and drawing out technical opinions and reasoning; notably the subjects interviewed don't all agree and have sometimes drastically different work styles and preferences. (And also adding from another comment, Turing Award Lectures are great history, and Uncle Bob even has a history book out now on influential programmers.) | |
| ▲ | bckr a day ago | parent | prev | next [-] | | Who is also a working engineer (and programmer of the highest caliber) who is in touch with the zeitgeist of engineering. | |
| ▲ | jancsika 20 hours ago | parent | prev | next [-] | | Even without knowing your specific criteria, #2 on your list must be Alan Kay. But I'm curious who you think #3 is. | |
| ▲ | Barrin92 21 hours ago | parent | prev | next [-] | | >Feel free to point to anyone doing these deep dives that specifically tackle the lost knowledge of the early decades of computer science I skimmed through the video because I don't have two hours but there's no lost knowledge in it, he's going over well known papers from Dijkstra, Hoare or Knuth. The paper he bases most of the talk around Knuth's Structured Programming with go to Statements is his most often cited work, there's a very high chance you'll encounter that early in any undergrad course. So the answer to your question is, pretty much at any local uni with a CS course. | | |
| ▲ | Kranar 18 hours ago | parent [-] | | The well known papers are not what the talk is about though. The talk is titled "The root of the root..." specifically to go over the specific and incredibly/almost impossible to find citations those well known papers used and built upon to see what historical insights that might have been lost went into how those papers are now interpreted (or as the video argues, misinterpreted). |
| |
| ▲ | znpy a day ago | parent | prev | next [-] | | Knuth could do them, in theory. The guy was literally there when stuff was happening. | |
| ▲ | cratermoon a day ago | parent | prev | next [-] | | Kevlin Henney | |
| ▲ | my-next-account a day ago | parent | prev [-] | | Me, I do them. | | |
|
|
|
| ▲ | spawrks a day ago | parent | prev | next [-] |
| I feel like the comments that are giving you pushback haven't actually listened to Casey before. I agree with you, while opinionated his perspective is very pragmatic and misunderstood. He's done such a great job giving his experience out to the broader world too. |
|
| ▲ | DanielHB 5 hours ago | parent | prev | next [-] |
| It is kinda funny that some world-renowed people who invented genius algorithms like quicksort and graph shortest-path were mulling over "hey would be nice if we kept related data together in a struct" and some people were raging over it saying "why you want to change how I work?" Casey points out that many of the lessons they came to were so obvious that it just became how it is done that no one even remembers it was done in any other way. In the talk the laments it makes it really hard to track down who originally came up with these ideas. |
|
| ▲ | kloop a day ago | parent | prev | next [-] |
| I'd put Kevlin Henney up there with him. His talk on 1968 alone is pretty amazing |
|
| ▲ | PeterStuer a day ago | parent | prev | next [-] |
| He's entertaining and well spoken. Love it. Not sure the book medium would be the best avenue. My own sweet spot is presentations, live interviews and meetings. I can't write for sh*t, even if I tried. I know. |
|
| ▲ | nextaccountic 18 hours ago | parent | prev | next [-] |
| The trouble is, his knowledge covers just a slice of it. He won't talk about stuff like functional programming for instance |
| |
| ▲ | josephg 17 hours ago | parent | next [-] | | Yeah. Casey is just some guy who’s good at software and YouTube. I’ve worked with dozens of people at his level technically. But very few with his interest and skill at making videos. It’s a pity there’s not more people like him. I’ve met some incredibly smart people in the FP world. I wish more of them made approachable YouTube videos explaining what they know. I recently learned about “Safe Haskell” which, if adapted to rust and other languages, could solve a lot of the security problems with npm and cargo. But nobody knows about it! We need FP Casey. | | |
| ▲ | nextaccountic 7 hours ago | parent | next [-] | | Safe Haskell is just a worst version of Rust's unsafe. What it actually does is equivalent to Rust's #![forbid(unsafe_code)] which immediately lead to a question: so Haskell has unsafe, just like Rust? And of course it does. Any practical systems language has unsafe in one form or another, not only for FFI but also for performance, Rust is just honest about it. There's two reasons Safe Haskell is substantially worse than what Rust does. Safe Haskell works by annotating code that is safe, but that's entirely backwards. We need to annotate unsafe code, and explain in plain English exactly why it is okay in that particular instance (of course it would be better to explain in code, like, give a formal proof that is checked by the compiler, but then it isn't unsafe anymore!). Safe Haskell answer for that is to annotate good unsafe code as trustworthy, but that doesn't work because it doesn't goes in detail on why the code is trustworthy (to do so you really need to go into the details, you can't handwave it). It's the // SAFETY comments that are at the heart of Rust's unsafe, carefully explaining safety invariants that must be kept (specially important if we are modifying code), not unsafe { } blocks. The second reason is much simpler. It's optional, and approximately nobody uses Safe Haskell or cares about it. If people used it we would have something to improve upon. So Rust achievement here is mostly sociological, it's a community of programmers that care about safety. Which is good given that a Rust program typically have much more unsafe code than a Haskell program. Here's a thread about Safe Haskell issues https://www.reddit.com/r/haskell/comments/zwkqke/deprecating... that links to https://discourse.haskell.org/t/deprecating-safe-haskell-or-... And an older thread https://www.reddit.com/r/haskell/comments/msa3oq/safe_haskel... | | |
| ▲ | josephg 3 hours ago | parent [-] | | The thing I really want is a language or environment with no implicit access rights. So, if I call add(a, b) then the add function doesn’t have implicit access to the filesystem, network or global variables in other parts of the program. If you want to give a function access to a subdirectory, you should pass a handle to that subdirectory as an argument and use openat() or equivalent. This would guarantee - at a language level - that leftpad or log4j can’t root my computer. Safe rust doesn’t give this guarantee. Safe code can still make arbitrary syscalls. Safe rust can convert a path string to a File. Or open arbitrary network sockets. Rust also doesn't have a way to import a crate but forbid the use of any unsafe blocks. I want to be able to use 3rd party code from cargo without getting hacked. Right now rust does not keep me safe from these supply chain attacks. I don’t know enough about safe Haskell to know how close it tacks to this. But that’s what I want. |
| |
| ▲ | 15 hours ago | parent | prev [-] | | [deleted] |
| |
| ▲ | Jach 17 hours ago | parent | prev [-] | | This is my objection as well. His talk last year on OOP was heavily focused purely on the style of OOP that led to C++'s version. It completely ignored everything else going on outside that historical thread. As history it was interesting but doesn't inform much outside of a C++ view of the world and it missed so much relevant history about OOP more generally. While I suspect he could do research, he also just isn't personally experienced in large tracts of SWE culture as others. Others have worked a far larger variety of jobs in the software industry and thus tend to have a broader idea of the cultures and how they've evolved. In a recent clip I saw of him and others discussing how BS are various phrases engineers say (the root of all evil phrase being one of them), he hadn't heard of the YAGNI acronym/idea before. That's no fault on him, programmers live in different worlds. But regardless of one's feelings about such ideas, or whether they've heard of them or not, a history of SWE would have to cover them and the schools of thought that originated them. And this is just one minor thing in living memory and recent careers, there is so much from before he was born that has to be researched and if possible also talked about with the older practitioners who are still around and remember things. If you don't already have some awareness of things that should be covered in a history, whether from personal experience or just general curiosity about history that has led you to see such things before somewhere, the only hope is further research uncovering them, and I don't trust his researching that much. Reading The Psychology of Computer Programming from the 70s was such an interesting read for me from a historical perspective as well as being able to see how some ideas they were thinking about back then came to fruition in some way or another. (e.g. Stack Overflow.) It's just one small part of history. A "complete" history as the top comment suggests would be better as a multi-author endeavor, would probably need many books, and that's if it could be done at all. In the meantime at least one can always go read primary sources and develop an idea of the history on one's own. | | |
| ▲ | josephg 17 hours ago | parent [-] | | If you know this stuff, please make videos / talks yourself going through it. Casey doesn’t have the background for a lot of this. He’s doing great as a C++ dev but as you say, he’s just one guy with one perspective. | | |
| ▲ | Jach 15 hours ago | parent [-] | | I really think videos and talks are the least effective ways to get these things out there. I'd rather just point people to references I've read myself about specific topics rather than try to create a structured synthesis or presentation. I tend to think that's sort of best anyway for a curious individual: go read primary sources about some topic, and if interested further, citations or other related works. Every Turing Award Lecture transcription I've read has been insightful. I just recalled that Uncle Bob was writing a book about influential programmers, he was calling for suggestions on names a few years ago: https://x.com/unclebobmartin/status/1714972421269119190 One could just read through those names and the names of those the comments added (I had several more) and the work they are most known for, and by the time one is done with that, one will have a very nice historical picture of computer science up to the 70s. Nowhere near complete, of course. It seems he did publish his book at the end of 2024 (https://www.amazon.com/We-Programmers-Chronicle-Coders-Rober...), I'll have to check it out at some point. (Edit: and I'm reminded of another funny thing. Early in the book Clean Code, he asked some other programmers what they thought was meant by the idea. I remember penciling in some objections in the margins that he should have asked x,y,z other people who I would rather have read from than some of his sample.) It's just absurd to me to point at Casey, of all people, as the most informed person who would be best positioned to publish something containing all of the history of anything broad. |
|
|
|
|
| ▲ | CogDisco 13 hours ago | parent | prev | next [-] |
| Possibly good at starting such a series, then kinda fizzle out. |
|
| ▲ | JamesSwift a day ago | parent | prev [-] |
| Ehh I love Casey and have learned a ton by watching how he thinks about things in his handmade hero series, but he is fairly narrow minded in his views of dev. Not that theres anything wrong with that, for the kinds of dev he does his approach is very good. But its not generalizable. |
| |
| ▲ | Almondsetat a day ago | parent | next [-] | | How is this relevant? I didn't say he should make a book about his teachings about SWE, I said he could compile a comprehensive review of the foundational literature of compsci | | |
| ▲ | shimman a day ago | parent [-] | | Well the comment was about the history of SWE, if you want a comprehensive history you don't focus on the lived memory of one single individual. | | |
| |
| ▲ | OtomotO a day ago | parent | prev [-] | | Absolutely. Like I agree with most everything he says and I like to optimise my own software, but for my day to day jobs and contracts it's simply not feasible. That level of performance and rigor is not what is demanded nor paid or appreciated. E.g. in Enterprise circles it's still OOP from top to bottom. Mixed with a tad more functional style due to varying adoption of that paradigm in the languages used by enterprise. But low level optimizations are not interesting to these customers at all, even though they could help them with some problems. | | |
| ▲ | hirvi74 a day ago | parent [-] | | > not what is demanded nor paid or appreciated. I suppose it is a matter of what one works on, but that has been consistent in my career. I have seen many be rewarded for choosing what I would deem intentional, gross negligence. But hey, those devs get work finished faster, and that's all that matters to the non-technical folks. | | |
| ▲ | yoyohello13 21 hours ago | parent [-] | | It’s not a coincidence that Casey and other high profile performance minded people are in game dev. Thats a field where performance is important (or at least a consideration). In web dev or regular enterprise app dev it’s simply not a consideration that needs to be made most of the time. |
|
|
|