Guitar tunings, magsafe, and API constraints - podcast episode cover

Guitar tunings, magsafe, and API constraints

Jun 02, 202529 minEp. 498
--:--
--:--
Listen in podcast apps:
Metacast
Spotify
Youtube
RSS

Summary

Caleb reflects on the frustration of learning guitar songs with custom tunings and relates this to software development. He discusses the importance of working within established constraints and adhering to precedents, much like standard guitar tuning or existing APIs like Blade. Using the MagSafe analogy, he explains how new features should feel like they click seamlessly into place, leading to more usable and stable tools like Livewire and Alpine.

Episode description

The podcaster did not provide a description for this episode.

Transcript

Hey, I got a random thought for you. I'm sitting here thinking about... Oh, I was closing tabs. It's the morning. Nobody's up yet. Closing... browser tabs before like starting my day from the previous day and i notice an andy mckee actually let's see here i think you can actually hear this let's just play it for you Ready for this? We won't play the whole thing. Just, you know, give it a second. Come on, Andy. Get with it.

All right, it's a nice song, right? So this is Andy McKee. He's an acoustic guitar player. He doesn't sing or anything. He has another song that's really popular called Drifting.

was like a viral youtube video a long long time ago because he does like a ton of like neck slapping and finger tapping and you know when you use your guitar as like a percussive instrument kind of thing anyway i've always really liked this guy all of his music it's so good um so whatever he's been like a kind of acoustic guitar idol for me

And every time I pick up an acoustic guitar, I hear this song. Like, that beginning there. Like, I just want to play it, you know? And I've learned a few of his songs in the past. I think I probably even learned this one at some point.

but i've forgotten all of them they're all really intricate and like right at like the peak of my ability um and i don't play him as well as he does obviously but anyway um so i pick up the guitar i go this is yesterday i'm waiting for like claude to do something or no cursor so i pick the guitar and i go to play

The song, you know, and I just kind of noodle in China fans like, you know, let's just look at the tab for it I never do this anymore. Like let's just do it So I look at the tab for it. It's kind of confusing to me. I go I google it to find a different tab link

and i find a link to his website where he's selling the tab for three bucks and i'm like sold done whatever let's do it so i pay three bucks i get this tab and i go ah crap It's a weird tuning, so I have to tune two of the strings a whole step down, and then it's a partial capo. so you know what a capo is that clamp that people put on the guitar neck to like change the the key of their guitar kind of

Well, he's doing this, but he's only doing it on four strings. And if you know what capos look like or have used a capo, you can picture that they don't love being applied partially. so that's kind of hard to do you can like just barely i can suspend it in the neck like to make it work all of this to say i'm closing the tab this morning and i'm going oh that's a bummer

Because I'm like, am I going to learn this thing? I already paid the three bucks. Am I going to learn the song? And then I thought, no, I'm not going to learn it. I'm not going to learn it because it's not standard tuning. And I thought, why doesn't he do standard tuning? He's got some invented tuning. And plenty of guitars do this, mostly acoustic guitar folks, like people making music for you to listen to purely, you know, without vocal. You get what I'm saying. It's early.

Yeah, so people do this, but it really prohibits my ability to pick up a guitar and play it or switch, you know, just like... if i'm at a campfire or something i can't just start playing this song without detuning my guitar and then putting a capo on it partially it's like

That's not it. And I can't borrow somebody's guitar and play it. There's some other songs that I feel this way about. One of them, interestingly, is we're going to get to software, by the way. Did you know that this is a segue? But Boney Bear, one of my favorite Boney Bear songs is Holocene. And it's gorgeous. We have Spotify here. So let's search Holocene. All right, you listening to this? If you've never heard this song, go check it out. This album is really, really great.

so you hear that guitar is kind of ephemeral it's i don't know it's nice the mix is really nice too um anyway i wanted to learn that song because i love it and i learned that This song, you can actually play in standard guitar tuning, but it's tuned, I think two of the strings or three of the strings are tuned like, maybe it's just one string is tuned an octave up or something.

I don't even remember. You can do something to your guitar where you play it and expect normal sounds and then these sounds come out. These kind of really nice, pretty sounds. It's really fun. to do. Maybe two strings are inverted, I think. I don't remember. But anyway, it's very cool and it's a very simple song to play. You literally put your fingers in like the C shape, the C chord, like the first chord like anybody ever learns.

