Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

John Siracusa

👤 Person
5126 total appearances

Appearances Over Time

Podcast Appearances

Accidental Tech Podcast
624: Do Less Math in Computers

now scroll that one now see does it feel can i can i move can i move the pointer like off the scroll thumb by like if i shake it real fast hmm are they the same but i was like i swear the nsl one is a little bit better and i didn't know what to do with that i'm like well i've re-implemented an nsl and it's fine maybe i'll just leave it like that but guess what nsl is annoying Everyone was right.

Accidental Tech Podcast
624: Do Less Math in Computers

now scroll that one now see does it feel can i can i move can i move the pointer like off the scroll thumb by like if i shake it real fast hmm are they the same but i was like i swear the nsl one is a little bit better and i didn't know what to do with that i'm like well i've re-implemented an nsl and it's fine maybe i'll just leave it like that but guess what nsl is annoying Everyone was right.

Accidental Tech Podcast
624: Do Less Math in Computers

They're like, it makes the code more complicated and annoying. And it's just like, well, but I already did it, but it's kind of gross. Like, what should I do? Like it is better. I wish it wasn't better, but I can tell that it's better. So instead of what I decided to do was spend an entire day trying to figure out why is it better? And I wish I was better at instruments.

Accidental Tech Podcast
624: Do Less Math in Computers

They're like, it makes the code more complicated and annoying. And it's just like, well, but I already did it, but it's kind of gross. Like, what should I do? Like it is better. I wish it wasn't better, but I can tell that it's better. So instead of what I decided to do was spend an entire day trying to figure out why is it better? And I wish I was better at instruments.

Accidental Tech Podcast
624: Do Less Math in Computers

I'm not good at instruments. I've watched all the WWDC sessions. I'm still not good at it. I wish I was better at instruments. If you are good at the performance analysis tools, it makes your life so much easier. I know this from my career with performance analysis tools that I did know how to use. But this is not one of them. So I was just like, I have the code for both of them here.

Accidental Tech Podcast
624: Do Less Math in Computers

I'm not good at instruments. I've watched all the WWDC sessions. I'm still not good at it. I wish I was better at instruments. If you are good at the performance analysis tools, it makes your life so much easier. I know this from my career with performance analysis tools that I did know how to use. But this is not one of them. So I was just like, I have the code for both of them here.

Accidental Tech Podcast
624: Do Less Math in Computers

Surely I can figure out why are you ever so slightly slower than you over here? And so I just went methodically through it and tried to figure out what is making this slower. And I figured it out. Figured out what it was. It was yet another corner of the Swift language that I'm not familiar enough with, combined with the careless mistake.

Accidental Tech Podcast
624: Do Less Math in Computers

Surely I can figure out why are you ever so slightly slower than you over here? And so I just went methodically through it and tried to figure out what is making this slower. And I figured it out. Figured out what it was. It was yet another corner of the Swift language that I'm not familiar enough with, combined with the careless mistake.

Accidental Tech Podcast
624: Do Less Math in Computers

I have a bunch of subclasses, because that's what you do in AppKit. You subclass things. I had this big cascade of subclasses for populating my NS table views. And you guys familiar with the whole like designated initializer thing? Mm-hmm.

Accidental Tech Podcast
624: Do Less Math in Computers

I have a bunch of subclasses, because that's what you do in AppKit. You subclass things. I had this big cascade of subclasses for populating my NS table views. And you guys familiar with the whole like designated initializer thing? Mm-hmm.

Accidental Tech Podcast
624: Do Less Math in Computers

You know, you got to call it designated initializer and you can have convenience initializers that are what you want to do, but you don't get to pick the designated initializers if you're using like, you know, some class that Apple defines. You got to call their initializers, even if they're initialized with some crap that you don't care about.

Accidental Tech Podcast
624: Do Less Math in Computers

You know, you got to call it designated initializer and you can have convenience initializers that are what you want to do, but you don't get to pick the designated initializers if you're using like, you know, some class that Apple defines. You got to call their initializers, even if they're initialized with some crap that you don't care about.

Accidental Tech Podcast
624: Do Less Math in Computers

Anyway, I have this big cascade of initializers and being a dutiful little object-oriented person, I was shoving the common functionality down into the base classes so I don't have to repeat it in every subclass. And one of the things that I had shoved down was setting a very important attribute, the identifier for the object.

Accidental Tech Podcast
624: Do Less Math in Computers

Anyway, I have this big cascade of initializers and being a dutiful little object-oriented person, I was shoving the common functionality down into the base classes so I don't have to repeat it in every subclass. And one of the things that I had shoved down was setting a very important attribute, the identifier for the object.

Accidental Tech Podcast
624: Do Less Math in Computers

And it turns out one of my derived classes was calling through a sequence of inits that never hit the init that set the identifier. It was passed into the constructor and passed down, but it was like, because you have to call the destination initializer sooner than you think, or at least I was calling it sooner than I thought I was, I had skipped over that part.

Accidental Tech Podcast
624: Do Less Math in Computers

And it turns out one of my derived classes was calling through a sequence of inits that never hit the init that set the identifier. It was passed into the constructor and passed down, but it was like, because you have to call the destination initializer sooner than you think, or at least I was calling it sooner than I thought I was, I had skipped over that part.

Accidental Tech Podcast
624: Do Less Math in Computers

So what ended up happening was one of my cells... just a dinky little cell was not getting its identifier set, which meant that every time I needed one of those, it would make me a new one. Oh no. And it was, it was, it was a constant, it was the one with the little eyeball, like the preview thing. Like it's literally the same thing every time. There's no data, right? It's, it's hard coded.

Accidental Tech Podcast
624: Do Less Math in Computers

So what ended up happening was one of my cells... just a dinky little cell was not getting its identifier set, which meant that every time I needed one of those, it would make me a new one. Oh no. And it was, it was, it was a constant, it was the one with the little eyeball, like the preview thing. Like it's literally the same thing every time. There's no data, right? It's, it's hard coded.

Accidental Tech Podcast
624: Do Less Math in Computers

So it was really fast. but not as fast as not making it. So that was it. I, I, I, you know, I set the identifier because I'm already passing identifier. It was there in the constructor. I set the identifier and like the subclass in it, even though it's like duplication and, you know, don't repeat yourself.

Accidental Tech Podcast
624: Do Less Math in Computers

So it was really fast. but not as fast as not making it. So that was it. I, I, I, you know, I set the identifier because I'm already passing identifier. It was there in the constructor. I set the identifier and like the subclass in it, even though it's like duplication and, you know, don't repeat yourself.