Gavin Morrice

3K posts

Gavin Morrice banner
Gavin Morrice

Gavin Morrice

@morriceGavin

Classically trained rubyist. Leading conversations about OOP. Chow-hound. Professional toddler negotiator.

Scotland Katılım Mayıs 2020
582 Takip Edilen583 Takipçiler
Sabitlenmiş Tweet
Gavin Morrice
Gavin Morrice@morriceGavin·
Some of you asked for the link to my Objects Talking to Objects talk: Objects Talking to Objects youtu.be/xow9xfa7qlE?si…
YouTube video
YouTube
English
2
1
11
2.3K
Ivan Burazin
Ivan Burazin@ivanburazin·
Mac search has been broken for 2 years, and nobody at Apple seems to care. - I open spotlight search - Type "calc" - Calculator appears - I hit return But in the 0.2 seconds before I hit return, it swaps to a random file with the word "calc" in it somewhere. And I open a file I didn't want. This happens to me every single day. Very unbecoming of a $5T company whose customers are still obsessed with its products.
English
577
241
7.8K
435.1K
Beto
Beto@betomoedano·
I've talked to many experienced engineers this week, and here's the biggest thing I've learned: no one writes code by hand anymore.
English
141
25
688
169.1K
Gavin Morrice
Gavin Morrice@morriceGavin·
Me explaining Egypt to a software engineer: In Scotland, queues are FIFO. In Egypt, queues are LIFO.
English
0
0
0
122
Gavin Morrice
Gavin Morrice@morriceGavin·
The analogy of comparing TDD vs typing to living system and corpses really resonates with me. When I studied biology, there was a man named Harold Hillman who was critical of biologists because the method used to fix and freeze cells was essentially creating an artefact. They were no longer observing living cells and understood them less as a result. This distinction always comes to mind when I’m forced to work in non-dynamic environments.
Steven R. Baker@srbaker

I'm still wading through the hypocrisy here, which I appreciate because it means this person has a chance of not being completely wrong. This is a misunderstanding by two people (one I deeply respect, and the other I've never heard of before) of what TDD and Unit Testing are. (And also the effects and value of higher level testing.) The claim that TDD "can't model what really happens" is hilarious, because TDD is a way of describing what really happens, but most importantly: TDD comes from a space where all you have is what really happens because, you're not operating on dead code, you're modifying the living (runtime) system. These folks talk about "modeling real world", as if they're doing it. But they're the ones modeling, we're describing (Static types only describe the model, the tests describe the behaviour; yes, you in the back, I know there are exceptions, and yes, I know quickcheck is great, I love it too.) TDD comes from a place where the "model" is the emerging observation of the runtime system. We're modeling emergence if we're modeling anything. The _tests_ are the model (including behaviour); the code is running once it exists (having been created by making the test pass). By the time the tests are complete, they are a document for what's in production. (There may be holes, there are tools for this. Holes in your testing is a skill issue, especially now.) TDD is modeling the real world by observing it (much like XP modeled the entire development activity by having observed it) and describing the future, the static language folks who want to test after the fact are modeling a simulation that they try to prevent reality from escaping. And, they're doing it by repeatedly animating corpses. And that's what we're here to talk about today. Thank you for coming to my TED talk. Everything they know about "real world systems" was learned by autopsying the corpse of a running system, and analyzing the schizophrenic notes the system was forced to leave strewn about the house. (The notes are I/O, and I/O is a side effect, which is the thing that makes the entirety of system corpse reanimation junk science. Allegedly. In my opinion. I've heard.) These Homicidal Code Necromancers will take a perfectly healthy running system, murder it in cold blood, perform an invasive autopsy, torture and manipulate the corpse, and wipe its memory. Repeatedly. If that wasn't bad enough, the reanimated corpses are forced to speak this obscure language dialect for getting questions answered about their own past lives, and the short term memory they don't have access to is being piped off for analysis by the Homicidal Code Necromancers who will observe it and use it to inform decisions about when the system gets murdered again. (But it also might just get wiped and murdered because a newer, younger, hotter model that does more stuff came out. Pay attention, ladies.) On the flip side: TDD comes from folks who gather knowledge by having conversations with running systems and helping them learn and improve. So yeah, there are some other methods for getting better at poking what's left of the dead corpse and schizophrenic notes of your previously running system, and then briefly animating it to dance in very specific ways that you call "testing". But I'd rather just learn from past behaviour, teach my system new things, and help it grow and become strong. (Pay attention, gentlemen.) If we know how to make running (living) systems learn and improve, murdering and torturing their corpses would only be done for self enjoyment. These people need to speak to their spiritual leaders, not nerds on twitter. (And maybe be required to notify neighbours when they move into the neighbourhood before disaster strikes. "Oh, he was so quiet, I never could have believed he was in to such things." "Yes, ma'am, he was waiting on a builds most of the time.") You know who learned things by murdering, torturing, and studying the corpses of their victims? The fucking Nazis did, that's who. (But the Communists did it more. Two bags, one bin.)