the c chord and you just pluck it in this pattern but because you tuned it weird it sounds just like boni ver and it's pretty cool so anyway um That's a lot of fun on a guitar, and let me just throw out one more there for you. Jacob Collier, you know that guy? He's awesome. He got into guitar for his last album. What are those albums called? I can't think. I'm still cooking the tea here. I can't think of what it's called. The something.

You know. You know the latest Jacob Collier album. It's great. You should check it out. He got into guitar for this. He's never really played guitar. He's an instrumentalist. Multi.

Talented, faceted, multi-instrumentalist, whatever. So he picks up guitar and it didn't work with his brain for a few reasons. I think because the strings go up by... thirds and not fifths or something and he wanted it to go up by fifths because it matched his brain that's a mandolin does that um anyway he he wanted a better guitar so he invented one He invented a guitar that has and they ship this like I think you can buy this like let's search

Jacob Collier. If you've never listened to this guy, you really should check him out. Go on YouTube and check out Jacob Collier. Okay, so there's a video on Paul David's channel. He's a guitar YouTuber.

called How Jacob Collier Reinvented the Guitar. It's really cool. It's a five string guitar instead of six strings. So yeah, Taylor... produce this form you can get it for three thousand bucks there's five strings instead of six strings and and it's uh let's see so the tuning is d-a-e-a-d isn't that weird it's crazy

Look at that. There's only three notes in the entire neck. So probably when he plays it open, he's, you know, I should be able to do that. But he is playing, is that a D chord? What's a third up from D? I don't know. Math.

this is why i want music to be taught in numbers so i could just see like one three five one three it's probably just an open chord i don't know maybe not anyway you get it um and you see him play this thing and he's great at it and it's beautiful sounding and it's like he walks you through it and you go oh this is what the guitar should be but instead it's this weird six string

You know, like if you strum an open guitar, it's not pretty. You know, you got to put your fingers on it somewhere to make it pretty. Anyway, so what are we talking about here? We're talking about guitar tuning and we're talking about how it reminded me of software in this way. So I want it to be in standard tuning. Why do I want it to be in standard tuning? Because it's an agreed upon default. That's what it is. It's an agreed upon default. It's a precedent.

and it's a constraint that's my style um i like those things because i've seen the value in them um yeah you can do crazy things going off script if you there's there is value and power and it's interesting and it's sometimes i'll do like an open d tuning and play like you know the handful of songs that that i know that use open d

Um, and that's fun, but yeah, you could reinvent anything. It's, it's something that you assume is set in stone, but then, cause nobody, nobody custom tunes a piano, you know, nobody does that. Um, but people do it on the guitar all the time and that's pretty cool and makes for like a very relative instrument, you know, that's, it's very cool. Nobody's.

custom tuning a flute you know i don't think flautists are drilling holes in their flute to get different tuning so that they can have more convenient finger positions or more interesting sounds But anyhow, that is the guitar. And similarly with software, there are things, there's a lot of things that I want to accomplish and are like a lot of ways I want to program things.

And I'm thinking a lot about this because I'm working on Livewire lately and trying to mostly reimagine things. I'm trying to solve a few specific problems and I'm allowing myself to tune the guitar in custom ways. just to see how it shakes out, you know? And there's a part of me that wants to just double down and make a version of LiveWire that is 100%.

like fundamentally different than other versions and but here's the problem it would be for the the guitar heads it would be for the live wire heads it would massively restrict the amount of people willing to adopt it, and... it would be you know it's kind of so it's important to act without constraints when you're in the exploration phase but then once you go and you discover some of those things you have to apply the constraints back

because it's the constraints you know i mean i've talked about this before this concept of constraints this is a common concept in like art i guess but it's it's very powerful to me where's the tea um all right classic by lin gong fu golden monkey black tea of footing how's that sound spring 2024 let's um Let's dose this. We're going to put in, what do you say, three grams? I feel like a drug dealer. Got a dub sack of...

Golden monkey. That's funny. It's like a pineapple express guy. Buying an eighth of golden monkey. You want the fudding?

type that'll be an extra 20 bucks what season is this all right so constraints are valuable when making art um yeah when being creative not actually art my sort of useful definition of art for myself it doesn't actually matter to define it i don't think because i think people's attempts to define it is often to gatekeep it in some way and to say that something is not art or to say something is art that people wouldn't expect it to be i don't know but anyway i think art is is

Maybe the most fundamental component of art is the goal being expression. And this idea of constraints isn't necessarily unique. to things made as a form of expression. It's important and unique to creative pursuits, whatever they are. Even if they have nothing to do with expression and you're refinishing an attic for a client, there's, you know, constraints bring out. Yeah, creativity is too without constraints. Without constraints? I don't know. I could talk about constraints for too long.

