Bethany (00:01) Welcome to the Overcommitted Podcast, your weekly toast of real engineering conversations. I’m your host, Bethany, and I’m joined by…
Brittany Ellich (00:09) Hey, I’m Brittany Ellich
Bethany (00:11) The three of us met, including Erica, who’s not here, while working on a team at GitHub and quickly realized we were all obsessed with getting better at what we do. So we decided to start this podcast to share what we’ve learned. We’ll be talking about everything from leveling up your technical skills to navigating your professional development, all at the goal of creating a community where engineers can learn and connect. Today on Overcommitted, we are joined by Sam Rose, a developer educator at NGROC. Sam is a software engineer
turned computer science educator who writes visual interactive essays that teaches fundamentals in an approachable manner. His most recent article on prompt caching has been shared widely and garnered praise for walking through how LLMs process and cache input and is an amazing read, definitely including it in the show notes. Thank you so much for joining us today, Sam. So excited.
Sam Rose (01:00) Yeah, thank you for having me.
Bethany (01:02) To kick us off, is there anything that you’re currently building or obsessed with learning right now?
Sam Rose (01:07) I have been reading way too much about how LLMs get benchmarked. So I went into this because every time you see a new model get released, it’s always accompanied by a set of benchmark figures. I was like, I don’t know. like there’s the SWE bench and Humanities last exam and…
GP, QA, Diamond, and they all have these weird and wonderful names. I’m like, don’t know what any of this means. Should I be caring about this? So I decided I’d go ahead and read all the stuff I could find about them. Most of them have papers, most of them have data sets to look at. And I’ve begun writing a quick reference for what all of the benchmarks mean, what’s in them, how were they created, how are they scored? Just as a, if you actually wanna know all this stuff, I’ve gone and I’ve read all of the papers and you don’t have to.
Bethany (01:58) I am so looking forward to that post because I definitely need that day to day in my job. That’s awesome. Well, speaking of LLMs and the nitty gritty, your latest article on prompt caching was so helpful. My team has been very into prompt caching, like working on copilot API, it’s very important for saving costs and just seeing how it worked visually, it was so helpful.
I’m curious what drew you to utilizing visual and interactive elements for educating? Was there something that sparked an aha moment or is it just some way you find yourself learning better?
Sam Rose (02:35) Bit of a confluence of things. So I have always thought of things in pictures in my head. Whenever I learn something, it helps me a lot to be able to visualize it and especially kind of systems of interactions, like being able to see them and be able to…
interact with them is very helpful. We take our kids these days to, there’s a place near us that’s like a science exploration center and there’s lots of little tables and every table has its own little sciencey experiment thing on it and you can poke it and prod it and play with it and it’s like each one of them is showcasing something specific that you can actually play with and see what the inputs and how they affect the outputs and things like that. So that style of learning and thinking has always appealed to me personally.
As for why I began doing it on the web, I am hugely influenced by a guy, I’m gonna butcher his name, I’m really sorry about this, but his name is Bartosz Czysznowski. He’s done a whole bunch of posts in this style where they are incredibly interactive, incredibly visual. He tends to do…
Lots of physics based things. So he’s done like mechanical watches and he 3D renders a full mechanical watch and he walks through what every piece of it does. He’s done like bicycles. He did a whole post on bicycles and how the wheels contact the floor and how that makes a difference and things. Stuff that I’m not actually like, it’s not useful to me, but it’s super interesting. The way he presents it makes it such an experience. So I was very inspired by him. And I thought to myself like,
What if this but programming? Wouldn’t that be cool? And I didn’t know the first thing. Like, didn’t have any idea what to do, how to build it. I went looking for like, well, how do you draw 2D graphics on the web? Like, that was how clueless I was. I didn’t really know what SVGs were. And I actually began doing…
Canvas based rendering using a framework called pixie.js, which is normally used for games. That’s this is how clueless I was I didn’t realize I didn’t need like this 500 kilobyte game framework to render two-dimensional graphics
But I just waited in anyway, did my best. The code is truly awful. It’s posted on my GitHub somewhere. You can go and see it. It’s absolutely horrendous, but it kind of made the point that I was trying to make. The first thing that I wrote in this vein was load balancing. And I wanted to show visually how different nodes get balanced between, because I think the different algorithms do have very different distinct visual patterns to them. And despite the code being really terrible, me not knowing what I was
doing. It was very successful. People really enjoyed it. It was shared very widely. And that was quite an addictive feeling. That was by far the most recognition I’d ever have for writing something. immediately after doing it, was like, hey, maybe there’s something here. Maybe I can do that again and replicate that success. And very fortunately, I have been able to somewhat consistently replicate that. I think I’ve written
nine of these now or something, something like that, maybe ten if you want to include the Angrok stuff, and all of them to some degree have had some level of recognition, so yeah, very very grateful that there is a bit of a niche for this kind of work.
Bethany (05:38) Definitely. And well-deserved recognition. They… you really, like, break down these really complex concepts in a way that is so intuitive to and, approachable. So it is so well-deserved. No, no, please.
Sam Rose (05:40) Thank you.
No, thank you very much. Sorry to interrupt you. I don’t think there’s a secret to that, by
the way. Almost everything that I have written in this style has been as I learn something and construct my own mental models. It is just translating that to the page. this is…
I think if you really do invest the time and you really truly understand something and you tinker with it and you verify your understanding, the mental model you end up with should be reasonably accurate, especially if you can recreate it in simulation, which is what I tend to do most of the stuff. will build the simulations under the hood. It’s not GIFs or videos or anything like that. It is a full simulation of the thing that is being spoken about. So I have some level of confidence that it’s correct. And then from there, you can just hook into the visuals and build, sorry, hook into the simulation.
and build visualizations on top. it’s a reasonably direct translation of what I see in my head anyway. because it’s quite self-contained in how I am thinking, I think it ends up being very consistent and hopefully translates well to other people.
Bethany (06:48) Yeah, absolutely. think there’s…
I found like from people that I know that I consider great engineers, there’s such a talent in these mental, in like developing a mental model and relying on that for learning and teaching others. And I think that is such a, such an important skill that isn’t often taught or really developed in especially like younger engineers or folks that are moving towards a mentorship position. So I think that’s really cool that your blogs focus on.
on how you learn and how you see things and then also like using that to build what other people learn and grow in. So that’s really awesome. I saw on your site while scrolling that your essays take upwards of one to three months to write, which is crazy, but really cool that you spend so much time investing in this. Can you walk us through what a typical process is for researching and composing the essays?
Sam Rose (07:41) Yeah, no, of course. So one to three months is really finger in the air. So before I joined Angrok and I started doing this full time, I never had a good real estimate of how long these things take because they’re always evenings, weekends. I’m tired. I am haggard from looking after children and having a full time job. it was very like, it’s kind of this long in like calendar time. I couldn’t easily estimate you how many hours this was of sat down focusing on it.
So the process has changed a lot over time. It’s not a tremendously like templated or written down process. In the beginning, there’s a lot of learning and this still is, but back then it was like blocked learning. So I didn’t know what I was doing at all. So I had to spend time learning how to draw 2D graphics. And then all of my stuff was slow and I didn’t know why. So I had to learn like, okay, what in the dev tools can I rely on here to help me? So there’s a lot of stop, start blocking stuff going on.
And that got better over time. I’m at the point now where I feel quite confident making two dimensional graphics on the web and I have a very different way of doing it now. It’s all SVG based web animation API. Like I try and stick as close as I possibly can to web standards. I don’t usually react or anything like that. I use web components like directly in the browser. The only thing I use is lit. There’s a framework called lit, which is a bit of a wrapper around web components to make them slightly more ergonomic to use because they’re a bit clunky out of the box.
So the process is now much more streamlined and I start a new post and I have a good idea. Like I build components like this and this works and I don’t feel like blocked and anything to make these things. Topic selection is I think like one of the most crucial elements to success. I try and pick topics that…
are relevant to you and you don’t realize it. And it’s not obvious to you that they’re relevant to you. So you look back at like load balancing, memory allocation, hashing, even just in this video call between us now, all three of those things are probably happening tons of times under the hood. The thing I’m gonna be writing about next, and I’ve already started.
is post on branch prediction, which is something that your CPU is doing millions of times per second. It is literally predicting the future millions of times per second to try and preload stuff that it may or may not actually end up executing. And this keeps CPUs very, very quick. So you’re relying on this for everything that you’re doing on your laptop. But you probably don’t think about it. I think most people don’t. And it’s really…
Interestingly simple thing that the CPUs do that gives you this incredibly huge speed boost that is invisibly holding things up and it’s wonderful. So it’s, I think it’s kind of crucial to pick something that is like relevant to everyone, but maybe they don’t know like, and then they feel good about like, you hook them in at the beginning, which is like your CPU is doing this and you’re relying on it.
here is how it all works. And then people hopefully come away with this idea of like, wow, I never realized that. That’s amazing. And that’s what I’m going for. And it’s mostly stuff I already knew. somebody posted on, I think, Blue Sky recently about like, what percentage of your blog posts did you know the topic going in advance? And I’m really sorry, I can’t remember who it was. But I think I know about something about everything that I write about, not something about everything, but something I think I write about. And
By the end of it, I’ve learned tons of new stuff. it’s never like, know start to finish what I’m going to do. It’s like, I know roughly that this is a thing. I’m going to probably learn a bunch of new things to write about here, either like new load balancing algorithms or new things about hashing I didn’t previously appreciate. So there’s always some learning going on, but it’s always stuff that I’ve had an appreciation for myself for a while.
Bethany (11:10) That definitely seems to reflect the approachability of the essays is that they are something that most most folks in the industry know something about. But it’s like, that’s such a genius thread to pull and so meaningful also to have a deeper knowledge of these things that you leverage every day because, well, 99 % of the time, you probably don’t need to worry about edge cases. There’s always going to be that like, 1 % case you run into during your career.
it’s helpful to have that specialized knowledge. So that’s so cool. It’s like how it gets made for programmers. Yeah.
Sam Rose (11:43) Yeah, yeah, yeah.
Bethany (11:47) So speaking of your going from like your engineering role where you were doing writing in your free time to this role at NCROC where you are educating and doing this as a full-time job, has there been any surprises with shifting from an engineering position to an educator role?
Sam Rose (12:05) Yes, and I thought about this a whole bunch beforehand. There’s a whole language around, because I sit under marketing now and it’s the first time in my career I’ve not been part of the engineering organization of a company. So there’s some things to get used to. One of which is that engineering is like the because…
I’m used to having like a roadmap and there’s planning and you have sprints and you know, things are planned somewhat far in advance. Being outside of that cycle now, like if I want to interact with engineering or if I have some like wacky idea that I would require some engineering help from getting onto that like planning train is actually kind of hard when you’re outside of the organization. And that’s not a knock on Angrok or anything like that. Like I can imagine that would be the case basically anywhere I’ve worked. so that’s interesting. Like if I want engineering work done or I want to try and test like a crazy,
then it’s either I kind of
become brave and do it myself and have a look, which I have been tempted to do a couple of times with a couple of ideas that I’ve had. Or I kind of engage with this process from the outside that I’m used to engaging from the inside. The other thing is like the whole language that I am not familiar with, you know, I remember the first few weeks I joined, various reports and various like dashboards and things, loads of three letter acronyms I’d never seen in my life and KPIs that I am not used to so a lot.
of like very fast-paced learning just to get a grasp of what is the language that’s being spoken in this section of business that I’ve never been in before, which was really humbling. I was, I’ve been in engineering positions for something like 13, 14 years, so and going into this completely new role was incredibly humbling. Other than that, like the pace of it I think is nicer. So there’s rarely like
There’s rarely emergencies. So I’m used to, I’ve done a lot of roles like SRE style roles and DevOps style roles, like being on call and things like that, where any moment in any day, something could go terribly wrong and you’d have to respond very, very quickly. There’s like none of that. that’s actually, I hadn’t realized how stressful that was just at a base level without anything ever happening. Like the fact that it could happen was just very low level stressful. But now knowing that can’t, knowing…
Like I will have like dedicated free time and very little is going to interrupt me is so wonderful, especially considering that I’m one of the few people that works at Engrogg in the UK. So there’s not many people on my time zone, which has pros and cons. One of the pros is that I know before 3pm on any given day, nobody is going to bother me. So I have this dedicated, wonderful six hour period every single day where I can just focus and do things. The flip side of that being from 3pm onwards is very interrupt heavy because it’s like
that’s the time people can get me so I end up being in meetings quite a lot around that time. Yeah so some surprises, some stuff I was expecting, pretty much all of it though very positive so far.
Bethany (14:46) That’s awesome. Yeah, that’s when you think about it, going from SRE to something like this is very different, but really cool that you’ve gotten kind of this breadth of experience and it sounded like you knew that you wanted to teach. So it’s really cool that you’re in a position where you’re able to really focus on doing that. That’s awesome.
Sam Rose (15:05) Teaching
has been something I’ve wanted to try for a while now. From before I began writing these visual blog posts, I’ve done teaching in lots of different capacities. So for example, like I volunteered with charities that teach kids to code. I volunteered to mentor other people. Like I’ve mentored several people into career changing into technology and these mentorship relations tend to last years. So like there’s been…
I think four people that I’ve had like multi-year relationships with where slowly work towards them switching from their current career into technology. So these like kind of informal, I guess, ways of teaching is something I’ve been drawn towards for a long time.
getting into like a more formal role for teaching has always felt very challenging and challenging in a really privileged way because the problem is like software engineering is very well paid right any teaching job I go into is almost necessarily going to be a huge huge pay cut especially if it was in academia so like it felt inaccessible inaccessible due to the privilege of the current situation which you know is you know world’s smallest violin but sure so it’s been surreal
to land into this situation now where not only am I full time thinking about education and not like, I guess, academic education, but it’s still education, the kind of writing for people and helping them learn. It’s for roughly what I was earning as a software engineer, which is wonderful. And then also like, it’s this very new, interesting, wild.
topic that everyone else is currently talking about as well and I get to participate full time and learning it and hopefully trying to get ahead of where the kind of average practitioner is so that I can look back and then try and identify like what do they need to know and like how can I help them. Just I was just talking about this the other day with my wife this feels almost like incomprehensibly lucky where I have ended up very very grateful for it.
Bethany (16:54) Yeah, absolutely. It seems very tailored to your experiences and interests, which is always awesome. again, I feel like I’m gassing you up, but it’s so well deserved because you do it very well. And I think with LLMs especially, it’s been something where almost overnight everyone has to be an expert in at least how to use them, if not like effectively.
Sam Rose (17:04) Yeah
No, thank you.
Bethany (17:18) I think it’s so helpful that there’s investment in demystifying that for people who might be thrown into this world or expected to leverage LLMs and not know how to do it cheaply, for example, where prompt caching is helpful for that or effectively. So looking forward to more content on that.
Sam Rose (17:38) doing a lot of thinking around what is like a practical set of information that people need to know, specifically thinking about like web practitioners who are building with AI, rather than, I think plenty of people have got using AI to get your job done on lock. I don’t get, publish a lot of stuff in that vein.
So I’m not super interested in competing on that. I think that’s being done very well by a lot of different people. I don’t think there is as much out there for the practitioner building with AI. There’s definitely stuff out there, but I think it’s an area in which we can make a meaningful difference.
Bethany (18:11) Completely agree and it’s something where folks are getting starting to dip their toes in and then you have that in for really reaching out and giving them that. So pivoting a little, you not only write on technology, but you’ve also written a decent amount on your family and personal experiences and wrote a detailed blog post on your son’s max autism diagnosis journey. What made you decide to write about something?
so personal publicly and what response did you get for writing that either from the developer community or other communities that you might have not been expecting?
Sam Rose (18:45) So that was my wife. She is tremendously supportive, not just in my career, but also of my experience as a dad in this somewhat unusual situation that we find ourselves in. So we have two autistic boys.
I’ve written about the diagnosis for one of them, but not the other one, because the other one was much easier to get diagnosed after his brother had been diagnosed. I hope he understands that when he’s old enough to realize that there’s only one of these posts. My wife really urged me to write, and she continues to urge me to write more about my experiences in this area, because not many people do. Men especially, like, not great at attacking the emotional side of things and really coming to terms with it and…
So we’ve had quite a lot of trauma in that regard around very traumatic births, very, very challenging children growing up, very difficult decisions we had to make. So like we moved across the country, for example, to get the kids better support with school. a lot of stuff that I, I don’t know, you do what you have to do. Like I don’t, none of it felt like.
huge sacrifice, it was like just the stuff that we had to do to get the best that we could get for our boys. But yeah, she pushed me to write about these things. It was also a good exercise in like really chronicling what that process looked like for us because it’s very different to how that process looked 10 years ago and I think it’s going to be very different to how that process looks 10 years from now. Like the kind of diagnosis guidelines for autism have changed a lot and will probably change a lot more and
a lot of kind of like political aspects, lot of political pressures on diagnosing more and then diagnosing less for different good and bad reasons. Like it’s a really fluctuating world that not many people are aware of. So that was the main motivation for that. Just share these opinions. The secondary effects of it is it’s helped me connect with people that have had similar experiences, which it’s one of the reasons I write all of the stuff that I write. So like writing technological stuff and personal stuff is
I’d love to meet more people that have had these similar experiences or make similar stuff or interested in similar topics to me. I’ve actually made several really good friends now that I’ve ended up of meeting up with in real life just through having very similar parenting challenges and it’s good to be able to, I don’t know.
you kind of release steam when you both have the same problem and you both know like there is no real solution to this like you’ve got very challenging kids and they’re going to continue being challenging there’s no like click your fingers and everything gets better but having someone who understands that and has been through very similar stuff is I would say necessary really to kind of keep it all together
Bethany (21:14) Absolutely. It sounds so isolating to go through that experience, especially with a child that’s younger than the typical diagnosis age and also during the pandemic that is, must have been a doubly isolating challenge. So it’s so great to see you put that information out there in your experience out there. So maybe one less person or more, multiple less people feel alone in that experience.
you
Sam Rose (21:40) The
pandemic was bad. We had our second child during the pandemic. so I won’t go too much into the details. I have actually written about that. I have a post called having a baby and it kind of details the birth traumas we went through.
But the, we were in hospital for several days, but during the pandemic, like I wasn’t allowed to stay. Like I wasn’t allowed in the ambulance to go with my wife. I wasn’t allowed to stay longer than four hours. So there’s lots of like really extra challenging things on top of the normal challenges of going through traumatic births and then.
the isolation of like not having help as well. So having to shelter at home, having to be on lockdown. Like there were, I remember very vividly this one week where you have kids, kids get sick, you get sick. It’s just what happens. Everyone has the illnesses and it’s never ending. But during the pandemic, you’re in lockdown, you’ve been home for weeks anyway, everyone is ill at the same time. Just there like, this is miserable. This is the worst. So we had a pretty rough lockdown.
I’m very, very glad that we’re mostly past all that stuff now. And as the kids have gotten older, it’s gotten easier as well. Back then, they were like a baby and a two year old and they didn’t want to be indoors all the time. They hated it as much as we did. So it was something we had to persevere through. It was not a fun experience.
Bethany (22:52) Absolutely, that is definitely understandable and echoing glad we are mostly out of that as well.
In your article, you had mentioned that Max has no difficulty learning. The way he learns is just different. I’m curious if that influenced how you thought about teaching, especially in your essays or articles, if any of that has influence on the work you do now and making sure it’s as accessible to as many people as possible.
Sam Rose (23:20) It kind of hasn’t. So this is one of the ones I was thinking like, maybe I should have a different answer to this. Maybe I should have been thinking about this more deeply, but the honest answer is not really. So to give some examples of like how he learns differently. So I don’t have any neurotypical children, so I don’t really know like what, how like kids typically learn, but there was this incredible moment just a year or so ago where…
Our eldest Max has always been really great with numbers, very kind of almost stereotypically good at numbers. He can sum numbers like two, three digit numbers. He’s great as a five year old. And we had been doing a lot of like countdowns with him. So to help him transition to new activities, we say,
going in the car in 10 and they do nine, eight, seven, and it just helps him get ready for it. And we do it bedtime as well, so bedtime in 10, nine, and then we go upstairs, we go to bedtime. And his normal bedtime’s like 8 p.m., so they go to bed fairly late, but they don’t sleep fairly late, but they sleep very consistently, which is a saving grace. So bedtime at eight normally, and I said to him, bedtime in 10.
And he kind of turned around, he looked in a different direction, and then he said, like, bedtime in 24 minutes. And I was like, at no point have I taught you how to tell the time, at no point have I explained to you that that on the microwave that you just looked at is a clock. He’s like, figured this stuff out, and he was correct. It was 24 minutes to eight. just from nowhere, he revealed that he could tell the time. And he was…
Not just that, but he was like sassing me with it. He was like, whoa, it’s not it’s not 10 minutes away. It’s 24 minutes away here, buddy. So that was just a weird and wonderful thing where like there was as far as I know, really not a huge amount of input. Like we’d not really address time as an idea. And he somehow figured it out and learned. don’t know if it was from school or from stuff he’d seen. So he seems like he has this incredible capacity for learning and
Like what I wrote in the article that you’ve picked out. I think
I think I’m incorrect actually to say that he has no difficulty learning. I think there are some difficulties, but his difficulties are mostly based on his motivations. So he has what’s called a pathological demand avoidance profile, which is basically doesn’t want to do anything that you want him to do. Unless he wants to do it, he doesn’t want to do it. Not just like in the normal kid way, like kids don’t want to do stuff. That’s reasonably expected, but this is like extreme demand avoidance. So I think he, if he wants to do something,
wants to figure something out, like he really figures it out quick and he will learn very, very quickly. But then if you want to try and teach him, like he’s not toilet trained yet, for example. So like we’re into our like third year of toilet training and the look of horror I get from other parents when I say that is very funny. But he has no motivation. Like to him, it’s like a downgrade, I think. He’s like, I’m happy with the current situation. I don’t want to go to this strange room that smells weird.
So his motivation, I think, of stands in the way of some of his learning. So it’s not that there’s no difficulties, but it’s just anything he’s motivated towards is incredibly capable.
Brittany Ellich (26:18) Yeah, that makes a lot of sense. I fear the day when my oldest actually learns how to tell time because that’s like the one thing we got going for us now. I’m like, you’re pretty tired. You’re not going to admit that you’re tired, but I know you’re tired. So we’re going to do an early bedtime, but I don’t have to tell her that it’s early because she doesn’t know yet. And that is, yeah, that is great. Wow. Thank you so much for sharing all that. That’s awesome. I have found connecting with other
parents in tech, especially parents that have been going through these crazy several years we’ve had where, I don’t know, maybe it’s just my kids are four and two and they’re, so I had kids during the pandemic and I don’t think we had quite as isolationist of a time as y’all did in the UK, but it was a very weird time to become a parent and since then it has become.
a very weird time. So it’s really nice to connect with other parents in tech that are doing this very demanding mentally taxing job and, you know, raising humans at the same time, which is hard to do. So, yeah, thank you for connecting. And I think you’re really right that there’s not enough, particularly dads out there that are sharing that journey and how incredibly emotional it is. So that’s really, that’s wonderful.
I would love to talk a little bit about your journey building in public, if you would like to switch gears a little bit here. You do a really fantastic job on Blue Sky of sharing your process as you’re creating things. And I’m not sure if you share on other platforms as well. That’s the one that I typically am on as well. And I really appreciate how you go about doing that. One of the things that you recently shared on the Write That blog,
newsletter, I think it is. It’s online, says a blog and a newsletter. But you’ve gone from blogging just to get a job to like having a job title now that’s all about creating content. And I’m curious, like, how has your writing evolved since, you you started blogging in what, 2011 to now? I think a lot of people recommend like go write stuff online so that you can get recognized to get a job. Now you have a job.
Sam Rose (28:18) Mm.
Brittany Ellich (28:24) and you’re still writing. So how is this, how has it evolved over time?
Sam Rose (28:28) Excuse me. I actually write that blog as this wonderful initiative by Cynthia Dunlop and Peter Sana. Sana, yes. To get people like more like into blogging and things like that. And I was very kind of grateful to be included as somebody who’s blogging and they kind of asked me a bunch of questions and published those questions and the people that…
that they asked and I’m like, why am I in here? This is weird. So I went back as an exercise while I was writing that set of interview questions to look at some of my old writing and it’s really bad. It’s really terrible. There’s like weird emojis everywhere. There’s pop culture references that no one’s gonna really get. Stuff that I found funny that isn’t really that funny. I made a pact with myself a long time ago.
to never delete anything though. Like it’s like, that’s who you were at that time. Like you have to own it. You you can’t just pretend now that you’re, you’re writing to a larger audience and you feel a lot more comfortable with writing. You can’t pretend that you didn’t come from like this weird cringe early twenties, 2011 that you’re in. So it’s changed a lot. I think maybe the one of the most conscious changes I made was to, to be a lot more,
Respectful of the readers time so I am very surgical about my writing to to a point where I think some people Begin to feel that it’s a little bit I know not dry, but like there’s not a huge amount of humor and there’s not a huge amount of What’s the word I’m looking for here like personality I guess but but the the whole idea is like how can I express this?
in the clearest and most concise way that I possibly can. my, each one of my posts, nobody has read my posts more than I have. Every single one of them, I read dozens and dozens and dozens of times and I, every single word is put under extreme scrutiny. Like, do you need to be here? Like, can I replace you with something simpler or to get rid of you entirely? I care about that a lot and I care, like, it’s one of those things that I think…
If you’re not really thinking about it and you’re not really bothered, you probably wouldn’t notice. Like you’d read through the post and it just wouldn’t register. But the benefit is that you’re not annoyed by it. I try and annoy the reader as little as possible. So just little things like…
Don’t you hate it when you’re on your phone and you’re scrolling a website and then your thumb hits like an internal scrolling element and you stop scrolling the main page and I have scrolling this tiny little element. I’m like, that’s really annoying. Like did the person not scroll through this when they were like writing it? So like little things like that. Like the golden rule is don’t annoy the reader. And part of that is like, don’t say 25 words if you can do it in 15. Like it’s, you know, cut down as aggressively as possible. So that’s the main.
conscious change that I have made. Other than that, think in the years since 2011, I’ve just become more mature, more switched on and aware of other people. you know, as a early 20s white guy, I was, you know, very confident in myself to a degree that was not warranted. And I think that reflects in my writing. So I think I’ve just mellowed out a whole bunch, become a lot more of a well-rounded human being. And hopefully that kind of comes through in the writing, right? In the writing as well.
Brittany Ellich (31:29) Yeah, I can definitely tell that care that you take to just your entire website is wonderful. And it’s a great example of like little Easter eggs. I think that’s when I first saw you online as you were sharing like, Ooh, can you find the Easter eggs on my site? And I was like, Oh my gosh, I want to go see. So we’ll definitely link it for folks to go check that out as well. What is, yeah. What is your,
Sam Rose (31:42) Hehehe
No, thank you.
Brittany Ellich (31:53) feedback process look like. So I know you post things online and I actually got to read a little bit of your stuff as well for this most recent article. So thank you. What does that process look like? Are you reaching out to a lot of folks? Are you mostly going with like posting publicly and getting feedback or what does that look like typically?
Sam Rose (32:01) Hmm.
This is another thing that’s changed lot over the years.
Anything pre-2023 was, I wrote it and published it. Nobody was reading it so I didn’t care. Then as time has gone on with the more visual stuff, as I was learning that, load balancing, the first one that I wrote, I got a bunch of help from some colleagues at the time who were much more experienced at front-end than I was. I was like, have no idea what I’m doing. Why is my mobile phone really hot now, now that I’m scrolling through this thing?
So I got a ton of help from really generous friends who I was working with. More recently, I have been trying to formalize this a little bit more where…
I will try and recruit people to let me watch them read my post, which sounds real weird. And like, I try and, um, diffuse this beforehand. So like, you know, we dial into the call together and it’s like, look, this is kind of strange, but what’s going to happen if you’re okay with it is I’m going to turn off my video, turn off my microphone. I’m still here taking notes. If you could share your screen with me, um, and read the post as you kind of normally would, which I realize is impossible because I’m sat here watching you, but like try your best.
And then people can either like vocalize as they go along or I try and encourage them not to ask questions like People will ask like like what does this mean here? And it’s like I kind of can’t tell you because I want you like go through as if I wasn’t here So but it’s good to identify like that that’s confusing and that needs changing I mean you to smooth that over I think of it like I’m Like combing like every single pass with the comb you make things a little bit better and you smooth things out a little bit more
So I tend to do like one or two people and get the initial like confusion points and try and like unknot those and get those out. And then I do a couple more people and a couple more. I don’t I’ve never done more than three rounds of this. Like by the third round, normally I’m sick of it. And I’m like, I just want to publish this thing and get onto the next one now because I read it too many times. So that’s really valuable, though. Like the act of watching someone read something you’ve written. It’s like that that TikTok. It was Alison Burke.
user experience person like putting the wrong shapes into the wrong holes. It feels a little bit like that you’re watching someone read your post and they’ll scroll straight past something like interacting with it and you’re like no what are you doing?
It’s very revealing and very humbling as well because I think it’s very easy to write your own thing and you go through it you’re like, wow, this is great. Like this works perfectly. That’s amazing. And then someone else just skips over and doesn’t interact with it. And you’re like, why don’t they tap on the thing? It’s obvious. But it’s not obvious, right? Like it’s something you trick yourself into because you’re fully aware of it.
So yeah, I’ve tried to more formal, tried to really engage with people very directly and watch them engaging with the content to try and get rid of bugs and things that don’t work. And that’s been super useful.
Other than that I have a few kind of close friends who I rely on for different stuff. So I have one guy who I know absolutely with confidence will tell me when something sucks. He’s a very very good friend and we both know each other for incredibly long time. And then I have another friend who’s very great with visual design so when I’m not sure something looks quite right I know I can ask him like how do I make this look better and he’s always got really good suggestions. So I do have some some more like
specialized people that I ask for help. But it’s kind of haphazard, like no more than like 10 people will have seen it before it gets published, which I’m kind of downplaying that. It’s probably a lot more than like the average blog post, but I almost feel like it’s a, it is its own like product almost, like the prompt caching post had like 12,000 lines of code in it, for example. Like it’s a little product that I’m releasing here. It does kind of feel like it should be QA’d by more people, but 10 or so.
for the more recent posts and then fewer as you go further back. So yeah, I’m trying to be more on the ball with feedback.
Bethany (35:46) That is so cool. And really interesting bringing that research perspective to writing, which in a way, books get test read and sent to pre-readers and things like that for editing. And it makes sense to do the same for blog posts that have a lot of content in them and that are very interactive. So what a cool way to go about that.
Sam Rose (36:09) I completely agree and I have been that pre-reader so I was one of the technical reviewers for the Pragmatic Bookshelf for 15 years or so. Quite a few of those books behind me are Pragmatic Bookshelf books that I got sent for free for reviewing them. So I’m somewhat aware of this editorial process and it makes a huge difference. It’s hard. I have very thin skin and I struggle with criticism.
and every single time I remember a very specific call I had of feedback from someone and this person did not like the post whatsoever and they were not shy about telling me and it was
really awful. felt horrible the whole time. At the end, this person had finished reading my post, I had to apologize. I’m really sorry. I’m sorry that that was such an awful experience for you. Let’s talk about it see how we can make it better. But it’s really horrible when someone, you know, has so much to struggle or has a lot of very critical feedback. I find it very difficult. So it’s something I have to go in and psych myself up for being like, this person’s on my side. They’re not trying to cut me down, but we’re going to make this better.
and it’s gonna be all good. Yeah.
Bethany (37:12) Absolutely. Okay, we are coming up at time, but beforehand we’ve got our fun segment. So I’m so excited. I saw on your main webpage that you do the New York Times games with your wife. And I decided to run with this and I made a connections, well, I say I, I had an AI make a connections game based on your prompt caching.
Sam Rose (37:28) You
Bethany (37:40) article and I haven’t even read the the thing so I’m doing it live too, but Yeah, I thought we’d maybe do it together and see see if we can get through this
Sam Rose (37:41) Wow.
boy.
Bethany (37:52) Sweet. All right, and A-R-K to bring up the article to do that. But all right, so I’ll go ahead and read out the ⁓ grid. Our words are vector, output, query, softmax, weights, transpose, transformer, dimension, position, mask, multiply, key, tokenizer, embedding.
semantic value.
Sam Rose (38:23) Okay, I have a group, I think. I think output, tokenizer, embedding, and transformer is a group.
Bethany (38:24) All right. Okay, okay.
All right, let’s see. It is! Okay, those are LLM architecture stages. We got the yellow.
Sam Rose (38:39) Okay.
Brittany Ellich (38:41) Amazing. I actually, that was my first guess too, and I was like picturing it from your article. I’m like, I’ve seen this visual. So thank you. It stuck.
Bethany (38:50) Okay, ⁓
Sam Rose (38:53) think I have another one. ⁓ Softmax, transpose, multiply, and mask.
Bethany (38:54) Ooh, yes.
Okay, I was just going to ask that seemed to be like ⁓ operations that happen on the matrices, Matrix operations and attention. Ooh, got the green. that was the I think green is the easiest, right?
Sam Rose (39:07) Hmm.
Yes.
Brittany Ellich (39:17) All I know is purple is hard.
Bethany (39:20) Yeah.
Sam Rose (39:20) Same, yep.
Bethany (39:21) Okay. ⁓ I feel like… ⁓ Yes!
Sam Rose (39:27) okay, I think I have the last two. But
I’m gonna pause, I’m gonna let you try.
Bethany (39:32) ⁓ okay. I feel like weights, query, dimension and value seem kind of, are kind of reflecting this related. ⁓
Sam Rose (39:47) think that’s one off. I think you’ve
got three of a group there and then one miscreant.
Bethany (39:54) Okay, Brittany, do you have any thoughts?
Brittany Ellich (39:57) I was thinking that key value position and vector would go together.
Bethany (40:01) ⁓
Brittany Ellich (40:01) but maybe not. I’m very bad at connections too, so.
Bethany (40:05) Yeah. What?
Sam Rose (40:06) I don’t think that’s
a groove. I could be wrong.
Bethany (40:08) All right, all right. ⁓ Okay, so query weights, we did this, so one off.
Sam Rose (40:14) The group I would go
with, it’s worth trying that and seeing if it is a group, I guess.
Bethany (40:20) No, it is one away though, you’re right.
Sam Rose (40:20) one away, I thought so. ⁓
If you get rid of dimension and put key in there, is that the group?
Bethany (40:26) it is attention mechanism matrices. All right, and that was our purple.
Sam Rose (40:34) I… what is this last one? Semantic is kind of throwing me off.
Bethany (40:39) no, this was the purple. we had multiple purples. Oops. Describe embeddings.
Sam Rose (40:41) ⁓ that’s really clever.
Did you say an LLM came up with this?
Bethany (40:46) Yeah Claude, gave it your article and I was like, come up with the connections and I was like, I’m not going to see it beforehand.
Sam Rose (40:54) This is genuinely really good.
That was amazing, thank you.
Bethany (40:58) Yeah! Alrighty! No, that was fun! I’m glad we had an expert on because I don’t think I would have gotten that myself without combing through the article an additional five times, so…
Sam Rose (41:14) Imagine if I didn’t get it. That’d be really embarrassing.
Bethany (41:16) Hahaha
Brittany Ellich (41:17) That’s true. That would be pretty sad, I guess.
Sam Rose (41:19) Yeah
Bethany (41:20) man, highly recommend. Anyone read the article and then try it yourself. Forget what you heard and then give it a shot and yeah, let us know what you think. Awesome! Well, that is all the time we have today. Where can folks find you, Sam?
Sam Rose (41:36) So I am actually on X as well, so on X I’m on Blue Sky. It’s all linked from samhu.dev, my personal website.
Bethany (41:43) Awesome.
Thank you so much for tuning in to Overcommitted. If you like what you hear, please do follow, subscribe, or do whatever it is you like to do on the podcast app of your choice. Check us out on Blue Sky and share with your friends. Until next week, bye!