English
0
0
1
541
Gavin Morrice
Gavin Morrice@morriceGavin·
The singularity is upon us
Gavin Morrice tweet media
English
2
0
5
657
Valentin Ignatev
Valentin Ignatev@valigo·
I caught TDD virus at the start of my career, and this talk by Erik Meijer saved me! As often the case with snake oil salesmen, they take a good core idea (write usage code first), and turn it into a parody to sell books and courses to people who don't know better. This talk is 10 years old, but still relevant today. LLMs like writing A LOT of tests, but you must delete most of them and only leave integrational and e2e ones that test real system behavior.
English
78
85
1.6K
115.6K
Gavin Morrice
Gavin Morrice@morriceGavin·
@cmuratori His next public statement is going to describe GPT as a “cursed monkey paw”
English
0
0
1
220
Adam Hunt
Adam Hunt@RealAdamHunt·
Recently I've flipped from being bullish to being bearish about AI. I think I'm updating my bearishness to be more solidly bearish. Early thoughts (which I hope to be disproven in the next year or so, I would prefer progress) and my reasoning: The whole 'it turns out if you keep training and scaling the models more they develop broad new capabilities in lots of domains' thesis is wrong (sorry Demis). The recent batch of models haven't got more general, they've got less general. This is most obvious in the fact that their language outputs have got much worse in comparison to e.g. o3. If they were gaining generalist capacities we would expect them to be describing their work in ever more graceful and comprehensive prose! The image that was being shared as the AGI thesis (November 2025, Tomas Pueyo) was the spiky bubble that has a current spike or two out past human capabilities (e.g. on coding or math) but below human on other capabilities on the other spikes - the future prediction was that as the models scale/advance, every spike would grow bit by bit until the whole center encompasses the human capabilities, with super-superhuman on some spikes. I think it seems like what's actually happened in the last few models has been that the coding/math spike has grown, but leaving behind or even at the cost of the other spikes. The models are no better at some simple logic, language (and sometimes worse!). This makes sense from a simple RL perspective; you can't RL something endlessly on one domain of tasks and expect it to improve on the other tasks. The fact that early LLMs did seem to improve generally was a byproduct of the written language corpus covering everything - that corpus is general, so training it on that gave the appearance of something generally intelligent and becoming more generally intelligent as it got better at replicating that corpus. But the actual logic and underlying ground truths behind the language aren't captured efficiently enough and weren't effectively RLd in - they top out at some point (I guess this happened around the time that there was the 'has scaling hit a wall' discussion in late 2024). Chain of thought was then a genuine breakthrough, along with web search, which plugged into that general LLM global-corpus intelligence to lead to post 2024 gains. The AI companies have since worked out that coding works (and pays) really well (basically this is because the entire job is nearly perfectly recorded and exists as training data, and you can set up clear benchmarks and rewards). The recent models (and benchmarks) have been maxxing that and we've seen degradation on normal English use for that reason. This could still be transformative, leading to extremely powerful (and potentially dangerous, particularly in cyber security) models but it's not a pathway to AGI. I'm probably at about 40% confidence about this. It fits my current observations of AI progress and has a basic explanatory model. It doesn't account for potential breakthroughs, which is a major reason for discounting. To make some predictions, I guess if I'm right this will become broadly apparent and more widely acknowledged in the next year or two, as we see how the spikiness of models that keep getting released develops. Maybe there will be efforts to concentrate on specific spikes e.g. health or law which require going back to earlier models and RLing on a different data set/with different rewards/benchmarks. Maybe those separate models can be linked together to give a more apparently general model. How capital intensive that is/the potential profitability will be a defining question. But I just don't see general abilities emerging atm, and I don't think we will any time soon. Good news - a whole industry of tackling important specific problems/sectors can open up!
Adam Hunt tweet media
English
414
417
3.9K
954.7K
James Melville 🚜
James Melville 🚜@JamesMelville·
This Scottish highlander farmer points out a few inconvenient home truths about the wildfires currently in the Cairngorms. He should know. He works on the land.
English
159
1.6K
5.3K
199.9K
Gavin Morrice
Gavin Morrice@morriceGavin·
@ChShersh 95% of being a parent is simply being asked “why?”.
English
1
0
1
156
Dmitrii Kovanikov
Dmitrii Kovanikov@ChShersh·
95% of being smart is simply asking "Why?"
English
96
67
1K
42.3K
Jeremy Smith
Jeremy Smith@jeremysmithco·
@morriceGavin Sounds like you need a CI linter that fails with this classic...
Jeremy Smith tweet media
English
2
0
3
32
Jeremy Smith
Jeremy Smith@jeremysmithco·
Please no one tell Dave Thomas, but I wrote an abstract base class this week. Actually, I forced my agent to write it. 😬
Jeremy Smith tweet media
English
7
0
34
1.6K
Gavin Morrice
Gavin Morrice@morriceGavin·
@jeremysmithco We have it as a sort of convention sort of not. Some people use it but others don’t. About 5,000 models, so quite a lot of Bases which makes it more difficult to find. I encourage engineers to rage against the convention
English
1
0
2
34
Jeremy Smith
Jeremy Smith@jeremysmithco·
@morriceGavin I could see that…in this case I'm following an existing convention in the codebase. :)
English
1
0
0
37
Gavin Morrice
Gavin Morrice@morriceGavin·
@ThePrimeagen My top liked comment on Instagram is on one of your old posts where I encourage people to do exactly this
English
0
0
0
165
ThePrimeagen
ThePrimeagen@ThePrimeagen·
Oh how the tables have turn tables
ThePrimeagen tweet media
English
174
219
4.4K
178.4K
Gavin Morrice
Gavin Morrice@morriceGavin·
@karpathy This is my primary use case with ChatGPT. Something I can ramble to while I walk the dogs.
English
0
0
0
44
Andrej Karpathy
Andrej Karpathy@karpathy·
One pattern I find useful for working with LLMs is a nice long ramble session. Sometimes the LLM needs more bits to understand what you're trying to achieve, but you're too lazy to type them. In these cases I like to lean back, switch to /voice and just ramble for like 10 minutes, total mess, anything goes, full stream of consciousness. Sometimes I declare it up top, something like "switching to speech recognition sorry for any typos...". Sometimes I turn it into a small interview of a few turns. But I find that the LLMs are somehow very good at reconstructing long incoherent rambles and often their echo of your own tangle of thoughts comes out quite a bit cleaner than what you started with. The result is that you improve the mind meld and have to correct things less from that point on.
English
2.4K
4.1K
48.8K
3.9M