Two's Complement - Conference Talks: Some Assembly Required
Episode Date: October 12, 2025Matt returns from CppCon with a cold, three talks, and a keynote title Reddit hates. Ben immediately declares Reddit dumb. The hosts discuss C++ reflection, the unforgivable renaming of the Sears Towe...r, and why conference attendees should stand like Pac-Man.
 Transcript
 Discussion  (0)
    
                                        I'm Matt Godbolt.
                                         
                                        And I'm Ben Radie.
                                         
                                        And this is To's Compliment, a programming podcast.
                                         
                                        Hey, Ben.
                                         
                                        How are you doing?
                                         
                                        I'm all right.
                                         
                                        Yeah.
                                         
                                        Someone tweeted me the other day or whatever.
                                         
    
                                        Social media interacted with me the other day and said,
                                         
                                        Man, we listen to the podcast and we want to know, how are you?
                                         
                                        And it took me a long time to realize what they meant.
                                         
                                        And now, having just said this to you, so I'd like, for the record, I'm doing great.
                                         
                                        Thank you very much.
                                         
                                        All right.
                                         
                                        You never asked me.
                                         
                                        I don't care.
                                         
    
                                        That's not why I come to this podcast.
                                         
                                        Excuse me.
                                         
                                        Oh, gosh.
                                         
                                        Well, I say I'm doing fine.
                                         
                                        But obviously.
                                         
                                        Yeah.
                                         
                                        And then you're dying.
                                         
                                        So you're lying to our audience right now.
                                         
    
                                        You're saying like, I'm fine.
                                         
                                        but really you're dead i've got a bit of a cold going on here as as we were discussing in the pre-chat i i've
                                         
                                        been through the spending a week at a conference with 700 other people and worrying about talks
                                         
                                        and going through the emotional roller coaster presenting them and then the recovery where you go
                                         
                                        and relax at the very end i had the last talk right so i had to worry about it the whole way through
                                         
                                        And then I relaxed, got on a plane, came home to my family, and promptly came down with a cold.
                                         
                                        So, you know, that's just how it is, right?
                                         
                                        Yeah.
                                         
    
                                        But it was a great time.
                                         
                                        I recommend it.
                                         
                                        Go to conferences, people.
                                         
                                        It's fun.
                                         
                                        It's fun to meet people and see them like as in the flesh, as other beings.
                                         
                                        Unlike this.
                                         
                                        Three dimensions or perhaps four dimensions, depending on how many dimensions you want to measure.
                                         
                                        That's true.
                                         
    
                                        I guess it took long enough.
                                         
                                        We can measure the fourth dimension in that.
                                         
                                        What was the fourth dimension of your talk?
                                         
                                        The fourth dimension.
                                         
                                        Whoa.
                                         
                                        How long was it?
                                         
                                        Oh, well, I had a few.
                                         
                                        I kept saying yes to people, which...
                                         
    
                                        See, this is the problem, Ben.
                                         
                                        As you know, I have had a lot of extra time on my hands, as I haven't had anything to distract me during the day, which means that the back of my mind, I think there's no excuse not to say yes to everything that anyone brings up.
                                         
                                        Yeah.
                                         
                                        But there is a reason to say no occasionally, as I've now discovered.
                                         
                                        because otherwise you burn yourself out.
                                         
                                        But never met,
                                         
                                        Leverless,
                                         
                                        I had a great time.
                                         
    
                                        I had three talks and I was on two panels.
                                         
                                        So pretty much,
                                         
                                        and then they wanted me to appear on a third panel.
                                         
                                        And I was like,
                                         
                                        no,
                                         
                                        that would mean literally every day
                                         
                                        of this five-day conference,
                                         
                                        I'm doing at least one thing.
                                         
    
                                        And I just want to have one day
                                         
                                        where I haven't got anything to worry about
                                         
                                        primarily and selfishly.
                                         
                                        So the night before that,
                                         
                                        I can go to the bar
                                         
                                        and have a couple of drinks
                                         
                                        without worrying about being hung over the next day,
                                         
                                        which I did do.
                                         
    
                                        which was fun.
                                         
                                        And I met up with a colleague of ours in said bar and had a great catch-up and chat.
                                         
                                        But that's not what this is about.
                                         
                                        This was, yeah, it was, it was a, it was a group conference.
                                         
                                        And yeah, we're doing a podcast, I realize.
                                         
                                        I remember now because we're just chatting now.
                                         
                                        Like you and me would be chatting.
                                         
                                        This is every podcast.
                                         
    
                                        I know, I know.
                                         
                                        But I just, I was just going to launch into giving you a whole spiel about what it was all about.
                                         
                                        Well, I mean, that's as good of a podcast topic.
                                         
                                        as any.
                                         
                                        You want to give a little recap of the talks, maybe for folks who haven't seen them yet,
                                         
                                        you can convince them to go.
                                         
                                        Well, that's a good question.
                                         
                                        Well, first of all, I have just fiddled with these audio settings because I'm noticing
                                         
    
                                        my levels are really low here.
                                         
                                        So apologies to editor Matt.
                                         
                                        That's just the cold.
                                         
                                        That could be.
                                         
                                        I mean, I look very small on here, but this is a new computer.
                                         
                                        I switched to my desktop computer, and of course, every setting is different.
                                         
                                        Anyway, yeah, the talk, well, I did three.
                                         
                                        one of it was a repeat of one I've already done before
                                         
    
                                        although I took the time to bring it up to date
                                         
                                        with all of the latest bits and pieces
                                         
                                        and it was open content
                                         
                                        so they have these sort of open content slots
                                         
                                        where essentially if there's a space
                                         
                                        and you pitch a talk
                                         
                                        and no one else pictures a talk
                                         
                                        you can just talk about whatever you like
                                         
    
                                        it doesn't have to fit in with the call they don't record it
                                         
                                        they just sort of give you a room and say
                                         
                                        have fun and they put it on the schedule
                                         
                                        so I did my JavaScript talk
                                         
                                        about emulating the BBC micro, you know, my favorite.
                                         
                                        The bebe?
                                         
                                        Bebe, absolutely.
                                         
                                        And I brought that sort of up to date, slightly with all the things I've done subsequently
                                         
    
                                        and more importantly, I went back over the slides and like revamp them a little bit.
                                         
                                        Although I'd forgotten that this is one of my oldest presentations.
                                         
                                        I first presented it like eight years ago or a version of it.
                                         
                                        And my ideas about colour palettes have changed considerably as I've aged.
                                         
                                        and so it was all done retro style so it's all black with like white computer fonts
                                         
                                        and it's just you can't read it on a projector it's not visible and the last time i had
                                         
                                        presented it was actually on one of those big LCD screens and it was okay on that
                                         
                                        but on a sort of rear projector or front projector the contrast is just too dire right
                                         
    
                                        there's just very stark white on a black background that it's just too too small so that's always
                                         
                                        something to bear in mind as a presenter is like can it be read by the people in the room but that
                                         
                                        went great that was fun it was easy i'd done it before and then i did a second one on
                                         
                                        compiler explorer and the features that you probably don't know about it which was was fun for me
                                         
                                        because i got to actually play around with my own website and kind of go oh gosh yeah we've got all
                                         
                                        these feet oh my god i forgot we could do that and half these things are things i don't really
                                         
                                        know that well because i just merged them in and then go that sounds great whatever but
                                         
                                        I haven't had a need to use the site all that much myself recently.
                                         
    
                                        Obviously, the sort of irony of Compiler Explorer is, if I don't have a day job, I have all the time to work on it, but I don't have a need to use it.
                                         
                                        So I don't really dog food it, right?
                                         
                                        Right.
                                         
                                        Wow.
                                         
                                        Yeah.
                                         
                                        That is a dilemma.
                                         
                                        It is.
                                         
                                        It is.
                                         
    
                                        Hello.
                                         
                                        Can I speak to Emma, please?
                                         
                                        No, she's dead.
                                         
                                        Whoa.
                                         
                                        Dilemma.
                                         
                                        Oh, die, oh, it's dial.
                                         
                                        I see, I'm dial, Emma.
                                         
                                        Oh, dial Emma.
                                         
    
                                        Yes.
                                         
                                        That's a much better time.
                                         
                                        That's none of them are good.
                                         
                                        Like, we're really, this is not.
                                         
                                        But anyway, I got to spend an hour sort of just going through the UI and whatever.
                                         
                                        And people say, oh, can I see your slides?
                                         
                                        We're sorry we couldn't make it.
                                         
                                        I'm like, there were three slides and they were basically prompts for me to then spend 15 minutes like poking around on the website and doing live demos, which is always a bit nerve-wracking.
                                         
    
                                        Yeah, right.
                                         
                                        Especially when the conference Wi-Fi is a little flaky because there's 800 humans packed into a small area all trying to, like, feed off the same infrastructure.
                                         
                                        Yeah, yeah.
                                         
                                        So it went okay.
                                         
                                        It reminded me, though, how massive Compiler Explorer has become and how lazy I have been.
                                         
                                        So, for example, one of the configuration for the front end is like a JSON document that says, you know, here's a list of all the compilers.
                                         
                                        here's for all the compilers, here's all the libraries that will work on those.
                                         
                                        There's a sort of combinatorial thing going in and there, and it's just one JSON document
                                         
    
                                        that is about, you know, 80 meg now compressed, which is a problem, right, when you're
                                         
                                        on cramped Wi-Fi.
                                         
                                        And so we've got some, like, ideas to, you know, either just in time, load that, because,
                                         
                                        you know, if you don't need to know every library for every compiler, it's only when you
                                         
                                        select the compiler in the drop-down, do you need to grab that?
                                         
                                        But obviously, that makes it a lot more complicated in the frame.
                                         
                                        Anyway, that came to bite me because I'm certainly going,
                                         
                                        and the page should have loaded by now and knowing full well what's happening behind the scenes.
                                         
    
                                        It's the 56K modem.
                                         
                                        The screeching is gradually bringing down this giant document.
                                         
                                        But anyway, it was fun to present.
                                         
                                        It worked out pretty well.
                                         
                                        I had some panels on AI.
                                         
                                        That was an interesting one, actually.
                                         
                                        Oh, yeah.
                                         
                                        What were the panels?
                                         
    
                                        So the flavor of the conference, obviously, it's a CPL.
                                         
                                        Sorry, this was CPP.
                                         
                                        Did I even say that?
                                         
                                        I don't even know that I did.
                                         
                                        I don't know if you did.
                                         
                                        No.
                                         
                                        Well, we're saying it now.
                                         
                                        It is CPP.
                                         
    
                                        It was CPPCon.
                                         
                                        It was in Aurora, Colorado.
                                         
                                        And yeah, although the theme was not AI, there were a lot of AI talks, as there have been at other conferences.
                                         
                                        And I'd been asked to participate in a couple of panels discussing the use of AI.
                                         
                                        One, in terms of just general, how do we use, effectively use AI for C++?
                                         
                                        And another one online, how might we use AI-assisted debugging, which was more of a discussion
                                         
                                        with a vendor that had like a plug-in for their debugger.
                                         
                                        They undo who have like this reverse time-traveling debugger, which essentially sort of emulates
                                         
    
                                        the CPU in some clever way.
                                         
                                        That's not really what it does.
                                         
                                        It's a big disservice to what they're trying to do.
                                         
                                        But like it lets you sort of backward step.
                                         
                                        And so what you can do is you can kind of crash your program and then,
                                         
                                        the AI, can you like GDP and reverse back and look through the trace of instructions and try
                                         
                                        and work out where it went wrong? And that's kind of a cool technology. Anyway, so those panels were
                                         
                                        about. And most of the pre-planning, I'll be honest with you, was how do we appropriately discuss
                                         
    
                                        AI in a sort of inclusive way that means that folks who might not like the idea of AI can
                                         
                                        contribute? Yeah. Yeah. It was important. But nobody
                                         
                                        ventured a non
                                         
                                        that's not strictly true
                                         
                                        but everyone was either neutral or positive
                                         
                                        towards the idea there were a few
                                         
                                        people to ask questions that were clearly like
                                         
                                        I'm not sure about this and that's fine obviously
                                         
    
                                        but yeah I was I was
                                         
                                        most people where they were interested
                                         
                                        in how we might use it well
                                         
                                        because it's here anyway
                                         
                                        it's kind of the vibe that I got
                                         
                                        although again there's a selection bias
                                         
                                        that people who turn up to a panel
                                         
                                        on this type of thing
                                         
    
                                        a probably pro
                                         
                                        although I would have thought if you didn't like it
                                         
                                        and you wanted to publicly
                                         
                                        point out some flaws, you might
                                         
                                        also turn up to such a thing. So, yeah.
                                         
                                        I mean... Yeah.
                                         
                                        It was... It's hard to have that kind of
                                         
                                        discussion, though. It's sort of like
                                         
    
                                        here's a thing that people might hate.
                                         
                                        Why don't you, you know, come to the two minutes hate
                                         
                                        and, you know, vent about Big Brother.
                                         
                                        Yeah.
                                         
                                        As good as I'm going to make that pun.
                                         
                                        Or reference.
                                         
                                        It's not really a pun.
                                         
                                        But, like, I could see a world in which anyone who would have, like, thoughtful,
                                         
    
                                        constructive things to say might almost be like, do I really want to go do this right now?
                                         
                                        Do I really want to get in an argument with a room full of people who almost certainly 90% of them
                                         
                                        are going to disagree with me?
                                         
                                        I don't know that I want to do that.
                                         
                                        That's fair.
                                         
                                        Right?
                                         
                                        That's fair.
                                         
                                        But, you know, we thought about it and we planned for it so that we were able to hopefully
                                         
    
                                        give folks a place to say that to Penneth and then talk about it, but it didn't happen.
                                         
                                        And generally speaking, most of the conversations I had with people were how to use it rather
                                         
                                        than should we use it, which was an interesting thing. I wasn't expecting it. And then latterly,
                                         
                                        I had the last talk on, and I was very pleased with myself, although Reddit didn't like
                                         
                                        my title when eventually he was posted. So, so most of the,
                                         
                                        These videos aren't out yet except for the keynotes.
                                         
                                        So the keynotes got published like pretty much as they as they finished.
                                         
                                        So that one is up.
                                         
    
                                        My last one is up.
                                         
                                        And yeah, the biggest thread on the Reddit post where somebody had posted it,
                                         
                                        I didn't even know it was up.
                                         
                                        You know, I only discovered it because someone added me on the Reddit thread.
                                         
                                        I'm like, oh, oh, I see.
                                         
                                        Oh, gosh.
                                         
                                        And they were essentially saying that the name was stupid because it didn't tell you what the talk was.
                                         
                                        And I'm like, I don't write the talk name for the user.
                                         
    
                                        YouTube video. I write it for the people who are at the conference. The people at the conference
                                         
                                        to find a point in have to come to my talk because it's a keynote. The title almost doesn't
                                         
                                        matter. Yeah. It's like you're going to be stuck in a room with me. Yeah. I've got 90 minutes to
                                         
                                        talk to you and you can't do much about it other than a walk out, which I'm glad to say most
                                         
                                        people did not walk out on my talk. Some people left and I like to think it's because they had
                                         
                                        planes to catch, but I could be wrong. You know, not everyone's going to agree with everything I say and
                                         
                                        I tried not to...
                                         
                                        I doubt that they walk...
                                         
    
                                        I doubt that there was any huff involved in their walking out.
                                         
                                        I hope not.
                                         
                                        I like to think not as well.
                                         
                                        But the controversial name was C++, some assembly required.
                                         
                                        Oh, that's a good name.
                                         
                                        See, I thought so.
                                         
                                        I was so pleased with my look at stuff.
                                         
                                        I read it is dumb.
                                         
    
                                        That's a great name.
                                         
                                        Some assembly required.
                                         
                                        No, Reddit is on point.
                                         
                                        To be fair to the people on Reddit, the comment was it doesn't tell me what the talk is.
                                         
                                        And I'm like...
                                         
                                        Sure, but it's an.
                                         
                                        objectively awesome name.
                                         
                                        Well, I mean, what do you want?
                                         
    
                                        You're very kind to me, and we think very similarly, so I have to take that with a
                                         
                                        picture saw, although I am thankful you said that.
                                         
                                        But no, Reddit is correct, but that's the point of it.
                                         
                                        It was like, my idea is, and it was accused of being clickbaiting in that, but it's like,
                                         
                                        it's not clickbait because I didn't even think about it going on YouTube.
                                         
                                        Anyway, but yeah, the idea was, and, you know, folks can go find it on the interwebs now,
                                         
                                        on the YouTube's, it is me 100% thinking, well,
                                         
                                        everyone's going to come to talk anyway, so no one's going to read the abstract, which was
                                         
    
                                        correct. Nobody read the abstract. And of course, if there's Godbot up on stage talking about
                                         
                                        assembly, it means one thing, right? And some assembly required, we're going to stand up there.
                                         
                                        He's going to preach to us about how everyone should learn assembly. And I do. And I spend 25 minutes
                                         
                                        with a little bit of back history as to why I think is, why an assembly is important to me,
                                         
                                        including some very dodgy photographs of me as a kid
                                         
                                        and some other very self-deprecating pictures,
                                         
                                        which you just kind of have to see.
                                         
                                        And I eventually show, I talk about assembly
                                         
    
                                        and all of its forms,
                                         
                                        I actually show a new featuring compiler explorer
                                         
                                        that I add in and I live deployed on stage,
                                         
                                        although, yeah, I know, that's confidence in my deployability there.
                                         
                                        I've learned that from a friend of mine.
                                         
                                        And then I kind of go to the next slide.
                                         
                                        I'm like, well, this is awkward.
                                         
                                        We seem to have finished a little bit early, and I've got like 45 minutes of time left.
                                         
    
                                        And then I go back to the definition of assembly, which I show earlier and just show that there's loads of definitions, assembly, one of which is assembly language, and we talk about assembly language.
                                         
                                        And then I basically go through the other five definitions of assembly and show how they are also incredibly relevant to C++.
                                         
                                        So there is the assembly of, you know, like a group of a sort of regulatory body is an assembly.
                                         
                                        So, for example, like in Britain, there's the Welsh assembly.
                                         
                                        There is like various assemblies around the whatever.
                                         
                                        And obviously that means, you know, the C++ committee that defines the language.
                                         
                                        So we talk about how that fits in, how it's structured, how it fits.
                                         
                                        We talk about assembly, meaning the process of putting things together or an assembly, which is, you know,
                                         
    
                                        like a set of parts that have been put together.
                                         
                                        So there's all these different aspects of it.
                                         
                                        And all of which are really relevant to see people.
                                         
                                        So let me explore and just basically do a big community hug of like,
                                         
                                        this is great.
                                         
                                        We've got a load of cool bits and pieces going on in our language.
                                         
                                        And then at the end, a call to action to say, hey, let's, let's keep this up.
                                         
                                        You know, you're sat there in the audience.
                                         
    
                                        You're sat there on YouTube.
                                         
                                        You can join in, you know, go to a local meetup.
                                         
                                        You know, because also an assembly is like a congregation of people in one place for a purpose.
                                         
                                        And I'm like, point at the audience.
                                         
                                        It's like, you're here, right?
                                         
                                        This is, we are in an assembly right now.
                                         
                                        Right.
                                         
                                        So anyway, that's what I thought it was cool.
                                         
    
                                        I thought it was a good double meaning and it was 100% for the people in the room.
                                         
                                        And then hopefully people looking at the YouTube video afterwards will enjoy.
                                         
                                        But that was not the intention as such.
                                         
                                        You know, obviously, you hope people don't like it.
                                         
                                        I think, I mean, that sounds like awesome talk.
                                         
                                        One forgets how much work it is, right?
                                         
                                        it's so tiring and I'm so glad I didn't have a real job while preparing for it I mean especially
                                         
                                        these I mean I don't when was the last time if you don't mind me asking you have you I know
                                         
    
                                        you have given presentations you've given them at work and all that kind of stuff but they're
                                         
                                        much more informal when we give them at work yeah so the trap that I had kind of fallen into
                                         
                                        I have to say is that you know when I was consulting like part of your job is giving talks I suppose
                                         
                                        you're kind of always presenting in a right like you're always on show and you have tons of
                                         
                                        opportunity to practice right um where like you know like pretty much the go-to and i mean this is like
                                         
                                        circa 2008 so i'm sure things are completely different now but um the go-to tactic um for most of the
                                         
                                        you know sort of like business development and salespeople that i worked with was um you know stealing
                                         
                                        an idea from Jerry Weinberg and be like, give your best ideas away for free. That's how you get a job
                                         
    
                                        as a consultant. You have some company that you're working with that has some problem. Go tell them
                                         
                                        how to fix their problem for free over lunch. Just do that. And they will inevitably hire you because
                                         
                                        they're like, that sounds great. We don't actually know how to do that. So, you know, you have lots of
                                         
                                        opportunities to present on various ideas. And then you can do these at conferences. You can do them as
                                         
                                        sort of like some of these sort of like what are essentially sales pitches. And you just get good at
                                         
                                        it. Because as you know, like a lot of a talk is just giving it over and over again and refining the
                                         
                                        material. It's a little bit like stand up comedy. Right. Like you just got to like, you know,
                                         
                                        genuinely do it and refine it. Right. It's yeah. Yeah. Yes, exactly. 100%. Yeah. So I've fallen
                                         
    
                                        out of that a little bit. And as you know, I've been trying, I had tried to kind of do some of these
                                         
                                        things at the various companies that we worked at in some ways because I had a lot of good
                                         
                                        material. In some ways because I wanted to keep the skill up. But I will say that in the last,
                                         
                                        you know, 15 years since I'd been consulting, that has atrophied a little bit. Right. And I don't really,
                                         
                                        and you know, COVID didn't help either. And so I don't, I don't know. I like,
                                         
                                        I feel like I probably have some sort of talks in reserve in the bank, essentially,
                                         
                                        that I could go out and give in a public forum.
                                         
                                        But I don't really have a good sense of like what the best forums would be, right?
                                         
    
                                        Like local conference, national conference, which ones?
                                         
                                        I spoke, again, years and years and years ago at a conference called No Fluff Just Stuff.
                                         
                                        I don't know that one.
                                         
                                        Yeah, I remember that pretty fondly.
                                         
                                        There were some, the organizers of that conference really great, a lot of great speakers there.
                                         
                                        You know, I spoke at like the Agile conferences back when Agile was not a stupid idea.
                                         
                                        Wow, that's a sentence.
                                         
                                        I mean, you know, you can just go back in our podcast history and get all my opinions on that.
                                         
    
                                        Fair.
                                         
                                        Go ask James Grenning, one of the signatories of the Agile manifesto, what he thinks of it.
                                         
                                        And podcast guest as well.
                                         
                                        Yeah, that's right.
                                         
                                        Just go listen to that episode.
                                         
                                        And that will tell you everything you need to know.
                                         
                                        But, you know, it's like there are some of those conferences that I went to and liked.
                                         
                                        But it's like I don't feel like I have a good sense right now of like for this talk,
                                         
    
                                        which I could probably just give it the drop of a hat right now, right?
                                         
                                        Like just fire up the slides and talk for 60 minutes and it would be great.
                                         
                                        Where is the audience for this talk?
                                         
                                        What conference should I go to to give it?
                                         
                                        I don't really have a good sense for that.
                                         
                                        Right.
                                         
                                        Right.
                                         
                                        That's interesting because actually somebody did make the suggestion.
                                         
    
                                        Hey,
                                         
                                        have you ever considered doing like a live recording of Two's compliment?
                                         
                                        Maybe you could come to CPBCon next year and do one there.
                                         
                                        I'm like, well, this isn't a C++ podcast.
                                         
                                        It never has been.
                                         
                                        And it's not the kind of place that you would hang out at.
                                         
                                        And, you know, I mean, maybe.
                                         
                                        I know, but a week off or whatever it would be to do to be immersed.
                                         
    
                                        That seems a bit much.
                                         
                                        You know, something like the go-to conference.
                                         
                                        or something that's a bit more, you know, across industry would make more sense, I think.
                                         
                                        Yeah.
                                         
                                        Yeah, go-to is in Chicago, too, right?
                                         
                                        They have them everywhere, but there is one in Chicago, you know, which makes it significantly easier to go-to.
                                         
                                        Yeah, ha-ha.
                                         
                                        Pun, pun, retrospectively intended.
                                         
    
                                        Intended.
                                         
                                        Well, if an organizer at the go-to conference wants to invite me to the next one in Chicago, I will gladly attend.
                                         
                                        And give one of your talks.
                                         
                                        What talk would you give?
                                         
                                        What you've sort of alluded to, you have some or, you know?
                                         
                                        You know, I, there's obviously a whole bunch of talks on testing, and I could give any one of those.
                                         
                                        I feel like that might be a little too on brand for me.
                                         
                                        Your whole deployment-based thing sounds like there's a, you know, like branch-based deployment thing.
                                         
    
                                        You know, I don't actually have a talk for that.
                                         
                                        And that would be a great example of something where, you know, and I'm sure you've never done this where you sign up to do the talk.
                                         
                                        and then you're like, and what am I going to talk about again?
                                         
                                        Absolutely never done that.
                                         
                                        No, did that.
                                         
                                        Never done that once before.
                                         
                                        Specifically either, no.
                                         
                                        Wasn't a holiday in Costa Rica freaking my hell out going, what the heck am I going to talk about for two weeks going.
                                         
    
                                        Yeah.
                                         
                                        Yeah.
                                         
                                        No, that would be a good one, actually.
                                         
                                        That would be a good talk.
                                         
                                        Well, let's fill in the form right now.
                                         
                                        We'll speak to, I think, one of your current colleagues, I think, has a very good contact.
                                         
                                        at the go-to conferences.
                                         
                                        When is the next?
                                         
    
                                        I know, it was, was it this year?
                                         
                                        I don't know.
                                         
                                        Or is it last year?
                                         
                                        I know it was basically down the road from the office.
                                         
                                        Yeah, there was one in 2024.
                                         
                                        So last year.
                                         
                                        All right.
                                         
                                        Maybe there's another one this year.
                                         
    
                                        At the Sears Tower.
                                         
                                        Exactly.
                                         
                                        I don't care what this website says.
                                         
                                        No, that's not what it's called.
                                         
                                        No, it is called.
                                         
                                        Now we're to extreme Chicago law here for our, this and the Sears Tower.
                                         
                                        Although I've been also told that we have more than one listener now by many people.
                                         
                                        So we should probably stop three, three or four, I think.
                                         
    
                                        That seems a reasonable approximation.
                                         
                                        Yeah.
                                         
                                        Yeah, that would be good.
                                         
                                        I would definitely enjoy that.
                                         
                                        That would be fun.
                                         
                                        And maybe now that I have half of an empty nest, or is it half full?
                                         
                                        I can't tell.
                                         
                                        I could maybe find a little bit more time to travel and go to some conferences that are not in Chicago.
                                         
    
                                        Well, that would be cool either way.
                                         
                                        But no, I think there's definitely a market for your brand of delivery and content.
                                         
                                        So that would be interesting to see.
                                         
                                        But yeah, so the short answer is you haven't really given a formal presentation, like formal and verticals for since I've known.
                                         
                                        I haven't given a presentation at a conference since.
                                         
                                        2013, which is a very long time ago.
                                         
                                        Yeah, I think 2013.
                                         
                                        Gosh.
                                         
    
                                        This is the most recent one.
                                         
                                        Yeah.
                                         
                                        Yeah.
                                         
                                        And yeah, from my own experience, like the giving a presentation internally is like
                                         
                                        you're, I mean, all of these things are, you are, you're kind of giving a presentation
                                         
                                        to people who are on your side.
                                         
                                        Oh, yeah.
                                         
                                        It's way easier.
                                         
    
                                        And it's also true I've discovered at conferences.
                                         
                                        And maybe that's just.
                                         
                                        because of who I am and it's luck.
                                         
                                        But I think generally speaking, when I go to see somebody, I want to see them succeed.
                                         
                                        I don't go to a conference talk that sounds like, I bet this person doesn't know what the hell they're talking about.
                                         
                                        And then I stand it with my arms folded in the front row, grimacing every time they make a mistake and then put that.
                                         
                                        You know, that's not how it is.
                                         
                                        It's mostly I want you to both entertain and teach me something that I didn't know or make me think about something in a different way.
                                         
    
                                        And so I'm on the side of the presenter.
                                         
                                        though. Yeah. Although I will say that one of the skills that you do have to have speaking at conferences is to be able to deal effectively with people who are essentially trolls. And you don't get that. It depends on the size of the room. Right. Like if you have like a thousand people in a room, you're not going to get that. If you have three people in a room, you're all like doing a lightning talk or something like that. You're probably also not going to get that. It's sort of like that group that's in the middle where you get the one person that, you know, wants to do stuff that's not really helpful for anybody.
                                         
                                        and they're asking you questions, and there is a little bit of an art,
                                         
                                        there's a little bit of an art to just sort of delicately being like,
                                         
                                        well, why don't we talk about this after?
                                         
                                        Yeah, that's the crowd control aspect is a little bit.
                                         
                                        Yeah, and you don't really get that in a, like, office setting, right?
                                         
                                        Like, or if you do, that's.
                                         
    
                                        You could actually talk to someone.
                                         
                                        Yeah, you, there are people there who will be.
                                         
                                        Yeah.
                                         
                                        Yeah, that's interesting.
                                         
                                        Going back to your point, actually, I did think, you know, like, definitely,
                                         
                                        when I practice and I do.
                                         
                                        practice, I'm sure you do as well, but I don't feel like the internal company ones.
                                         
                                        I think that's what I was going to come around to is the fact that like, you know, for a 90-minute
                                         
    
                                        keynote, every time I practice, it's two hours at least because it takes longer to practice because
                                         
                                        I'm taking notes and I'm talking to my darn self in my basement, right? Or I'm sat up here
                                         
                                        staring out into space and pretending that I'm talking to someone or I'm walking the dog,
                                         
                                        honestly, with my headphones in so I don't look completely crazy. So people think I'm talking to
                                         
                                        somebody. And the whole process, you realize, gosh, this
                                         
                                        takes a long time. Right. And, you know, it's the same thing that my kids have with their music
                                         
                                        practices. It's like it's really easy to be good at the beginning because you start at the beginning
                                         
                                        every time and then maybe you run out of time or you realize there's a mistake. And so you start again,
                                         
    
                                        you start from the beginning. And so the beginning is good. And that's a great start, right?
                                         
                                        There's nothing better than standing up on staging. I have the first 30 seconds of this absolutely
                                         
                                        nailed. Now, once you've done that, the nerves start to go. Everything starts to fall into place.
                                         
                                        Everything's good again. But it does mean.
                                         
                                        mean that you start getting towards the end you're like oh this is slightly i can't remember and you know
                                         
                                        it's 90 minutes in potentially you're still talking about these things but it's but yeah i'm just saying
                                         
                                        it's a big investment of time to get something up to the sort of level of polish that one would like
                                         
                                        it to be and then you mentioned about stand up and like you know you say it out loud and like i say
                                         
    
                                        out loud i try and imagine what people are thinking or sometimes i even record them and play them back
                                         
                                        which is awful and you get a sense of like what works what doesn't work and when you start
                                         
                                        of saying stuff, do you like tangle yourself up in, in, in, in, in words and kind of go down a
                                         
                                        rabbit hole and go, okay, note to self, don't start going down that.
                                         
                                        Yeah, because that's a whole other talk and you don't have time for that.
                                         
                                        Mm-hmm.
                                         
                                        That material is not going to play in Peoria.
                                         
                                        No.
                                         
    
                                        What?
                                         
                                        I forget where this is from, but it's just sort of like a guy, I totally forget where
                                         
                                        this is from.
                                         
                                        I'm sure the internet knows, but it's like, uh, this just like comment about stand-up comedy
                                         
                                        routines. It's like, is it going to play in Peoria, meaning it's sort of like, okay, you can you can tell
                                         
                                        that joke in a comedy club in New York and people will laugh. But in the middle of, but if you go on
                                         
                                        tour, is anyone going to actually think it's funny? Got it. Yeah. I kind of got the gist of what
                                         
                                        it was from the context. But yeah, sort of, yeah, as you say it out loud, you kind of get a feel for
                                         
    
                                        it. You kind of build this sort of thing. You rearrange slides, whatever. But one difference with the
                                         
                                        thing you suggested about comedy clubs is that I don't know.
                                         
                                        that if you're in a comedy club and you're standing up on stage doing improv,
                                         
                                        that the audience wants you to succeed necessarily.
                                         
                                        I do when I'm in a comedy club,
                                         
                                        but I've seen people have to put up with the drunk people
                                         
                                        who are just trying to like make a point that you don't look the way that they wanted you to look
                                         
                                        or you're not saying the things that you would like to say.
                                         
    
                                        Yeah, I mean, the incidents of trolls in comedy clubs I would expect to be a little bit higher,
                                         
                                        but I think the fundamental dynamics are the same.
                                         
                                        You go to a comedy club mostly to laugh.
                                         
                                        and laughing is a little infectious and it's sort of like, you know, the more funny something
                                         
                                        is, the more funny it gets kind of stuff. And then there's also the people in the audience who are
                                         
                                        the hecklers. Right. And as we were just talking about, like, that can also happen at conferences.
                                         
                                        I would totally grant that it's less, but it's not zero. It is not zero. Yeah. It's kind of like
                                         
                                        a percentage in both cases. I think, yeah, that's a very, that's a good point. I definitely have had,
                                         
    
                                        I think, yeah, we can both think of examples where people have said things.
                                         
                                        Like, wait a second.
                                         
                                        I don't know this is exactly good faith.
                                         
                                        The complete non sequitur that is just trying to show off how smart they are or just
                                         
                                        trying to derail you or be like, have you read this thing about this thing?
                                         
                                        And it's like, no, I haven't.
                                         
                                        Why?
                                         
                                        Kate Gregory, one of my favorite speakers has this fantastic sort of preamble to her questions
                                         
    
                                        where she goes, remember a question is where you ask something of me and I reply.
                                         
                                        You know, that is basically just reminding people what a question is, which, you know, she's even better nicely better put.
                                         
                                        Oh, my God.
                                         
                                        I'm going to have to go find a recording.
                                         
                                        Yeah.
                                         
                                        She has this thing at the end.
                                         
                                        And it's like, yeah, I mean, and again, I think.
                                         
                                        I'm just going to remind everyone of Kate Gregory's definition of a question.
                                         
    
                                        Yeah, right.
                                         
                                        You ask me something and then I say a response.
                                         
                                        That's how that works.
                                         
                                        Right.
                                         
                                        That's what this is.
                                         
                                        This is not more of a question than a comment.
                                         
                                        You're like, right, more than a comment than a question.
                                         
                                        whatever. Well, then definitionally, not a question. Go away.
                                         
    
                                        Yes.
                                         
                                        We can talk about this afterwards.
                                         
                                        Yeah, the whole like four paragraphs of speech and then, have you thought about that?
                                         
                                        It's like before you said it? No, I hadn't thought about that. I'm not sure that I should.
                                         
                                        But, you know, okay, sure, fine.
                                         
                                        So, yeah, that was my week last week.
                                         
                                        I've got a lot of interesting ideas to look into now this week. You know, that's the thing.
                                         
                                        about conferences, they inspire you and you're like, oh, this is cool. I didn't think of that, right?
                                         
    
                                        So I watched some really cool and interesting talks on how like Intel are writing libraries to do embedded
                                         
                                        software using like the absolute most latest features, most latest, you know, latest features of C++,
                                         
                                        and then they're showing that it can cut down the size of their firmware and make it very,
                                         
                                        you know, declarative instead of like error prone. And that was, that was cool because, you know,
                                         
                                        the received wisdom about embedded software is no, just write it in C and then it's better.
                                         
                                        And you're like, ah, I'm not, so that was fascinating.
                                         
                                        C++ is getting reflection, like proper reflection,
                                         
                                        compile time reflection, and everyone was showing off tricks and tips about how to use it.
                                         
    
                                        And even doing some things with reflection that kind of allow you to take a sort of object-oriented-ish view of an object
                                         
                                        and turn it into a more like a data-driven thing where you've got, instead of like, one,
                                         
                                        So, for example, a particle, right?
                                         
                                        The classic example is, I'd love in my OO world to have a particle,
                                         
                                        which has an X or Y, a velocity and Y, a velocity and Y, a color, and a lifetime.
                                         
                                        And then, you know, that's, I could draw a particle, I can ask it to draw itself,
                                         
                                        all that good stuff, right?
                                         
                                        And the, the, the upside is it's easy to write.
                                         
    
                                        The downside is the performance, it could be better.
                                         
                                        Right.
                                         
                                        Right.
                                         
                                        You're wondering where I was going with that.
                                         
                                        Now you've kind of, no, no, I knew exactly.
                                         
                                        Oh, you did. I wasn't sure.
                                         
                                        That was my first job out of school, actually, is both creating and then fixing that problem.
                                         
                                        But go ahead.
                                         
    
                                        Oh, that's fan.
                                         
                                        Oh, I, yeah, yeah, yeah.
                                         
                                        Maybe that's another episode we could talk about.
                                         
                                        Maybe so.
                                         
                                        I don't know.
                                         
                                        But, yeah, so, you know, that is where you start and it makes a lot of sense, but then CPUs don't like, or compilers certainly aren't necessarily very good at turning that into perfect code.
                                         
                                        It's much better if you can have all of the Xs next to each other than all of the Y is next to each other, all the VXs next to one.
                                         
                                        the VY's next to which I. Then like the CPU can pick up giant slabs of X's and then giant
                                         
    
                                        slabs of VXs and add them all together at once and then stall them back and you're like, wow,
                                         
                                        this is amazing. But it makes you think about it in a very different way. And that's awkward
                                         
                                        because, you know, OO purism says, no, no, it's nice to have a function. The function says,
                                         
                                        you know, X plus equals VX, Y plus equals VY, uh, color, whatever. And the, you know, I think Mike
                                         
                                        Acton gave a presentation probably 15 years ago at CPPCon.
                                         
                                        It's like, I think the most watched CPPCon video where he basically explained the idea of data-oriented design, which, you know, most people who've done any kind of large-scale fluid dynamics or particle stuff have done before.
                                         
                                        Certainly anyone who's been in the games industry, like every particle system I've ever written has just been that way.
                                         
                                        But it was like, no, this is just how you should design your data this way.
                                         
    
                                        And it was much more than I've just said.
                                         
                                        It's about reframing things around the way that data flows as opposed to the sort of conceptions that you put on into your code to make your code look nice.
                                         
                                        It's like no, when code processes data, so the data is primary, not the code that does it.
                                         
                                        And you're like, well, and I can have disagreements with that.
                                         
                                        You and I could have disagreement, but there are definitely times where it makes sense.
                                         
                                        Anyway, with this reflection magic, people have been able to show that you could kind of write it looking and acting for all of intents and purposes like.
                                         
                                        Interesting.
                                         
                                        The sort of structure way, but then have it like auto devolve into sets of arrays, parallel arrays or whatever, and have the relevant transformations happen.
                                         
    
                                        And I was like, this sounds both very cool, but also mildly terrifying because you're starting to make the language rewrite itself as part of the compilation, which I already have certain issues with.
                                         
                                        It's powerful.
                                         
                                        And I think once we get good ways of visualizing it and debugging it and stepping into code that,
                                         
                                        maybe doesn't even exist because the reflection made it come into being by it going,
                                         
                                        oh, you know, I found a field called X and now I'm going to add a function to this class
                                         
                                        called whatever. I don't know. That's where it gets tricky. But that was definitely the vibe
                                         
                                        of the conference was that this is coming. It's pretty interesting to see where C++ is going
                                         
                                        with it. And yeah, I'd forgotten where I was going with this, the thread of it now. But anyway,
                                         
    
                                        I had a great time and I'm excited to give this a go. I want to try it out with some of my emulators
                                         
                                        that have some things that I've been hacking around on
                                         
                                        that could potentially use reflection instead now.
                                         
                                        I would have to imagine,
                                         
                                        and you would know this better than me,
                                         
                                        that reflection in C++ would have a pretty significant impact on tooling,
                                         
                                        both developer tools,
                                         
                                        and also kind of like deployment, configuration, type tooling
                                         
    
                                        where, you know, one of the classic problems is,
                                         
                                        you know,
                                         
                                        introduce a bug in a production
                                         
                                        that actually just lives in a config file
                                         
                                        and somehow people like
                                         
                                        I feel like they're more okay
                                         
                                        with it when really the net effect is the same
                                         
                                        is oh, it's just a config problem. It's like
                                         
    
                                        yeah, but it's still problem, right?
                                         
                                        Yeah, you had the same result. It's just that it was
                                         
                                        in a YAML file instead of a CPP
                                         
                                        file. Right. It's like the same thing.
                                         
                                        Still end up having to write, well, how do we fix this?
                                         
                                        Well, you write tests for it, just like you write anything else
                                         
                                        and you make sure that you test your Yama. Yeah, yeah.
                                         
                                        Yeah. I don't know in that instance. So it is
                                         
    
                                        effectively it's an extension of the way templating works in the compiler at some level, right?
                                         
                                        So it is 100% static.
                                         
                                        So there's no kind of weird poking back in type stuff that you might get from like the Java style of runtime reflection
                                         
                                        where you can do dependency injection in this kind of like exogenous way or maybe even come in
                                         
                                        with a YAML file and like instantiate large swathes of the, of the code.
                                         
                                        So dynamically.
                                         
                                        So I think, I think, yeah, I think we're probably agreeing here.
                                         
                                        Like the, the debugability for me is the bit that I'm most worried about because, yeah,
                                         
    
                                        there is like aspects of this code that don't exist.
                                         
                                        Right.
                                         
                                        Potentially don't exist.
                                         
                                        Now, in the first aspect of it, that's very limited.
                                         
                                        So there's something called Template 4, where I can, like, loop over statically and sort of stamp out copies of a piece of code.
                                         
                                        And I could sort of then loop over the members of this thing, right?
                                         
                                        So I can kind of reflect over the T, the type T that I've got and say, for all public methods, execute this body of code.
                                         
                                        And so you could, like, make it, you know, print F the name of that thing.
                                         
    
                                        And so that means that, yes, you don't see that code, like the literal code that you don't see stamped out, 10 copies, but you can at least read the loop.
                                         
                                        And so it's looping over all the things. So it looks a little bit like it's a loop. It's not really a loop because it's a loop at compile time that it generates this stuff. But you can imagine as the sophistication of that grows, you might end up with pieces of code that are much more complicated that, you know, do more have more far-reaching. And that's where it gets interesting for a start.
                                         
                                        And that's where you can start doing some really clever and cool things.
                                         
                                        But you really would like to be able to like kind of print out the code at that point and say,
                                         
                                        can you just show me what the code is at that point?
                                         
                                        And there are debug techniques where you could do that.
                                         
                                        And at the moment, like in order to actually use those more sophisticated techniques,
                                         
                                        the way that you achieve them is, in fact, to get the C++, go to print out C++ and then you recompile the C++.
                                         
    
                                        So it kind of becomes visible by the very fact that you have to do this intermediate step.
                                         
                                        that's not necessarily a bad thing.
                                         
                                        But it's obviously a bit more awkward, right?
                                         
                                        It's not like more general purpose meta-programming
                                         
                                        where you can write a program that kind of assembles itself
                                         
                                        and then it evals itself in JavaScript to make a new program
                                         
                                        and then you just carry on with it.
                                         
                                        It's like, no, you can't do that yet.
                                         
    
                                        But yeah, maybe that's a feature.
                                         
                                        I don't know.
                                         
                                        Anyway, I'm really lost in the weeds here,
                                         
                                        but it's a fascinating change in the way that C++ is going to be used, I think.
                                         
                                        And certainly just from, you know, the boring boilerplate of like I need to serialize my class that has 10 fields.
                                         
                                        You're like, well, I want to write a debugger that just says print out that object over here in a debug way.
                                         
                                        And it's like, well, for all things, just print out the name of the thing and then print out the thing that it is.
                                         
                                        So, you know, X equals X.
                                         
    
                                        A lot fewer terrible regular expressions being applied to CPP files.
                                         
                                        A lot fewer people rolling their own parsers.
                                         
                                        Exactly.
                                         
                                        Exactly. Exactly. Yeah. And yeah. So there was some cool. There were some other people who presented like tools that they're writing that do some of this stuff as well. And obviously that that, yeah, there was a lot of cool stuff. And so I was pretty like, oh, C++ is alive and well and doing, you know, and thriving, if anything. So that was, that was a pleasant aspect. And it's always nice to hang out with a whole bunch of folks. There were a lot of like new grads or even folks who haven't graduated yet who were attending.
                                         
                                        And I was so excited to meet them and hear how excited they are about it because I'm like, you know, this is great.
                                         
                                        There is fresh blood still coming in and they're interested in the kind of things that I was interested in when I was younger, you know, like hardware and how things really work.
                                         
                                        In fact, one of the questions I got at the closing keynote was, you know, how do we get more people interested in this?
                                         
                                        Are we not going to lose people?
                                         
    
                                        I'm like, I don't think we have to do anything.
                                         
                                        People who are interested in this will find their way.
                                         
                                        And like there are literally two people standing in line for questions who I could point at who were like relatively young, 20 odd, not even graduated yet, who were going to ask questions about like how to do X or it. It just made me feel like, yeah, that people have found their way already. We don't need to go out of our way to it. Well, we make sure that the ground is fertile for them to come stepping into. But we don't have to go and abscond from them off the streets and like point them at it and say, hey, come to this. They find it. And if as long as the.
                                         
                                        community is welcoming, they will find their people.
                                         
                                        Yeah, yeah.
                                         
                                        To maybe tie this back to conferences for a second, you just got to do the Pac-Man thing.
                                         
                                        Yes.
                                         
                                        Right?
                                         
    
                                        Where you have a group, you have a circle of people that are all standing around, and you
                                         
                                        open a space in the circle so that anyone can come in.
                                         
                                        And as soon as they do, then you just repeat that process.
                                         
                                        And you just got to do that.
                                         
                                        It makes a huge difference.
                                         
                                        It is such an important thing to do.
                                         
                                        And I think, yeah, we should probably end on that piece of life advice.
                                         
                                        Because I do this now, even if I'm like a function with my kids like school or whatever.
                                         
    
                                        That's right.
                                         
                                        You end up in that little funny clique of like the four people that you know, yourself included.
                                         
                                        And then before you know it, you've made this sort of impenetrable wall.
                                         
                                        And you know that there is another person in that room who's like looking at the four of you going like, can I?
                                         
                                        No, I shouldn't interrupt them.
                                         
                                        But if you're stood there like a Pac-Man with a big empty gap, they maybe will sidle up.
                                         
                                        And then you'll be like, oh, hi, who are you?
                                         
                                        And then you, as you say, you open the mouth.
                                         
    
                                        a bit wider. And eventually, obviously, you have to kind of
                                         
                                        bud off into multiple things
                                         
                                        and want to some sort of biology metaphor now of
                                         
                                        like, what is it
                                         
                                        called? Mitosis or meiosis?
                                         
                                        Oh, I forget. One of the two.
                                         
                                        Anyway.
                                         
                                        Yeah. Be kind to the
                                         
    
                                        obsessive-compulsive people in your group
                                         
                                        who will be compelled to fill that space
                                         
                                        because they can't do it any
                                         
                                        other way.
                                         
                                        Welcome them in.
                                         
                                        And then be like, I'm sorry, but I have to make another gang.
                                         
                                        Okay, fine.
                                         
                                        That sounds cool.
                                         
    
                                        all right friend
                                         
                                        well we've been chatting away for a lot
                                         
                                        longer than I thought we would because you have very
                                         
                                        kindly listened to me jabber
                                         
                                        about this and
                                         
                                        also that conference talk title
                                         
                                        is just the best oh you're a you're a sweetheart
                                         
                                        thank you Ben yeah
                                         
    
                                        all right well
                                         
                                        I will
                                         
                                        until next time
                                         
                                        speak to you next time yeah
                                         
                                        thank you everyone
                                         
                                        you've been listening to Tew's complement a program
                                         
                                        podcast by Ben Rady and Matt Godbob. Find the show transcript and notes at www.2.2.2's
                                         
                                        complement.complement.comptor. Contact us on Mastodon. We are at twoscomplement at hackyderm.
                                         
    
                                        Our theme music is by inverse phase. Find out more at inversephase.com.
                                         