so let's move past that because that's not why we're here we're here to talk about custom guitar tunings and how it applies to livewire um so yeah constraints are important and they're wonderful And the standard guitar tuning is a constraint. Similarly, when I'm working on live wire, blade is a constraint. You know, there are plenty of areas that I would love to do very custom things.

But I treat it as a constraint. And I sort of take up the mantle from what I've, I haven't talked to him about this ever, but what I observe from Taylor. in the wild is that he uses the same constraint and he you know blade is a story of honoring the past and doing interesting things moving forward but still building on what was on a foundation that's existed since the dawn of Laravel, of artisan kind. And it's a beautiful system in that way, to me.

Because I think if I were him, I would have tried to rewrite it 10 times. It's an elegant templating language. It's an elegant system. Actually, I don't care as much about the templating language, although that is elegant too, in a sense. Yeah. So... Taylor and blade and Caleb and this podcast. So yeah, it's a constraint to work within the confines of liveware version three.

and the apis that you are familiar with and that your app uses and livewire does that with blade and laravel itself it's like the constraint is how can we use apis that already exist so that we don't have to create anything new for anybody to learn we can just use and leverage existing knowledge and existing tools and very very very occasionally adding a new api but that api has to meet all these other constraints like

ideally if it's a wire colon attribute it's a single word and doesn't use modifiers when it needs to whatever there's all these constraints um And that there's so many constraints that I feel like I can't add anything anymore to live wire because I have so many constraints. And that's where I've been for months now is. Trying to add things to livewire. And not... I wrecked it. I wrecked it. I gotta pour it out. Man. Rookie move.

You're distracting me. I just poured scalding hot tea on my iPhone as well, by the way. 203 degree tea. Hot water, I should say. Still works. it's okay all right so yeah so live wire this constraint and you know this show was supposed to be called morning tea i renamed it morning tea for a little bit remember that

Were you around for that? For morning tea? Were you around when this show was building Live Warrior? Was literally what this podcast was called. It's the same RSS feed. You remember? Nice. So... Yeah, this is still building live wire and morning tea episode. We're not going to oversteep it this time. We're going to pour it right away. So, yeah. So, I... The way that I am, I'm committed to, you know what? It's a useful thing because usefulness matters to me. I'll be able, if I learn a song.

that's really really beautiful and clever and actually the air the phase of guitar life that i'm in is like geriatric like i i play for to hear the music i don't play i don't perform for anybody i barely jam with anybody i almost never learn anything new i just sort of um improvise like uh you know just plucking around when i'm listening to music or i just play chords um off the dome to other music um so it's not actually that interesting anymore

So to learn a song is kind of a big deal to actually do it like I used to do it, you know, where you sit down and you figure it out and you do it, you know, note by note and learn it and train your fingers and practice it. So I'm not going to do that just so you know. But for the sake of this episode, let's pretend that I did for a minute. I put in all that work. If it's in a custom tuning, poof, gone. Gone for a few reasons.

Like I said before, I'm not going to be able to pull it out at a party. I'm not going to be able to easily tune my guitar into that tuning. So I'm lazy. I'm not going to get it back into it like that. And yeah, so it's... This is the sort of same spirit as the software that I write is, you know what? And I've been talking to John Coster. I think it's Coster. I might be saying that like a Buffalonian though. Coster, no Coster.

he's doing all that blade work he's he's built um dagger he's working on a new thing and he's doing great work and i think it's it's great that somebody's geeking out on blade um And he's sort of been tweeting about that. We've been talking about it as well, but I'm allowed to talk about it because he's been tweeting about it. This kind of going back and forth between is as the work that I'm doing is the things that I'm building.

If I remove the constraints and fly free, then I can do a lot of interesting things. But who's going to adopt it? You know, if it's this custom blade, are you going to adopt a custom blade rendering engine in your app? No way. Not unless it's sanctioned by the Laravel government or it's invisible.

in a package and the people building it are dedicated to keeping it invisible you're not there's no way that you're gonna have to you know there's no world where you're gonna install some and i'm speaking to john i'm all speaking to myself because these are things that i've been tempted to do recently there's no world where you're gonna you know composer require laravel slash or whatever you know uh sword you know it's like oh yeah this app uses and then you're

the code maybe you convince your co-workers to do it but then the people come in here what the heck they're using this custom place this isn't native play and now and now this new version of x doesn't support all and they didn't backport for this new blade temp or directive or something it's stupid you know this is that's what that's a custom tuning you stick with the standard tuning you stick with the blade you stick with the precedent set out you stick with with with the

with the bed you made for yourself. And hopefully, hopefully you didn't paint yourself. I'm sorry to make so many metaphors. Hopefully you didn't. The whole thing is not painting yourself into corners. That's why I've been historically slow. to basically every decision in my entire life but especially in liveware and alpine or whatever it's just like you know every i don't often default to yes

Because you paint yourself into a corner with yes. You know? Then you end up in a situation where you just feel shackled by all the historic yeses. But... You say yes to things that click right in. They just slot right in. They go click, like MagSafe. They just go, that fits. That fits perfect because precedent matters a lot.

I use that word a lot when I'm brainstorming Laravel LiveWare things or talking about merging or closing pull requests. It's a lot about precedent. It's like when we're talking about new APIs.

um josh knows this big time it's like i'm really really i care a lot about precedents like if you're trying to justify an addition to me show me the precedent for it even if it's not just in live wire if it's like it's also valid well this is something that exists named wire models or something there's a press i didn't add that i would love to add that i should add that as a note here Wouldn't that be fun? So precedent, um, president, no, there's a precedent for that in view.

So if somebody said, let's add named wire models so that we can name them and have multiple wire models on a single element or something, and I'd be like, well, we can do that, but, you know. Like, is that the right API for that? Is that obvious to people? Whatever. But it's like, nope, there's a view precedent for it. Okay, great. Perfect. Sold. Now there's an API we can adhere to.

so that there's no surprises and it's more this is what i would expect when you adhere to precedent it's people saying this is what i would expect and yeah it's magsafe it's magsafe baby new features have to be magsafe They can't be USB ports, USB-A, whatever. They can't be something like that, that you have to shove into a thing, you know?

It's got to be MagSafe. And I'm thinking about, so I've had kind of a revelation over the weekend about... the future of live wire and like a and it's the form that it comes don't get excited it's coming in a a feature that has been well demanded and thought through and simple it's not nothing paradigm shifting and a feature that i was really hesitant to adopt for a long time but Now that I've gone to hell and back, I think I'm realizing this feature is maybe going to be my savior.

the revelation now now things are starting to click that's how you know it's what we've talked about this with refactoring it's how you know when a refactoring is working it's when things start to magsafe i like that magsafe When things start to MagSafe, that's a quality of a thing. Or a verb, I guess. And it's the same thing with API decisions, with a lot of decisions. But I mean, this is what I'm specifically talking about. It's like, oh, this is MagSafing. All the other things that I want.

you know this is fixing other problems this is this is slotting right in there's no questions here there's no this that or the other thing it's like no this is it this is perfect How will people expect you? Oh, they'll know exactly what to do with this. They'll be able to intuit this. They won't need to even look this up. And there you know you're on to something where I've just been in the desert.

just searching for things and finding them and going this won't fit this other thing this will work for this thing but what about this thing yeah anyway so anyway from that came that oh the art here the art of building something and i the art of building something that is um you know insert compliment to livewire here but

I'd say this is true for any of the things that I build. They have a quality of being fairly committed to backwards compatibility, being fairly, very stable over time in terms of how much they change in their API and everything. Um, and being internally consistent, I would say on an API surface level, let's say these are some qualities that I'm committed to. And I take this from the people that I take inspiration from like, I mean, even having you, well.

yeah taylor and adam you know laravel tailwind um these are two tools that do this and i admire that and i want to be a part of that legacy it's funny because i see it that way i don't think they see it that way but that's the way that i see it and um so to do that this is how you do that This is how you create a tool that feels harmonious and stable and long-term and usable. You don't have to be a genius. You don't have to be able to think of all the right things.

You just have to be willing to say no to all the wrong things. So there's so, so, so many times where whether it's a specific person or myself. are so tempted to give in to a feature and to say okay we'll add it solves the problem when you hear things like that when you hear things like well it solves the problem

Or solves this problem for a lot of people. Then we can just move on with their lives. Things like that. These are concessions. And too many of these. And you hate yourself. You hate your tool. And you hate yourself. so really what it is is it's a willingness to say no but it's more than just that it's like a willingness to say no when you don't have a good answer and you might not have a good answer for years

It might not be the best strategic thing, but if you have, you generally, you probably, if you've done this for any amount of time, you probably have evidence that you will find an answer eventually. So you just wait for it, you know? Anyway. This was about guitar tunings. Be seeing you.

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast