The Woodpecker
Marco:
Given your musical taste, I bet you'll like Coldplay.
Casey:
I do like Coldplay.
Casey:
I prefer Radiohead, but I like Coldplay.
Casey:
I prefer Energy.
Casey:
What?
Casey:
That's probably a perfectly reasonable joke that I just did not get.
Casey:
No, you got it.
Casey:
So, John, tell us about the Fountain format.
John:
Yeah, we mentioned this in the show where we talked about script notes.
John:
Fountain is that markdown-like format that you use to write screenplays.
John:
And the time that we brought up the second time, I said it was invented by John August, and someone tweeted me to just clarify.
John:
It was created by John August, Nima Yousefi, and Stu Meshwitz.
John:
So three people created it, not just John August.
John:
Don't want to just give credit to the one guy who happens to have a podcast that we listened to and talked about.
John:
and are still talking about there you go you know i mean like this is the thing about the correction that that's small like i think it's worth correcting but like you have no place to correct for it except in the follow-up so like if i just tweet about it and i have to rely on everyone who listens to the podcast also following me on twitter so the correction has to go on the podcast no way around it usually follow this this minuscule i exclude but i think crediting is worth putting in all right so uh software complexity
John:
Do you guys remember what I said about software complexity last week?
John:
It was second only to parenting?
John:
Something like that.
John:
As always, I re-listen to the show.
John:
I want to make sure that I remember what I said, but of course I re-listened to the show so long ago that I've since forgotten.
John:
But I personally got a lot of feedback about this.
John:
I don't know if all of you guys did.
John:
Did it come through the feedback form?
John:
A little bit came through the feedback form, but I got a lot of tweets, a lot of snarky, angry, and questioning tweets.
Casey:
Oh, that's right.
Casey:
Because I saw Dr. Drang call you out on it.
Casey:
And you said that you would correct him in my words, not yours.
Casey:
You said you would correct him in the next episode.
Casey:
And I'd forgotten about that.
Casey:
And I'm very excited to hear where this is going.
John:
Yeah, so it was like an off-end comment, something to the effect that software is the most complex thing made by humans or something similar like that.
John:
And I threw in parenting at the end as a joke.
John:
And it was imprecisely worded because I thought I was referring to an idea that everybody knew.
John:
Like I was referencing something that was shared knowledge with me and the audience.
John:
And we all knew about it and most of us probably agreed so I could just, you know...
John:
say something vague and be like oh he's referring to that idea and then let's put the joke about parenting at the end you know ha whatever um but that like that was not an expression not a complete expression of what i meant which is it's not surprising to me that so many people heard that and misinterpreted it because if they don't know what the heck i'm talking about it the words i said were not essentially what i meant uh so
John:
did you well you saw dr drang being angry about it but what did you guys think i meant or think i was referring to or did you know what i was referring to i did not i thought you were being genuine i didn't think you were being i thought you were being playfully snarky like you were you were trolling in in a in a not jerky way in a haha funny way you're gonna make me go off on a tangent about the the definition of trolling because people use
John:
I have a fairly precise definition of trolling, which is intentionally saying something you don't believe to get a rise out of people.
John:
That was not what I was doing.
John:
Uh, people use trolling to mean just like saying something that gets people angry.
John:
But if you really believe it, you're not trolling.
John:
You are expressing your actual, anyway, forget about trolling.
John:
Um, so here's what I was referring to.
John:
I think I can sum it up reasonably concisely and then just like ramble a lot at the end until everyone's sick of it.
John:
This is this topic.
John:
Um,
John:
And I had to look this up because it was another thing that I just assume everybody knows, but they don't like a saying that I can remember seeing like for decades.
John:
I don't know where it came from.
John:
When I Googled for it, I got it attributed to some name, but not a timestamp.
John:
But...
John:
The last place I can be sure I remember seeing it or the first place I can be sure I remember seeing is on Usenet and signatures.
John:
Like it was in everybody's dot sig.
John:
Kids, ask your parents what a dot sig is.
John:
And it's this thing.
John:
And you can tell me if you've heard this before.
John:
If builders built buildings the way programmers write programs, the first woodpecker that came along would destroy civilization.
John:
Have you heard that one before?
John:
No.
John:
Very popular saying back in the early days of the internet.
John:
Lots of .sigs.
John:
I'm sure it predates the internet because programming certainly does.
John:
I found it credited to Gerald Weinberg, but I don't know if that's accurate.
John:
I only did five minutes of looking that up because I'm not supposed to do any research.
John:
All right, so... Good boy.
John:
So this is the... That saying, what it's trying to get at is like the first premise behind the idea that I'm getting at is that software has more problems than other seemingly similar things, like other forms of engineering and construction and stuff like that.
John:
That's what they're saying.
John:
It's like, well, the people who build buildings, if they were as crappy as programmers, woodpeckers would destroy civilization.
John:
That's idea number one.
John:
Like, there are always...
John:
bugs in software, and sometimes they're super really serious bugs, not just minor ones.
John:
And even software written by the very best programmers, the very best practitioners in the entire field, those have big problems too, right?
John:
And I think everyone can agree on that.
John:
If you write software living, you know bugs are a fact of life.
John:
It's not as if, oh, when I get really good at programming, I'll stop writing bugs.
John:
That never ever happens.
John:
Actually, your bugs become harder to find.
John:
Yeah.
John:
Right.
John:
And that the quality of software, I think we would all agree, like, that saying is funny about the woodpecker destroying civilization, because there is not just a grain of truth, but a serious amount of truth behind that.
John:
They're like...
John:
People in other professions that seem similar certainly seem a hell of a lot more competent, like the average is better.
John:
And in programming in particular, there's not like no matter how good you are, you're never you're never going to achieve a level of competence that, you know, that's even close to the average of these other professions.
John:
All right.
John:
So the second premise of behind the idea that I was referring to is that assuming you agree with the first one, this is another big chain of things.
John:
Like if you disagree with me at any point, they're not going to all connect.
John:
You have to kind of like if you have to kind of follow the whole chain.
John:
And if you disagree at any point, well, then oh, well.
John:
So but if you agree with that first bit, the second bit is.
John:
The first bit about software being crappier and the woodpecker thing, it's not because software developers are dumb or lazy.
John:
It's not because we haven't thought about programming.
John:
It's not because people haven't tried to figure out better ways we might be able to program.
John:
It's not because programming is super young.
John:
We've been doing this for decades, and something that I think most programmers and most other people would agree with is that
John:
this nature of software that is discussed that have been crappy with other things is because software is different than those other things, not because of any lack of effort or knowledge or skill or, or, you know, because, because programmers are stupid or anything like that.
John:
We've had decades and decades of research and hard work, and they have not really led to any big reduction in sort of the number of bugs per line of code or whatever, whatever stat you want to put up like a programmer today versus a programmer writing something on punch cards.
John:
error rate wise are probably pretty similar like and we've and it's not for lack of trying it's not like we well we've never really put any effort in trying to figure out how to write software better no we put a lot of effort into it and it's it seems i'm not going to say it's intractable but so far we haven't cracked it um
John:
And like the Fred Brooks things that I mentioned in the last show, you know, the mythical man month, how adding manpower to a late project makes it later.
John:
That is not true of, you know, building a bridge.
John:
If you double your manpower, you can probably build a bridge faster or, you know, anything, any sort of more scalable physical endeavor or building a skyscraper.
John:
You've got one guy building your skyscraper.
John:
Boy, it's going to take forever.
John:
If you're running late, if you add more construction workers up to a point, obviously, I mean,
John:
But like this, the mystical man month is famous because it's such a counterintuitive finding for software in particular.
John:
And, you know, Fred Brooks, again, with no silver bullet, the mythical man month was 1975.
John:
No silver bullet was 1986.
John:
Programming has been around since, you know, in its sort of modern form since the 50s, 60s.
John:
Right.
Yeah.
John:
So these are people trying to research what we can do to get better.
John:
No silver bullet was that we've looked into this and it doesn't seem to be anything we can do that will really make us better programmers by like an order of magnitude used in the correct sense for all the people who are pedantically correcting Casey about that.
John:
And these two sort of seminal works in the in the world in the software field are fairly old.
John:
And I think most people accept them that like that.
John:
this, this all comes to together as like programming is for some reason, we're really crappy at it.
John:
Uh, we can't figure out how to get that much better.
John:
And it's not for lack of trying.
John:
Um,
John:
And so that's that's where I'm coming from in this.
John:
And there's lots of silly misinterpretations of what I said, which are probably accurate if you were to look at the words, but like should have been dismissed.
John:
This is something when you listen to somebody like give them the benefit of the doubt.
John:
Assume they're not like really dumb, because it's always easy to say, aha, the exact words you said would only make sense if you meant, you know.
John:
mean this and that's a stupid idea instead of saying well you must not have meant the stupid idea you must have meant something else anyway it's not their fault it's my fault for saying the wrong thing but silly misinterpretations that i'd like to uh dissuade people from now is one that programmers have the hardest profession in the world that's obviously silly pretty much any other job in the universe is harder than than programming at least like physically and emotionally like it's very hard to think of a profession that is easier than programming maybe you could think of something that might be easier mentally but that really depends on what kind of
John:
uh mental state you have if you have the type of brain that eats itself if it isn't giving something to do then actually being a checkout clerk is harder mentally than being a programmer uh but you know any any job is harder physically almost all jobs are harder emotionally like it's trivial to think of a harder job so that's not what i meant
John:
software is the most complex thing in the world uh that is obviously also silly um but there is there's some nuance that i'll get to in a bit but like for just to give an easy example the human body is obviously more complicated than any software we will probably ever write uh and people deal with the human body all the time in many forms not just doctors and all that other stuff um so here's what i did mean based on all those premises that i just described uh about software being the most complex things made by human um
John:
Well, I guess one more sort of foundational thing that you have to understand and agree with me with is that software is written on top of an abstraction.
John:
And that abstraction is what we call the hardware.
John:
And it's an engineering task to make that hardware.
John:
So like someone somewhere is responsible for making essentially a machine with chips or transistors or whatever that provides an abstraction that lets software work in the world of ones and zeros.
John:
It's the hardware's job to figure out the ones and zeros.
John:
You know, completely on, completely off, transistor, CPUs, clocks, you know, phase loops, power supplies, all that stuff, that's running hardware.
John:
That is all to make an abstraction where it's like, okay, from this level up, it's ones and zeros.
John:
Sometimes that abstraction is leaky to use Joel parlance.
John:
But that's not what we're talking about when we're talking about bugs.
John:
If only most of our bugs were attributable to hardware problems where the ones and zeros break down.
John:
Like, that is not what causes most of our software bugs.
John:
The hardware, for the most part, does a really amazing job of maintaining that ones and zeros abstraction.
John:
And our software bugs are not caused by that abstraction leaking, are not caused by, oh, a one accidentally flipped to a zero, and that's what caused the bug.
John:
No.
John:
What caused the bug in your program was you writing bad code.
John:
There are hardware bugs, but that's not what we're talking about almost all the time.
John:
In fact, it's so novel when it's a hardware bug.
John:
It's like an exciting story, right?
John:
Whereas if you just make a software bug, it happens every day.
John:
And above that ones and zeros layer, we human beings, we software people are responsible for everything.
John:
And that's not to say that we have to write everything ourselves because you have libraries and OSs and frameworks.
John:
Like we've built up this gigantic tower of stuff on top of those ones and zeros.
John:
But there is an expectation, and I think it's a founded expectation, that every single thing in this giant tower of crap that we've built is understandable to a programmer.
John:
The idea that software is, for the most part, pretty much nearly 100% knowable by humans.
John:
Doesn't mean they have it all in their head.
John:
Doesn't mean any human being fits the entire, like, knows every single thing that's happening in the program.
John:
But it is knowable and understandable.
John:
If you want to look up what's happening, you can find out.
John:
All the way down to getting, like, the manual for the CPU and figuring out what the machine code is and disassembling it.
John:
Like, it is knowable.
John:
doesn't mean you know it but it means like the only thing stopping you from figuring it out like if you have some super hard bug and you keep digging down down down eventually you're going to get down to ones and zeros and those ones and zeros are knowable you know casey would know or any other done person who's done ee or any type of thing where you build a cpu up from logic gates first you learn how transistor works then you learn how logic gate works now you're into the world of ones and zeros and you can very easily build a cpu from those logic gates and work your way up it's knowable from top to bottom every single piece because we're building on top of these ones and zeros
John:
Now, I mentioned the human body before, which is way more complicated than any program.
John:
But humans don't create the human body, not in the way I'm about to describe.
John:
Obviously, we do, but not like assembling at a piece at a time.
John:
So let's think about something like a bridge, right?
John:
A bridge is also more complicated than any program we will ever write.
John:
In fact, bridges are so complicated that we can't even like reason about them.
John:
as they are we have to use approximations and models and stuff like that to figure out whether they're going to work right everything we do in that type of engineering has to be based on these models that are not reality but they're hopefully close enough and we refine them and do everything like that because they're they're fiendishly complicated um that's another thing people think oh you know you're saying computer programs are so complicated well what about a bridge like a pencil is more complicated than a computer program uh if you look at it at the atomic level um
John:
So I think we can all agree that bridges are generally more reliable than software, like actual bridges, like bridges fall down, dropping the cars into the ocean much less often than software just totally craps the bed and does the equivalent.
John:
And granted, we've been building bridges for a long time, but I don't think the head start really explains this because of, you know, the acceleration of technological advancement.
John:
So the analogy I would say is like programming is like having to assemble a bridge starting from subatomic particles.
John:
And you're not allowed to know the current laws of physics and use them as a reference.
John:
You have to invent everything.
John:
Right.
John:
And so you'd you'd build on the equivalent of libraries and frameworks, the equivalents of library and frameworks in the bridge world would be like, well, what if there's a bug in the gravity library?
John:
What if the guy who wrote the steel molecule framework left some corner case unchecked, and at some point all the steel will turn to liquid at room temperature if a certain kind of car travels over the bridge?
John:
That's what we're doing in the world of software, and it's because the entire stack is both created by humans and knowable by humans.
John:
There is no sort of like, well, that's the way things work and we'll build models to, you know, to sort of approximate what's going on.
John:
And using these heuristics, we can come up with something reliable.
John:
Every single piece of it from the top of the bottom is noble and changeable by the programmers.
John:
And so these things, when I say software is the most complicated thing created by a human, I guess maybe more accurate to say software is the most complicated thing wholly created by a human because it is wholly artificial.
John:
Like once you get above the ones and zeros,
John:
All that once in zero is us.
John:
And there are no rules except the rules we make.
John:
There is no gravity.
John:
There's no laws of physics.
John:
There's no physical properties.
John:
There's nothing.
John:
There is only what we make of it.
John:
Every single layer of that layer cake has bugs and nuances that...
John:
are knowable to us but are not known to us.
John:
And so, you know, the higher we build, the more chance there is that we don't understand something about Coco that we think we understand and this thing ends up being, like, unallocated in the time we tried to access it.
John:
Or there's a bug in the Coco library and it's revealed in some very strange corner case.
John:
Like, I'm not saying all bugs are due to bugs in frameworks and everything, but, like, there's turtles all the way down.
John:
It's all humans writing programs, you know, that are knowable but unknown.
John:
And that's the world we're living in.
John:
And that, I think, is...
John:
describes the unique nature of software as being the most complicated thing that we make from top to bottom because it is completely artificial uh the human body is not knowable because it's way too complicated but we're we don't make it we you know we're not responsible for it no one expects you to know can you tell me what the electron in this atom and this person's eyeball is doing right now of course not but if someone asks you can you tell me when this value is going to change
John:
A, you can actually tell them, and B, you should understand why that's happening.
John:
And if you had a bug related to that little electron, you should be able to figure it out.
John:
So I don't know if this is convincing as I keep piling on the assumptions.
John:
I think most people will agree that software is bad and that it's not bad because programmers are lazy.
John:
But I think most programmers will agree that...
John:
The unique nature of software is essentially that it is really complicated in the realm of things that we make ourselves.
John:
And every single part of us, every single part of it is created by us and in theory, noble, noble by us.
Marco:
We are sponsored this week by our friends at Squarespace, the all-in-one platform that makes it fast and easy to create your own professional website or online portfolio.
Marco:
For a free trial and 10% off, go to squarespace.com and use offer code CRITICAL.
Marco:
Squarespace is constantly improving their platform with new features, new designs, and even better support.
Marco:
They have beautiful designs for you to start with and all the style options you need to create a unique website for you or your business.
Marco:
You can start with over 20 highly customizable templates that have won numerous design awards.
Marco:
And then you can modify those.
Marco:
You can inject code.
Marco:
You can use graphical adjustments.
Marco:
Any possible thing you can think of to change these things with CSS or custom field values and everything else, you can do all that stuff.
Marco:
Very, very easy to use.
Marco:
If you need any help with this, though, they have an amazing support team that works 24 hours a day, seven days a week, with over 70 employees working full-time right here in New York City.
Marco:
Squarespace starts at just $8 a month, and it includes a free domain name if you sign up for a whole year up front.
Marco:
And every design not only is very customizable, but it also has a responsive mobile interface.
Marco:
So your site looks like your site on any device.
Marco:
You can connect to your social accounts, Twitter, Facebook, LinkedIn, Pinterest, Instagram, Google, many more web and social services.
Marco:
They also have commerce functionality.
Marco:
You can build an entire e-commerce store right into your Squarespace site.
Marco:
Comes free with every plan, you know, no additional charge.
Marco:
So go to squarespace.com today.
Marco:
Start a free trial.
Marco:
And that's a free trial with no credit card required.
Marco:
A genuine free trial.
Marco:
Start building your website.
Marco:
See if you like it.
Marco:
For a free trial and 10% off, go to squarespace.com and use offer code CRITICAL.
Marco:
Thanks a lot to Squarespace for sponsoring our show once again.
John:
Now you guys want to get off this topic, but I want to at least get both of your take on this realm, assuming you care.
John:
I don't.
John:
Casey?
Casey:
I sort of do.
Casey:
So as someone who claims to be an engineer, which is to say I went through an engineering program at a relatively large university, I feel like I can be extremely snobby about engineers versus non-engineers.
Casey:
For example, I think that Marco got an inferior education simply because his education was in computer science and not computer engineering.
John:
I wouldn't call it inferior.
John:
I would just say that as someone who also has an engineering degree, the one thing I think we can rightfully get to do is lord it over the people who took what we consider to be easier majors.
John:
Yes.
John:
Is it inferior education?
John:
I don't know.
John:
But is it is it harder to go in general?
John:
Is it harder to go through an engineering degree than it is to go through a computer science degree?
John:
I would say in general for most people, yes.
John:
And so that's the one little thing that we can hold up with some tiny amount of pride.
John:
Please email them.
Casey:
Please email us.
Casey:
Furthermore, like you were saying earlier, the difference to me between computer engineering and computer science, all kidding aside, is that in principle, when John and I graduated, if not today, we should be able to, like John said, follow...
Casey:
software at a high-level language like Objective-C or C Sharp or even Perl or PHP or whatever the case may be.
Casey:
We should be able to follow that all the way down to NAND gates and so on and so forth within a power, even transistors within a processor, just like John said.
Casey:
And
Casey:
I think what's interesting is I can see why people like Dr. Drang, who is a, air quote, traditional engineer, could be offended by John or me or anyone saying that the sort of thing we do is extremely complex or even the most complex.
John:
It's not the thing we do.
John:
It's the thing we create.
Casey:
Right, right.
Casey:
The thing we create.
Casey:
And so I can understand both sides of this.
Casey:
And to me, I think the thing that makes the most sense is that
Casey:
For us, by comparison, and John, you touched on this, our industry, our engineering discipline is so much younger, so much younger than most of these other disciplines.
Casey:
You could argue that mechanical engineering, for example, has been around for a really long time, hundreds of years at the very least, if not many, many, many more than that.
Casey:
And so because of that...
Casey:
I think the reasonable argument for software being terrible and for us not being good at our jobs is that we're very – we as a race, as a race, I guess, yeah, are just very –
Casey:
And we're kind of amateurs at this.
John:
I don't buy that argument because of the accelerating pace of technology.
John:
You're right that it's so much newer than structural engineering, for example.
John:
But technology, if you put any graph of technological advancement after the Industrial Revolution, the rate of change is accelerating.
John:
So even though our thing came in much later in the timeline, it came in...
John:
after the bend in the hockey stick.
John:
So we've had the equivalent of millennia of technological advancement in software, and yet we are not getting better at these things.
John:
I don't buy that.
John:
Like, I think that contributes to it somewhat.
John:
But I think I think the thing we're making, because it is so wholly artificial and knowable and complicated, that unique combination of factors like I've spent a little while trying to think of something that has similar properties.
John:
I can think of science fiction things that have similar properties like.
John:
you know, building living beings from like, you know, doing DNA programming or stuff like that, or building nanobots, maybe that are self rep, like everything that I think of that is, that would be worse has some kind of place where we decide that it's not knowable anymore, like genetic algorithms or things where we're like, well, just let it go run off on its own.
John:
And we'll do some tiny simulation of kind of like what, how life evolves, but we won't understand the reasoning or the functioning.
John:
We'll just hope that the end product works.
John:
like works correctly can you think of one that has the the combination of like totally made by humans also very complicated uh and no help from any pre-existing anything you just start with like ones and zeros
Casey:
Well, no, but you could argue that, you know, we're building on... We're building on physics as well, just as much as a bridge builder is.
John:
Well, no, but I think there's that clean break.
John:
Like, yes, the engineers who build the hardware, yes, that's all physics, obviously.
John:
Like, that's... Yeah, but I'm saying, like, there's a hard layer between, like, that's the hardware, and they do a great job with that because, like, they're, you know, doing approximations based on the natural world and laws that tend not to change and everything like that.
John:
But once we get above that, the ones and zeros, we draw a hard line there, and we say, look, if anything happens below that...
John:
That's not our problem.
John:
That's not our fault.
John:
That's not a software bug.
John:
And in practice, that's not where our problems are.
John:
Like, yeah, that does happen.
John:
Hardware fails, right?
John:
But nobody blames the software guys for that.
John:
People blame the software guys for all the other times something goes wrong, then the hardware is functioning perfectly fine.
Casey:
Yeah.
Casey:
I mean, I don't know.
Casey:
It's tough because like I said, I see this from both sides and I understand what Dr. Drang is offended, but I also pretty much, I know, unsurprisingly agree with everything you just said.
Casey:
So I don't know.
Casey:
We can move on from this though.
John:
Yeah.
John:
Some, two suggestions in the chat room though.
John:
One said complex math.
John:
Uh,
John:
Yeah, maybe that qualifies.
John:
Although, yeah, I don't have enough math to analyze that.
Marco:
Well, math is a little bit different in that it's less built and more discovered.
Marco:
It doesn't do anything.
Yeah.
Marco:
Well, you know, everything is like, you know, you're discovering properties that were already there or you're building, you know, you're building new ways of expressing things that are already there and proving things that already work.
Marco:
Like, it's a little bit different in that you're not like, you're not as much building up these whole systems of things that could be like three quarters wrong or, you know, would only work in, you know, 80% of the possible cases.
Marco:
Like, usually math is a little more well-grounded than that and it's more provable and, you know, kind of built more slowly over the years so that
John:
it's 100% provable like that's what defines it like but like it's not you're not building a little machine to do something like math is applicable to every machine that we make of course but like when you're doing math you're like you're not concerned you're not trying to make a thing to do something you're trying to you know sort of explore the nature of truth you know the only real truth we have so that should make the mathematicians happy the other people suggested music and storytelling uh
John:
lots of things that human do is like, oh, love is more complicated, right?
John:
But, like, it's much harder to define a bug in storytelling and music and stuff like that.
John:
And those things, although they're kind of executable where you play them, like, they're not... The music doesn't, like... The music isn't meant to... Like, if it makes one person sadder than another, that's not a bug.
John:
If one person finds it boring and one person finds it amazing, that's also not a bug.
John:
Like, it's not...
John:
It's difficult.
John:
Again, tons of things that people do are harder and more difficult, more complicated than programming.
John:
What we make as programmers, because it's so completely artificial and also so complex and there's nothing to stand it on, it is the world of ones and zeros that we have collectively built up and a woodpecker would destroy it if it was made of wood.
John:
It doesn't take a woodpecker.
John:
It makes a dust moat floating through in the wrong spot and again, all the steel turns to liquid and
Casey:
when the yellow car runs over it anyway we can move on please really quick uh real-time follow-up firstly it is math not maths you people that are uh hailing from the british empire are crazy and i know we have too but at least we got that right and secondly when i said race earlier it's not about race i meant the uh human race slash the species of humans um so before we get a thousand emails actually it's probably too late so
Casey:
So let's talk about software methodologies and do a little follow-up on that because Marco isn't already bitter enough.
Casey:
A lot of people wrote in and said, hey, you got Agile totally wrong.
Casey:
And to some degree, they were right.
Casey:
And I should say that Agile began as a manifesto.
Casey:
And that manifesto I'll kind of get to in a second.
Casey:
But it was more about here's the things we value and less about here's the steps that you should take in order to do these things.
Casey:
And what I had talked about and I think all of us had talked about was more, hey, when you're a soldier on the ground, so to speak, and I mean that very, very figuratively, when you're a working developer, this is what Agile and Scrum tend to mean.
Casey:
And it tends to mean things like stand-ups and stories and points and so on and so forth.
Casey:
So those of you who wrote in about Agile being more about a series of ideals rather than a series of steps, you're absolutely right.
Casey:
And I should have specified that.
Casey:
Additionally, a lot of people have written in and pointed to a post that was very prescient and worked out.
Casey:
The timing was great.
Casey:
A post by Dave Thomas, not the Wendy's guy, but the Agile guy.
Casey:
And his post is agile is dead, long live agility.
Casey:
And the TLDR of that is, hey, agile in the sense of a series of things that you need to do really is kind of BS.
Casey:
Again, agile is really about here's the values that we have.
Casey:
So he says, and I'm quoting from this article, look again at the four values.
Casey:
And this is the agile manifesto that I mentioned earlier.
Casey:
We value individuals and interactions over processes and tools.
Casey:
We value working software over comprehensive documentation.
Casey:
We value customer collaboration over contract negotiation.
Casey:
And we value responding to change over following a plan.
Casey:
So that's the ideal.
Casey:
That's what Agile really, really is.
Casey:
So Dave goes on to say, you know, hey, to prescribe stand-ups, to prescribe Scrum, to prescribe stories, to prescribe any of that is really BS.
Casey:
So let's get back to the basics.
Casey:
And he says, here's how to do something in an agile fashion.
Casey:
What to do?
Casey:
Find out where you are.
Casey:
Take a small step towards your goal.
Casey:
Adjust your understanding based on what you learned and repeat.
Okay.
Casey:
And here's how to do it.
Casey:
When faced with two or more alternatives that deliver roughly the same value, take the path that makes future change easier.
Casey:
And I'm continuing to quote, And that's it.
Casey:
Those four lines in one practice encompass everything there is to know about effective software development.
Casey:
Of course, this involves a fair amount of thinking, and the basic loop is nested fractally inside itself many times as you focus on everything from variable naming to long-term delivery.
Casey:
But anyone who comes up with something bigger or more complex is just trying to sell you something.
Casey:
And...
Casey:
To be honest, this is pretty much right.
Casey:
This is true.
Casey:
And I stand by our last episode.
Casey:
I stand by all the things I said and all the things that we said.
Casey:
Because Agile and Scrum, as they are perceived today, boils down to those things.
Casey:
But if you really, really try to break it down to what is the genesis of all this, it's really programming or developing with agility.
Casey:
And that's what Dave is talking about.
John:
Yeah, I read this thing too.
John:
And what it reminded me of is the idea that we see it played out many times that any idea, whether it's a reaction to previous ideas or an entirely novel new idea about how someone might do something better, inevitably falls victim to the sort of innate human desire for simple answers.
John:
Like, you know, Fred Brooks, no silver bullet.
John:
Everybody wants the silver bullet.
John:
Right.
John:
And so if someone has an idea like agile, where it's like, well, you know, a reaction to like, if you just take the opposite of all those points, like let's, let's, you know, do a whole bunch of planning up front and take big steps instead of small steps.
John:
Let's, let's get a full, complete understanding of the problem before we start, instead of like gaining that understanding, like they're opposites of each other.
John:
And in many ways, agile is a reaction to methodologies that have come before it, or, you know, systems of working that have come before it.
John:
Uh,
John:
But once you put it out into the world, it does not take long for it to snowball into like the silver bullet people get their hands on and the books come out and the seminars and the courses and the consultants.
John:
And like that is inevitable with any idea.
John:
It doesn't mean the idea is wrong or dead or bad.
John:
Any idea you put out there, even any technology will be absorbed into the gigantic culture of things that that, you know, sort of.
John:
give people what they want people want to know that you can hire a bunch of consultants they'll swoop in teach everyone in your organization how to do x in in the new way whether it be like six sigma or all those things that your dad could tell you about from the ibm days and you know quality first and this that and the other like someone's always selling here's a new way you're going to work and it always gets perverted from what the original intention was made into a caricature and just becomes a money machine for consultants and other people and i
John:
I don't think that's any fault of the original ideas and it's kind of a shame, but I think that's the natural life cycle of any idea about how people can do things better.
John:
So agile has traveled that path.
John:
And so, you know, we see technologies travel that path all the time as well.
John:
You know, every technology and every idea is somewhere along that continuum.
John:
And sometimes they wrap back around and get a second run at it and change.
John:
But it doesn't make me think any more or less of agile.
John:
I just think that,
John:
Uh, I feel, in fact, I feel a little bit more comfortable with agile now, now that it has sort of run through its first kind of burst onto the scene.
John:
Oh, everyone has to do this.
John:
Actually, it's not that good backlash settling down to like, yeah, it's just one of those other ideas that's out there.
John:
It's in the mix.
John:
And now we can refer to it.
John:
Our collective knowledge of it is enough in sort of a vague sense to say that's our counterbalance against, you know, waterfall or whatever.
John:
Like it's, it's another idea that's out there.
John:
Uh, and hopefully at this point,
John:
we all know it's not silver bullet anymore because we've gone through the backslash back backslash oh my god give it backlash yeah just with an l backlash the backlash phase and we're on to sort of the steady state now we're just waiting for whatever the next popular idea is i mean it's the same thing with extreme programming and pair programming like
John:
i like that life cycle i think it's valuable i think just maybe like people who sort of come of age and like whatever idea is the first idea like that that they see they might drink the kool-aid and think this is the one this is going to change everything but like if you've been through six or seven cycles of that you're like oh well that's just the next new popular idea uh i'll wait for it to sort of settle down and then we'll get the value out of a test driven development the whole nine yards
Marco:
One thing that always also tends to happen with these ideas or methodologies is, like, you know how when you try to explain something to someone who is really new at computers, you try to explain how to do something, and the way they remember to do it, you know, they don't remember save the document.
Marco:
They remember click on the file menu, click on save.
Marco:
They remember the steps before they can conceptualize the concept.
Marco:
It's probably very similar to how people learn foreign languages, from translating in your head every word to becoming fluent.
Marco:
It's a difference between following procedures and really understanding and internalizing it.
Marco:
And...
Marco:
Agile was seemingly started by a group of people who really understood these concepts, who really deeply got them.
Marco:
And once it started becoming this procedure and steps that you could follow, and part of that was their manifesto, part of it was what everyone else added afterwards –
Marco:
Then it loses the understanding and it starts just becoming like a manual, a series of steps, a procedure.
Marco:
And it needs to be because in order to generalize that to a big organization – and this is one of the differences that we talked about last week between small organizations and big organizations –
Marco:
Once you generalize this past a very small group, it has to be a procedure.
Marco:
It has to be codified.
Marco:
It has to become instructions.
Marco:
And inevitably, not everyone involved is going to be able to rise above the letter of the law and gain that complete understanding.
Marco:
And over enough time, I think that's what kind of ruins these things because that happens on a grand scale to almost everyone involved in it.
John:
people don't want to understand the philosophy they just like just tell me what to do like because if they want they want they want the silver bullet like it's not even just that they can't grasp it or like they don't even want that they're like all right so you've done all that thinking now tell me what to do and it's like no you don't understand it's like you know teach a man deficient understanding the ideas that led me to these practices will be much more helpful to you than the practices themselves and that's not something people want to want to hear
Casey:
All right, do we want to cover this question from Paul today, or would we rather shelve that for another day?
Marco:
I'll bring it up because I'm the one who added it.
Marco:
All right, so a guy named Paul sent us a feedback form thing saying, I'm a computer science professor, and I'm always curious what particular things that we teach turn out to be useful in the end.
Marco:
You had asked each other last week what one thing you would take from software methodology.
Marco:
My question is, what are the one or two things from your CS education that you find the most useful when coding?
Marco:
I mean, for me, I would say it's two things.
Marco:
I would say one is the operating systems course where we went all the way down into deep explanations and some playing with low-level C code, but mostly deep explanations of what an operating system does.
Marco:
Lots of different problems.
Marco:
Memory management, scheduling, interrupt, stuff like that.
Marco:
The basics of what an OS is doing.
Marco:
That was very helpful just because...
Marco:
it gives me a major understanding of things that we have to deal with every day.
Marco:
Things like concurrency, things like threading and locking and everything like that.
Marco:
It really helps, memory management, it really helps to know that sort of thing.
Marco:
And the second thing for me...
Marco:
is it... At my school, and I think this is common everywhere, there were a couple of intermediate-level courses where you basically just did a new programming language every week for something.
Marco:
And so we got to explore all sorts of different languages briefly, shallowly, but we got some experience and the basic concepts of lots of different types of languages.
Marco:
And that's the kind of thing that in the real world it's harder to get because it's harder to justify or it's harder to find the time for.
Marco:
It's easy to fall into the trap in the real world, which I'm certainly guilty of myself, of just going really deep on whatever you do at work and not really exploring lots of new things.
Marco:
And certainly there's so many new things coming out these days that it's almost impossible to explore them all.
Marco:
But in a comp sci education, at least in a good one, they kind of force you to.
Marco:
And so I know the basics of languages that I've never used in the real world, like Lisp.
Marco:
I know the basics of Lisp.
Marco:
If you sat me down in front of a Lisp code base and told me to start working on it, I would have some trouble.
Marco:
It would take me a while to get back into it.
Marco:
But I know the basic concepts and stuff like that.
Marco:
That was a very valuable thing to me to force me to experience a lot of new concepts that
Marco:
that you wouldn't really ever have time or reason to in the real world most of the time.
Casey:
I would say I actually exchanged a couple emails with John because I didn't realize that this was going to be covered in the show.
Casey:
And I blamed John for heading it to the show notes.
Casey:
Little did I know it was you, Marco.
Casey:
But what I had said to him was the thing that I think I value the most for my education, which is going to sound really ridiculous, but I stand by it, is learning what a pointer is.
Casey:
Because pretty much all of the development that I've done professionally in C++, in C Sharp, even in JavaScript, and certainly in Objective-C, all of that, all of it comes down to, at some point or another...
Casey:
truly understanding what a pointer is.
Casey:
And C sharp is a great example because anytime you have a class, so if you don't have a struct and you don't have a primitive type, if you have a class, it is always, always, always, always passed by reference.
Casey:
So whenever you're dealing with a class, you're always dealing with what is under the hood, a pointer, right?
Casey:
But I have dealt with so many C Sharp developers, many of whom I would actually classify as very good developers that fundamentally do not understand that concept.
Casey:
And so...
Casey:
In C Sharp, when you pass a class instance into a method, or I should back up, when you pass anything into a method, you could say, you can explicitly state that you would like to pass this by reference.
Casey:
So, for example, if you have a string that you might manipulate in a method.
Marco:
.NET has call time passed by reference, one of PHP's worst features that they finally removed recently.
Casey:
Yes.
Marco:
And .NET has it.
Casey:
Yes.
Casey:
And it has always had it.
Casey:
And so a better example would probably be like an integer.
Casey:
So I have an integer and I call a method and I'd like that method to be able to modify that integer.
Casey:
What I can do is I can say that I am passing this by reference and thus I am passing basically a pointer to that integer.
Casey:
Well, all classes by default are passed by reference.
Casey:
You know, you're just throwing pointers around.
Casey:
Well, so many times, the same way that you would say I am specifically passing this integer by reference, I will see people use that same keyword, which happens to be ref, R-E-F.
Casey:
I will see people put ref in front of a class.
Casey:
which is redundant because you're always passing a class by reference.
Casey:
And so they clearly just fundamentally do not understand what's happening here.
Casey:
And I think that that's true not just of C-sharp.
Casey:
Clearly it's true in C++.
Casey:
Clearly it's true in Objective-C.
Casey:
And I would argue it's true of many, many, many other languages as well.
Casey:
Even, say, JavaScript.
Casey:
You have to understand what's going on under the hood.
Casey:
And so truly, honestly understanding what a pointer is, I think is the thing that I am most...
Casey:
not proud of, but most thankful for from my education.
Marco:
Right.
Marco:
And, you know, it helps to understand what's going on under the hood, even if you don't have to deal with it, because it lets you make better decisions up top.
Marco:
Like at the level you're working at, even if you're working at a very high level, even if you're working in JavaScript, very high level, you're still, by knowing what actually is going on,
Marco:
all the way, you know, at all the levels all the way down, it does enable you to make better decisions for all your high-level coding.
Casey:
That's exactly right, and that's exactly the point I'm driving at.
Casey:
John?
John:
For me, I think, I mean, the easy ones, this is from a CS professor, so I think the easy ones are like, just like the basic CS stuff you learn, like big O notation and algorithms and data structures.
John:
Like, it's boring, but I think you have to learn it.
John:
Like, that's...
John:
that's the type of thing that if I did, if I wasn't in a formal class atmosphere, I probably wouldn't have gone off to learn that stuff on my own.
John:
But knowing it, like, it's not like you need to know it every day and you can't just look it up, but just even just having known it, like at this point I could not implement a red black tree if you asked me to, but I know red black trees exist, have a vague idea of how they work.
John:
And if I were to look up an implementation, I would be like, Oh yeah.
John:
Versus being like red black tree.
John:
What the hell is that?
John:
What's a tree or big O notation.
John:
What are those letters mean?
John:
And the O's like, I,
John:
that that's the basics of a CS education.
John:
When I think of my CS courses, like that's, that's what you need to know.
John:
And like you build on that because if you don't have that foundation, everything just seems like, like, just like a, like a product.
John:
Like you learn a language and be like, I'm learning this product.
John:
You wouldn't, you wouldn't see the generalities underneath it.
John:
And, you know, so algorithms and data structures definitely were very useful.
John:
And I don't know if this was, since I was a computer engineering and it's like, you know, electrical engineering with a few CS courses, I don't remember if this was technically a CS course, but,
John:
The two I found most useful is, one, the class where you build your CPU up from logic gates, which I guess probably isn't CS.
John:
It is.
John:
That's the course you have to have.
John:
I mean, maybe in your class you didn't do VLSI and lay out the chip.
John:
We didn't manufacture it, but doing the electronics design and everything like that.
John:
But, you know, all the way up the stack, like, it helps to come from that perspective, even though I'm never going to make my own CPU, just because, like, look, the best way to prove that you understand it is to actually do it.
John:
And then the other one is the courses I took where I had to do assembly programming.
John:
I don't even know if they make people do this anymore, because, again, maybe this is an EE thing where you're programming microcontrollers and stuff.
John:
But just thousands and thousands and thousands of lines of assembly.
John:
And the only reason the thousands is because to do anything in assembly takes freaking thousands of lines, because it's assembly.
John:
You know, and in particular, one of the professors I remember who was doing my course, we were doing one of the microcontroller courses for assembly.
John:
He was from the telecom background, and he was like, I'm going to show you structured assembly, which is what we use in the telecom industry so we don't go insane.
John:
And, you know, like, it was like seeing the primordial ooze of C, where it's like...
John:
We have to do everything in assembly, but we know if you just do whatever the hell you want in assembly, it's chaos.
John:
And so we've imposed some, you know, it's basically like a system of conventions and structures to allow you to approximate what you would write and see.
John:
Like, you start to see the C, because we took this assembly course after we had done C, and you start to be like...
John:
Oh, like I can see you basically are like a human compiler.
John:
Like when I write a conditional, I always do it in this form and I always use these labels and this type of thing.
John:
So then when I squint at someone's code, I can, if I squint just right, that gigantic block of incomprehensible assembler turns into like an if in a while and a break and a continue, you know, like...
John:
That that was very instructive, but mostly just like the thousands of lines of assembly, because there's no way to write thousands of lines in assembly and not understand pointers.
John:
Like by that point, I understood them from C. But I when I see someone who doesn't understand pointers, it's like, oh, I'll just teach you C and you'll get pointers.
John:
They probably won't.
John:
But if you make them understand assembly, they'll get it at 100 percent guaranteed.
Marco:
Yeah, I remember I did a course that required a lot of assembly, like the MIPS assembly that everyone else had to do around that time.
Marco:
And one of the hardest things about that course, probably the hardest thing we had to do was during the final exam, we were given a block of roughly one printed page or so of MIPS assembly uncommented.
Marco:
And the question is, what does this do?
Marco:
Yeah, that's tough.
Marco:
And I sat there for like a half hour, basically compiling it back to C in my head, and making little notes like, all right, here's a little loop here.
Marco:
And I think what it ended up doing was finding duplicate substrings or some kind of basic string processing thing.
Marco:
But it was surprisingly hard to figure that out.
John:
Well, that's why when you're looking at it, if you actually literally have to translate it to see to understand it, it's kind of like translating the language into English, you know, so you can understand.
John:
Eventually, like, that's what structured assembly does.
John:
It lets you start to look at the assembly and recognize, you know, the assembly chunks as, like, that's the equivalent of an if, but you don't have to translate it to see to see what it does because there's a regularization of it, you know.
John:
You don't have to, like, execute every line in your head and, like...
John:
Visualize the registers in your head and how they're combining and keep the track of all of them on a piece of paper.
John:
So you can see, you know what I mean?
John:
Like it starts to take on a form of its own.
John:
But so that's what I would say.
John:
Data structures, algorithms, assembly and CPU design.
John:
So basically just take the whole curriculum.
Marco:
Yeah.
Marco:
If my colleagues taught me a language when I was there, they would have taught me Java.
Marco:
And in fact, in the intro, they do teach Java, but then they pretty quickly abandon it because it doesn't really... Then they go to C, and then it stops kind of mattering what language you use.
Marco:
And for some of the later classes, you're allowed to just pick whatever language you want and do your projects in that language.
Marco:
And...
Marco:
At the time I was there, I was very upset that they weren't teaching me Windows API programming, like .NET stuff, which had just come out about halfway through my college career.
Marco:
And I wasn't learning C++ during college and stuff like that.
Marco:
I was so mad.
Marco:
And what they told me at the time, which I'm sure everyone's heard from their commsci professors, is that it doesn't really...
Marco:
it's not really their job to teach you the language and they're not really doing you a big favor if they spend a whole lot of time teaching you a particular language because chances are your education will go out of date much sooner if you spent half of it learning whatever language was popular at the time that you went to college.
Marco:
And in reality, all the stuff you do learn
Marco:
in college, in a good CS department, all the theoretical stuff and the basic principles and everything, there's really never a time in the field where you get to learn that.
Marco:
There's really not... In the real world workforce, there aren't a lot of opportunities to sit down and learn big O notation and stuff like that.
Marco:
And a lot of times, you don't even know what to look for.
Marco:
If you didn't get that background, you don't even know what to look up on Wikipedia or what to look up on Linda or whatever else.
Marco:
And so...
Marco:
And part of CS is teaching you things that are timeless and that are fundamentals.
Marco:
And it's hard to see that at the time that you're there.
Marco:
But once you're out for a while, you appreciate that, okay, well, yeah, now that I know the fundamentals, it isn't that hard to learn a new language when I have to at my job.
Marco:
I can learn a new language in a week or two and be pretty good at it after six months or a year.
Marco:
And you wouldn't want to have spent your entire CS education on a language that's going to be out of favor five years or ten years later.
John:
It's not like the languages go out of favor.
John:
It's just that like in higher ed, like they look down their nose at like teaching you practical skills.
John:
It's like, we're not a vocational school.
John:
Like this is not apex tech.
John:
You don't get your own tools.
John:
Like they want to teach you the concepts.
John:
And I never had a desire for them to try to teach me like any specific technology.
John:
And they certainly didn't.
John:
Uh,
John:
And also, like, I kind of got the sense that a lot of these professors, like, were better mathematicians than they would ever be programmers, you know, especially in the CS department.
John:
Like, they're not programmers.
John:
Like, you wouldn't want them teaching you anything because they would teach you the wrong things.
John:
But what you learn sort of through osmosis is in every class, like...
John:
They just expect you to do, okay, and our exercises are going to be in, you know, 16-bit assembler or C++ or, you know, plain old C or Mathematica or, like, it doesn't matter, like, what your, you know, or MATLAB or, like, every teacher had some tool that you needed to use.
John:
Oh, and do this.
John:
This will let you work through whatever it is I'm teaching you.
John:
They'd be teaching you concepts and algorithms and stuff like that.
John:
And the tool you used to work through them, like, every class was like, oh, whatever this professor's
John:
is like whatever their hobby horse is.
John:
They want us to do everything in Java, find everything job.
John:
And you learn that the programming language doesn't matter.
John:
Like as you go, like it's an incidental detail of you doing your actual job.
John:
Your actual job in school is like doing the assignment or understanding the concept and your actual job and real jobs is,
John:
you know making the product or whatever and it's like well you know if you've never used java before and you take this class and this professor makes you do the exercises in java guess what you're going to learn enough java to do the exercises which will probably be actually end up being a lot of java surprisingly but that's not what they're teaching you in the class like you're just expected to be able to pick that up and that is good training for the real world because in the real world yeah you're just expected to pick it up like never done it before read about it buy a book figure it out because you need to do your job exactly
Marco:
All right.
Marco:
Our second sponsor this week is our friends once again at Transporter, at File Transporter.
Marco:
So File Transporter is a really cool device.
Marco:
It's basically a networked external hard drive or a little puck that you get that transforms one of your hard drives to a networked hard drive that you own and control this hardware.
Marco:
So you have a hard drive sitting in your house or your office.
Marco:
You own it.
Marco:
You control it.
Marco:
All your data is sitting right there on that drive.
Marco:
Your data is not up in some cloud service.
Marco:
It isn't on some other company's servers.
Marco:
It is all right there on your hard drive.
Marco:
But it gives you features that are similar to what Dropbox offers.
Marco:
So if you have more than one of these things, let's say you and a friend each have one, or you have one at home, one at work, or one at your parents' house or whatever, you can have them automatically sync and replicate to each other.
Marco:
So you can have either part or whole.
Marco:
So you could do a shared folder.
Marco:
You could do a backup automatically, just keeping these two drives entirely in sync so you always have an off-site backup.
Marco:
The shared folder is great if you're collaborating with a team.
Marco:
If you want to share big files that maybe don't fit on Dropbox, or maybe by some kind of regulatory compliance you can't have them on Dropbox, or maybe you just don't want to have your files on a cloud service for various privacy and security reasons.
Marco:
So Transporter...
Marco:
is this great device that allows you to do all these cool things.
Marco:
They also, in addition to the sync and backup nature of these things, they also have iOS apps and Mac apps that allow you to access the files from wherever you are.
Marco:
So your transporters could be sitting at your house
Marco:
And you could be somewhere else, you know, in the next city or the next country over with your iOS device or your Mac laptop or whatever the case may be.
Marco:
And you can access the files on your home transporter without doing any kind of crazy network setup.
Marco:
It does all that for you.
Marco:
You know, it bounces through the relay service to do the connection setup.
Marco:
But then the files are all still coming from your transporter, the hard drive sitting in your house.
Marco:
And so it's never going through a cloud service.
Marco:
The data is never out of your control.
Marco:
All the transfers that go over the internet are all encrypted end-to-end.
Marco:
They don't have the keys.
Marco:
Your devices have the keys on both sides, and that's it.
Marco:
So really, there's quite a lot you can do with these things.
Marco:
Their software is always getting better.
Marco:
They recently updated the Mac software to have even more Dropbox-like features.
Marco:
Now they can even do things like automatically sync to and from your transporter and all your other devices, automatically sync...
Marco:
special folders such as your desktop or, say, your music folder or your pictures folder.
Marco:
So these don't even have to be in some special location or stored just on the transporter.
Marco:
They will automatically sync these folders from your computer between all of your other computers, which is really nice, something that Dropbox can't even do.
Marco:
So how do you get one of these things?
Marco:
Go to filetransporterstore.com, and you can see these things are very reasonably priced.
Marco:
The best thing about this, there are no monthly fees.
Marco:
You buy the hardware once up front.
Marco:
And you own it, and then there's no monthly fees after that, which is a huge savings over cloud services, especially if you have a lot of data.
Marco:
So how do you get one of these things?
Marco:
This is great.
Marco:
One-time purchase, no monthly fees.
Marco:
The Transporter Sync, which is the little thing that you – it's like a little puck, and you plug in any USB hard drive you already have, and it has a network port on the other side, and it automatically does all these things for you.
Marco:
Transporter Sync is just $99.00.
Marco:
There's a 500-gig transporter with a built-in hard drive, 500 gigs, for $199, one terabyte for $249, and two terabytes for just $349.
Marco:
And you can save an additional 10% off of all those prices at filetransporterstore.com.
Marco:
Save an additional 10% by using coupon code ATP.
Marco:
So go check it out, filetransporterstore.com.
Marco:
See how these things can really help you out.
Marco:
The feature set on these things is incredible, and it keeps getting bigger and bigger as they update the software and do all sorts of cool stuff.
Marco:
So thanks a lot to File Transporter for sponsoring our show once again.
Casey:
So, Marco, last episode, in a half-hearted attempt to derail me from my beloved software methodology story.
Marco:
Oh, that was full-hearted.
Casey:
Fair enough.
Casey:
You announced to the world on the show that you had received your trash can.
Casey:
I'm sorry, your new computer.
Marco:
You know, as a trash can, it's pretty crappy.
Marco:
Because you only have like that top inch or so of actual volume in there.
Marco:
And if you put a bag in there, then the fan can't blow the air out.
Marco:
So it's kind of a bad trash can.
Marco:
You know, a typical Apple overpriced.
John:
Can you put one of those blow-up men like they have in front of the car dealerships, and they'll, like, wave his arms?
Casey:
What's the line from Family Guy, like, the crazy inflatable arm-waving guy, or whatever it is?
Marco:
Wacky waving inflatable arm-flailing tube men!
Marco:
Somebody has to make one of those for the New Mac Pro.
Marco:
I'm sure it's going to happen.
Marco:
You know, leave it up to, like, I don't know, OWC.
Marco:
Somebody's going to make one of those.
Marco:
But, yeah, I don't...
Marco:
Yeah, I mean, what do you want to know?
Marco:
So I gave a little quick thing at the end of last show during the after show, and basically there's not that much to talk about.
Marco:
It's faster, which I knew going into it from benchmarks.
Marco:
There is a certain nuance to the fasterness.
Yeah.
Marco:
So my previous Mac Pro, I had gotten one of those OWC Excelsior cards, which is basically a PCI Express card with two little serial ATA SSD cards in RAID 0 controlled by the card, and then it shows up to the system as just one drive.
Marco:
So one of those cheapo software kind of things, I imagine.
Marco:
And...
Marco:
So that, you know, there's a lot of layers of intricacy there, a lot of translation layers, a lot of components.
Marco:
The new one, the SSD, is not only a higher grade, higher speed flash, and presumably a more advanced controller than what these were using because it's just simply newer, but also the new SSD is PCI Express native.
Marco:
And I'm not entirely sure on the intricacies of how these work, but as far as I know, that requires fewer levels of translation, fewer bridge and controller chips along the way.
Marco:
So what it is, compared to the old Mac Pro, it is simply more consistent, and it feels like there are fewer bottlenecks.
Marco:
And this is all very hard to measure.
Marco:
This might not hold up.
Marco:
This might be like audiophile cables.
Marco:
This might not hold up to... We should talk about Pono, maybe.
Marco:
Is that how you say Pono?
Marco:
Pono?
Marco:
Pono?
Marco:
I don't know.
Casey:
I thought it was pronounced piece of crap.
Marco:
Yeah, yeah, we'll say that.
Marco:
So how do you pronounce it in a triangle?
Marco:
So it's faster, and it's faster not only, you know, like I've done a bunch of handbraking codes since I got it, and they are at least 50% faster than, you know, just on the frame rate that handbrake reports.
Marco:
I'd say 50% on similar things, and I think Geekbench bears that out.
Marco:
Yeah.
Marco:
So it is faster, but it also feels more consistent.
Marco:
It feels like there are fewer little bottlenecks, little hiccups here and there.
Marco:
The Excelsior, I'm not sure I'd recommend it because... Well, first of all, it's now outdated.
Marco:
The era of PCI Express aftermarket cards is pretty limited now.
Marco:
But...
Marco:
I'm not sure I'd recommend it simply because A, you can now get 1TB SSDs in 2.5-inch bays for like $500.
Marco:
So it's not as necessary.
Marco:
And B, it always felt a little bit inconsistent in its performance.
Marco:
But that could just be in my head.
Marco:
I don't know.
Marco:
Beyond that, with the new one, it's...
Marco:
it's a lot quieter.
Marco:
And I really... It's a dramatic difference.
Marco:
I always thought the Mac Pro was quiet, but man, this is even quieter.
Marco:
I would say it's quieter in most usage than my MacBook Pro.
Marco:
And not the MacBook Pro cranking its fan on high.
Marco:
It's quieter than the MacBook Pro at idle to my ears.
Marco:
But again, that could just be... That isn't a precise measurement I haven't taken.
Marco:
Although I do have an SPL meter.
Marco:
I should try it.
Marco:
But anyway...
Marco:
i got it for a review forever ago anyway uh so overall it's fantastic there's not that much more to say though it's it's just fantastic um it is not you know four times faster cpu wise than my old one um but it is faster and it is really really nice and it looks freaking awesome um and it'll look even better once i get one of those wavy hand guys on top so yeah overall i give it a thumbs up
Casey:
What are you doing with your old Mac Pro?
Casey:
Is that getting bequeathed to TIFF?
Casey:
And then if so, what's happening to TIFFs?
Marco:
Well, Tiff has the identical model.
Marco:
She actually got hers back in 2010 when it was new.
Marco:
What I'm saying is, tentatively, I'm assuming that in roughly a year, maybe a little bit less than a year, the next Mac Pro will be out that will have the Haswell EP chips.
Marco:
And that will, unlike this one, that will actually come with a per-clock performance gain.
Marco:
Yeah.
Marco:
So we should see a nice single-threaded jump there, the same way we do now.
Marco:
That's the whole reason why the iMacs and MacBook Pros now are occasionally, in some benchmarks, faster than the new Mac Pro in single-threaded stuff, because they have the Haswell cores, and they have a little bit more efficiency per clock on how much they can get done.
Marco:
So that has not come to the Xeon line yet, so that is not in the new Mac Pro, but it will be in the new Mac Pro probably a year from now.
Marco:
So I'm guessing a year from now, I buy one of those for myself, and then I give this one to Tiff to upgrade her.
Marco:
She really wants one because it's so much quieter and so much smaller.
Marco:
Physically, it'll help a lot in our office.
Marco:
I still have my old one sitting below my desk here, but it's going to...
Marco:
having this little tiny cylinder on top of my desk instead of this tremendous tower below my desk is going to allow me to totally rearrange the physical space here.
Marco:
And same thing on her side of the office.
Marco:
So there's a lot of gains that are not just the specs, but just the physicality of it, the size, the noise, the cables, stuff like that.
Marco:
So overall, A+.
Marco:
One thing I noticed when I restored to it, so I...
Marco:
I hadn't been doing disk clones recently, which I think is a mistake.
Marco:
I'm going to start doing that again.
Marco:
I had been relying on a combination of Time Machine and online backup.
Marco:
So when I got this new one, I did a restore from Time Machine over the network.
Marco:
It was hosted on the Synology box so I don't have to have a desktop covered in hard drive enclosures.
Marco:
And...
Marco:
Time Machine Restore worked great, except that certain things aren't backed up to Time Machine.
Marco:
And it's annoying.
Marco:
I still haven't quite figured out what overall has been excluded.
Marco:
The data's all there.
Marco:
The apps are all there.
Marco:
But certain apps lost their preferences.
Marco:
Certain keychain things, although not all of the keychain, mysteriously...
Marco:
Certain keychain things aren't there, and I had to reenter some passwords and stuff.
Marco:
Certain apps... The biggest thing is losing entire configurations of some apps.
Marco:
And I don't know why that is, but it was not a perfect clone.
Marco:
And so I want to get back into the cloning business again.
Marco:
And...
Marco:
I haven't quite decided how to do that.
Marco:
I'd rather not have a desk with hard drive enclosures on it.
Marco:
So I'm thinking maybe of trying iSCSI with the Synology.
Marco:
But iSCSI requires a kernel extension, and that's uncomfortable.
Marco:
So I don't know.
Marco:
I'm actually curious to hear from listeners.
Marco:
If you do iSCSI, is it a pain in the butt, basically?
Marco:
With OS upgrades, is it a pain in the butt?
Marco:
Is it buggy?
Marco:
Is it weird?
John:
Why do you need to use iSCSI?
John:
Why don't you just do a super-duper clone to a disk image on your Synology?
John:
I suppose I could do that, but then how do you restore from that?
John:
Same way.
John:
I guess you'd have something to boot from, but then you just need to get into a state where you can run super duper and then clone from the disk image back onto your drive.
John:
I mean, you need kind of an in-betweeny drive to be like your way station because you can't clone onto the drive that you're booted from, but that's not hard to do.
John:
You do that on a USB key even, assuming you can boot from it.
Marco:
One thing I also thought about, actually, was just getting a bus-powered 2.5-inch hard drive enclosure with a 1-terabyte disk in there, which would cost substantially less than the iSCSI software for Mac, and just zip-tie it to the bottom of my desk so I don't even see it.
Marco:
But I'm not sure I wouldn't hear it.
Marco:
I'm assuming it could be put to sleep.
Marco:
You wouldn't hear it.
John:
I have a bus-powered 1-terabyte.
John:
It's even black, just like a Mac Pro.
John:
I was all ready to use it on a Mac.
John:
It's like the drive goes to sleep, you would leave it unmounted most of the time and you'll never hear it.
Marco:
Yeah, I think I might try that first because that's just so much easier.
Marco:
And then the other thing is, actually one of the reasons I was thinking about trying iSCSI, but I might also do the drive strap to the desk method instead, is that Backblaze does not back up network drives.
Marco:
Yeah.
Marco:
And they've made little hints here and there that they might consider adding that in the future, but it doesn't seem like they're in a big rush to do that.
Marco:
And I mentioned in previous shows that the other options like CrashPlan just don't work very well for me with various issues.
Marco:
I would love to have... I have this 4TB share on my Synology that is storing all my large archive files.
Marco:
And right now I use Arc on the Mac to back that up over the network to Glacier.
Marco:
And I don't love this setup.
Marco:
I don't love that it's on Glacier and it's kind of hard for me to get to anything.
Marco:
But it's too big for S3 to be well-priced.
Marco:
So I...
Marco:
I might – I don't know.
Marco:
I might go back to enclosures and just kind of like hide them under my desk somewhere so I can't see them and figure out ways of unmounting tricks so they don't hear them.
Casey:
So I want to give John a chance to interrogate you, but really quickly, you kind of haven't answered the question.
Casey:
So what is your old cheese grater doing, just collecting dust?
Yeah.
Marco:
Well, actually, it has stopped collecting dust because the fans aren't running in it anymore sucking dust through it.
Marco:
So right now, it has paused its dust collection, as well as all of its other activities, and it's just sitting under my desk in its old spot just because I have been too busy to move it.
Marco:
I took a trip this past weekend, so I've been very, very busy just organizing things, and then when I get back, disorganizing things.
Marco:
So...
Marco:
uh i i will i'll let you know soon how that's going i had like i still haven't even rewired or unwired like i'm gonna this is gonna be one of those times i get to finally clean out all these old wires behind my desk and like take a bunch of new zip ties and rezip tie everything together and all that stuff but you should use those little velcro things they're better than zip ties i i have some of them i have about maybe 20 of those um problem is that they're big they don't hold very tightly and they themselves collect tons of dust
John:
What's big about them?
John:
They're like a centimeter wide at the widest.
John:
Yeah, compared to a zip tie, that's pretty big.
John:
I know, but it's like you're spreading the weight.
John:
I found they hold very well.
John:
I just, I redid the back of my TV when I got all the TV and the new TiVo and everything, and I used those Velcro things, and I was skeptical because they look like they're crap, but they worked really well, and not a single one has come off now.
John:
You just have to know how to wrap them around enough times, and I love the fact that I can undo them, read them with zip ties.
John:
It's like I can get in there with a needle and undo it, but I really don't want to, so you just end up cutting them, and that's dangerous, so...
John:
I'm a convert to the Velcro things.
John:
Maybe it depends on the brand.
John:
I don't even remember what I got.
John:
It was just whatever.
John:
It was highly rated on Amazon.
John:
They were super cheap, though.
Marco:
Yeah, I got a bag of 1,000 zip ties in 2004, and I still have like a quarter of the bag left.
Marco:
So I just cut them whenever I need to change them, and it's no big deal.
John:
Aren't you afraid you're going to accidentally cut the cables?
Marco:
No, you hook the scissor under it in such a way that it can't cut the cable.
Marco:
Yeah, I know.
Marco:
I mean, yeah, it just seems risky to me.
Casey:
So, for now, it's just sitting there, but are you eventually offloading your Mac Pro onto Dan, or is it going to be a charity case?
Casey:
Are you going to give it to me?
Marco:
I thought you hated desktops.
Casey:
Oh, God, I don't want a Mac Pro.
Casey:
Are you kidding me?
Casey:
That's stupid.
John:
Exactly.
John:
Who would want an old one?
John:
I desperately need an SSD.
Okay.
Casey:
Hint, hint, hint, hint.
John:
My new video card is awesome, but the spinning disks on this Mac Pro, it's becoming unbearable.
Marco:
If you want the Excelsior, I'll give it to you for a very, very good price, because I just want to get rid of it, because I have no use for it.
John:
Well, you're not selling it very well, saying it's got a weird, inconsistent performance and stuff.
I don't know.
Marco:
I have no idea how to use that.
Marco:
If I wanted to keep using that, I would have to buy a Thunderbolt to PCI Express enclosure, which is like $300.
Marco:
A new SSD of the same size is $500 and is going to be probably faster because it's newer.
Marco:
That's the problem.
Marco:
If the new 2.5-inch drive is $500, what can I really sell this one for?
Marco:
I mean, this one might be faster because it's in the slot, but I don't know.
Marco:
Anyway, this is all boring, so let's move on.
Marco:
But yeah, basically, it's awesome.
Marco:
There's not that much to say about it yet.
Marco:
I don't have any software, as far as I know, that takes advantage of the dual GPUs to do computation and stuff like that.
Marco:
So it really isn't that interesting yet.
Marco:
But right now, it's just a really awesome, very fast, extremely quiet Xeon workstation, which is exactly what I wanted.
Marco:
So I'm very happy.
Casey:
John, no questions?
John:
I was just going to say, I mean, Marco already touched on this, but it's kind of a shame that machine is so expensive because the sort of life change that it brings about is going to be such that, like, once you've banished all the cheese graters from your house and you've had these little cylinders for a while, you're going to, like, see a cheese grater at someone else's place or something and just be like, do you believe we used to have those things under our desks?
John:
Like, they're the size of, like, dehumidifiers.
John:
Like, it's going to seem absurd just because...
John:
It's such a, you know, you don't realize how small these things are until you see them in person.
John:
Like in the picture, one of the best pictures online was showing it next to the G4 cube, which was like, oh, my God, they fit the whole computer to a cube.
John:
The new Mac Pro is smaller.
John:
Like it's it's skinnier.
John:
It's a similar height.
John:
It's just it's it's an unbelievable change in the size of things that we're forced to live with.
Marco:
It really got people interested in the Mac Pro again who weren't interested for years.
Marco:
I mean, the Mac Pro is, for the first time ever, even when the Cheese Grater one first came out in 2006, it was never like a hot item.
Marco:
Now this new one is a hot item.
Marco:
They made it cool again.
Marco:
And that's almost completely because of physical, superficial things, but that matters.
Marco:
Yeah, I mean, that's part of the product.
Marco:
Right, it matters to innovation, you know, Phil Schiller's ass.
Casey:
Can't innovate anymore, my ass.
Marco:
Like, it matters to all these things, and it got people interested in this relatively boring, out-of-reach product again, and that's really great.
John:
I mean, it makes people wish... It makes me wish for, you know, the X-Mac Dream always giving them back.
John:
It's like, damn, if it only wasn't so darn expensive, like, can you put one GPU instead of two?
John:
Can you use a cheaper chip?
John:
Like, I mean, I guess they kind of can, and that's not the point of the product, but you're like, that form factor is so great that...
John:
If you just take that form factor and change the guts, keep the cooling system and everything, but just change the insides to be... Hell, even iMac caliber insides just to be able to get like a separate screen or like a better GPU than you can put in an iMac because you'd have a desktop GPU in there and Apple will never do this.
John:
But it reignites those fantasies of like, I love that form factor so much.
John:
Personal computers should never need to be bigger than that.
John:
In fact, they don't need to be as proved by the amazing power that's in this one.
John:
So why is it that...
John:
The only way I can get one of those is to get two giant GPUs that I'm never going to use in a super expensive server chip.
Marco:
To be fair, the 4 and 6 core chips are actually pretty competitively priced.
Marco:
The 8 and 12 cores are ridiculous, but the pricing on the 4 and 6 is actually pretty good and not that far above regular Intel consumer CPU pricing.
John:
Oh, it's not Apple's fault.
John:
I mean, it's just like, you know, they're expensive chips.
John:
And the dual GPUs is Apple's fault.
John:
Like, you can't... What if I just want one?
John:
Tough, tough luck, you know?
Marco:
Yeah, exactly.
Marco:
So, you know, but overall, it's... And even you said, like, the lifestyles thing, like, so I... For large, expensive things like this, where it's practical to, I keep the boxes around, the shipping boxes and the internal boxes, so that when I go to sell them three to five years or whatever down the line...
Marco:
I can put them back in their box and it's easier and it saves some money and everything else.
Marco:
And I know it's relatively safe.
Marco:
So in my basement, I have two giant Mac Pro boxes from mine and Tiff's old ones.
Marco:
And it's just ridiculous.
Marco:
And this one, the box is like the size of a bookshelf speaker.
Marco:
Even that is an improvement.
Marco:
There's things like that you don't even think about, but it all adds up.
John:
I think about it because I have an indeterminate but much larger than two number of those cheese gritter boxes in my attic.
John:
And they're ridiculous.
John:
They're massive.
John:
They did get smaller over time, believe it or not, but only slightly.
Marco:
I remember when I sold my old one to Dan Benjamin, it cost me over $100 to ship it.
Marco:
Like, that's how big these boxes are and how heavy they are.
Marco:
I mean, it's just incredible.
Marco:
So anyway, yeah, talk to me.
Marco:
I'll give this one to you for a good price.
Marco:
Anyway, we are also sponsored this week.
Marco:
Our final sponsor, before we move on to more MacPro to find discussion, our final sponsor this week is Ting.
Marco:
Once again, Ting is mobile that makes sense.
Marco:
They're a no-BS, simple-to-use mobile service provider from the people at 2Cows, the company behind Hover.
Marco:
Ting, which is a reseller of the Sprint Network in the U.S., they have great rates, and there's no contracts or early termination fees.
Marco:
You own your device outright from the start.
Marco:
They have a true pay-for-what-you-use pricing model.
Marco:
So you pay a base price of $6 per month per device, and then you're automatically billed for the actual amount of minutes, messages, and megabytes that you use each month above that.
Marco:
So this is great for if you have fluctuating usage, which let's face it, most of us do.
Marco:
Let's say you have like 100 megs of usage one month in data.
Marco:
The next month you go traveling, you use a gig.
Marco:
It doesn't matter.
Marco:
You pay a little bucket of rates for those two rates.
Marco:
You don't have to remember to like call ahead and raise your cap and then call ahead and then, you know, do it again when you get back and lower it back down so you don't get billed next month for the high level.
Marco:
Just automatically you get billed for what you actually use each month and no more.
Marco:
And their prices are now even lower.
Marco:
So 500 megs of data is just $12, and 2 gigs is just $29.
Marco:
So go to atp.ting.com and check out their savings calculator.
Marco:
You can see how much you can save by entering in your last few months of usage from your cell phone.
Marco:
And they will show you this cool graph, and they'll say, all right, well...
Marco:
if you continue, you know, your average looks like it's about this, uh, most months you're going to save X per month roughly with us.
Marco:
And then over time you can see, all right, well, after a year you've saved this much, you know, you will save, you know, you'll have to buy your device up front, but then you'll, you'll pay that off in say six months or whatever.
Marco:
Uh,
Marco:
great thing, the savings calculator on atp.ting.com.
Marco:
They will also pay your early termination fee up to 25% back in service credit up to $75.
Marco:
So if you have an early termination fee to get out of your existing carrier, that's a really nice little help there for you.
Marco:
And also, with Ting, there are no contracts, there are no service fees, there are no termination fees.
Marco:
So that'll be the last one you ever have to pay, right?
Marco:
Yeah.
Marco:
So like Hover, Ting has great customer support.
Marco:
They have a no-hold, no-wait phone support policy.
Marco:
So you can call them anytime between 8 a.m.
Marco:
and 8 p.m.
Marco:
Eastern, and a human being picks up the phone who's able to help you.
Marco:
So go to atp.ting.com.
Marco:
Now, here's some big news.
Marco:
For a while, there was this kind of elephant in the room.
Marco:
What about the iPhone?
Marco:
For a while, Ting didn't support the iPhone.
Marco:
They couldn't get it on.
Marco:
A couple months ago, they finally got – as I said, they're on the Sprint network.
Marco:
So if you get an iPhone 4 or an iPhone 4S that is for the Sprint network, and you can get it on eBay, you can get it on Amazon, you can get it on Glide, new or used, whatever the case may be, any compatible Sprint device.
Marco:
So the iPhone 4 and 4S have been compatible for a few months now.
Marco:
Big news, they just added the iPhone 5.
Marco:
So get your hands on a Sprint iPhone 5 through them or anyone else, and you can use that on Ting as well.
Marco:
Once again, check them out, atp.ting.com, and thanks a lot for sponsoring the show.
Casey:
All right, so my dad listens to this show, and my dad is a bit of an amateur stereophile, audiophile, whatever you want to call him.
Casey:
I know, we can go down the road of, oh, cables don't matter, et cetera, et cetera.
Casey:
But he's been giving me a hard time for a while because John had mentioned in the past that he is either seeking or had found a new AV receiver.
Casey:
And my dad has also just found a new AV receiver, and I don't recall what it was.
Casey:
But regardless, was very interested in
Casey:
to hear how John landed or is intending to land on the AV receiver of his choice.
Casey:
And my father, whom I love dearly, has been giving me grief every week asking when we're going to get to this topic.
Casey:
So, Dad, this one's for you.
Casey:
John, tell me about AV receivers.
John:
And the only reason I was even looking for an AV receiver is because, as I think I complained about when I was first talking about my TV, is that the number of HDMI ports on TVs seems to be going down, even on the super expensive ones.
John:
So my new fancy TV had three HDMI inputs, I think, compared to like four or five of my old one.
John:
I don't remember the exact numbers, but anyway, less.
John:
And I had devices.
John:
I didn't have any place to plug them in.
John:
So I needed some kind of solution.
John:
Uh, and AV receiver is one possible solution.
John:
But before that, I tried to just get an HDMI switch and I didn't actually buy any because every time I read reviews of them, there was always like a good 10, 15, 25% horror stories about how terrible they were.
John:
Every single one, like didn't matter the brand or whatever.
John:
The only ones that didn't see horror story reviews were, were super high end, like installed by value added reseller kind of $1,000 boxes.
John:
And those didn't have any better views because they didn't have any reviews because sites like that don't have a place where people can leave reviews.
John:
And I wasn't going to – look, that's as much as I need a receiver.
John:
So I resigned myself to getting a receiver.
John:
As far as your data is concerned, I don't think what I have to say will be useful because – and this is just true in general.
John:
When people ask, like, what kind of X should I buy, the more you know about a topic, the more you're just inclined to say, well, it depends on your needs or whatever.
John:
But that's so true because –
John:
For AV receivers, when I'm reading product reviews, I know what I want.
John:
I'm basically getting the world's fanciest HDMI switcher, and I have specific features that are super important to me, but that may not be important at all to other people.
John:
And on the reverse, the features that most AV receiver reviews talk about, what kind of speakers they can power, how clean an audio signal they get, all that I don't care about because I'm going to have crappy speakers,
John:
they're not going to sound good.
John:
I'm not buying this thing as a sound system.
John:
I don't care about internet radio.
John:
I don't care about music playback.
John:
All these things that are, you know, maybe the primary most important features of a lot of people who are buying AV receivers.
John:
So the one that I bought is probably not important because my needs are so weird.
John:
Like, what I wanted was a huge number of HDMI ports, the ability to switch the HDMI ports without turning the device on.
John:
I mean, like, on, on.
John:
I know they're always, you know, on.
John:
But you know what I mean?
John:
Like...
John:
Without having anything powered on all the time, because I didn't want to be constantly turning it on and off.
John:
And the ability to hook up all the devices I had, like I have component video devices like the PlayStation 2 and my Wii and the GameCube, and I have composite input devices, the GameCube.
John:
I forget if I have composite or component for that.
John:
But anyway, I have all sorts of legacy devices that, once again, on the back of my new TV, there's no place to plug them in because there's, you know, there's one component video port, no composite video port, you know, all that stuff.
John:
I wanted to play stuff.
John:
Say, I'm getting a gigantic receiver box that's got a million plugs on the back of it.
John:
I might as well find one that fits all my devices that has tons of HDMI inputs that can switch in standby mode.
John:
And I didn't care about almost anything else.
John:
So I don't think the one I ended up with is particularly useful.
John:
I ended up with a Yamaha RXV673.
John:
I should have looked this up.
John:
But anyway, something like that.
John:
And even the particular model number is interesting because when I was looking through the reviews, and I spent a long time reading reviews about this, again, ignoring almost everything that's important in the reviews, looking at the few features that I'm interested in,
John:
narrowing it down there's a newer version of this yamaha receiver with a slightly higher number like 675 instead of 673 uh but the features they added i don't care about any of them and all the features that i do care about are identical um and there's this thing even so there's this thing and i associated with sort of i wrote in the notes that programmers bias towards new models like if you write software for a living or if you're a software aficionado um
John:
Maybe it's just me.
John:
I find myself strangely compelled.
John:
Like I have to get the new version of everything.
John:
And the reason why is because it's like empathy.
John:
Like I can empathize with the program.
John:
You know how good you feel when you deleted that massive amount of code that's no longer needed to replace it with simpler code, even though it does exactly the same thing.
John:
And even though you may have actually introduced a bug because the old code worked.
John:
Yeah.
John:
I feel that way for them.
John:
I feel like, of course you've got to get the new version.
John:
I can only imagine how much better this new version must be, even if it looks functionally identical and they didn't add a single feature and it's the same speed.
John:
I just know it's got to be better in the code.
John:
I know that feeling.
John:
Well, I have the same feeling about, well, if this is 673 and 675, of course you can get the 675.
John:
Why would you get the 673?
John:
That's crazy.
John:
I'm sure they fixed tons of bugs in the 675, and maybe they consolidated some chips and it puts out less heat.
John:
You come up with all these elaborate fantasy scenarios about why the 675 should be better.
John:
But I was good this time.
John:
And I made myself say, no, you don't care about like that.
John:
They added better Pandora streaming or some other crazy thing where you can plug in an iPad.
John:
Like, I'm not going to use those features.
John:
And the 673 was like 100 bucks less than Amazon.
John:
So I bought the like basically last year's model of a receiver.
John:
Uh, and it does all the things that it said it would do.
John:
Now, the reason I put this thing in here is because despite the fact that I was able to shop based on features and stuff, one of the things that people don't talk about in their reviews for the most part is how terrible all AV receivers are in terms of their user interface and how they, you know, connect together.
John:
And I was thinking about like, it's not that hard if, if I, if a programmer was to design an AV receiver and
John:
Like when I conceptualize it.
John:
And in fact, in a lot of the manuals, you'll find a big like truth table or grid where it's like if input is from this device and video input is from this device and audio input is in that device and audio output can be on this output.
John:
And like there's like a truth table of a matrix of given these inputs and these outputs, what combinations are valid and what combinations aren't.
John:
And right away, that's kind of frustrating.
John:
I'm sure there are physical, you know, limitations of like, well, if you have video coming in and compositing, you don't have something that converts it.
John:
You can't output that video to your television and HDMI unless you have a chip to do that.
John:
And, you know, I understand the limitations that define it.
John:
But ideally, you'd want, look, I can take any video source, any audio source and put them any any inputs and send them out at any outputs, any combination of.
John:
obviously that's you know again optimistic there's hardware constraints that stop from using that but that's what you'd like is the ideal but within the realm of the things that you can do these inputs on those outputs like whatever is valid and and all the other settings you can have you know there's a bazillion settings the balance of the speakers and the surround decoding mode and if you're sending it out to the second zone and all like there's a million features in these air receivers but if you visualize all those all those settings
John:
The bare minimum that I think any programmer would do is say, give me an ability to save all the current settings under a name and let me select that name and have it change all those settings to that name.
John:
And I've never found a receiver that even does that.
John:
They all want to be like, well, when you save the setting, what you're really saying is when you change this input, we implicitly change to that.
John:
But you only have one set of speaker level settings or maybe you have two of those.
John:
That's a separate scene, but the scene doesn't affect the inputs and the inputs don't affect the surround mode.
John:
And this, the dialogue delay is independently adjustable and it's not tied to the input.
John:
It's like, it's, it's the most Byzantine mess of crap.
John:
And it's harder.
John:
I feel like it's harder for them to do that.
John:
Like the stupid, simple thing is every single setting under a name, whatever the current state of the machine is right now, save them under a name.
John:
And then anytime I go back to that name, set every single setting in the entire machine back to this.
John:
That's the stupidest.
John:
A better one would be to have subsets.
John:
Here's one set for, for speaker levels, you know?
John:
Here's one set for input combinations.
John:
Here's one set for like, and then you can combine those sets like a nested type of thing.
John:
But I'm not even going to talk about that.
John:
Just like the stupidest thing a programmer could think of is I have a billion settings.
John:
There's only certain valid states set every setting to the way you want it.
John:
Save it all under a name.
John:
And none of them do that.
John:
So,
John:
You're basically resigned to say, look, I basically just have to choose one set of speaker levels because this thing does not have a choice of a way to change speaker levels based on inputs.
John:
Or if it does, it conflicts with some other features.
John:
So I have to resign myself to just pick a good compromise there because I'm never going to go into these menus.
John:
and like turn up the center channel just a little bit when it's on this one because it's just too cumbersome so i'm just gonna have to kind of a happy medium and then for these other features i know these are tied to a preset but when i change this preset i have to remember to change the other thing because the other thing doesn't follow it with it and when i'm not running through the blu-ray player but the sound is coming back from the tv i don't want it to come back on the audio return channel because then it's only two channel because of some insane reason so i have to take the optical output but then i have to put the audio input to be av4 but it's only when i'm going through the speakers and it's like
John:
Basically, bottom line is, it gets to the point where I can work it, but anyone else in my family tries to use the television, it's too complicated.
John:
And no, a single learning remote won't solve all this because of the timing delays and how long it takes to turn things on and off, and it gets into weird states.
John:
And you really want to disable HDMI control or HEC or VieiraCast or whatever the hell they call that thing where they have a million different names where your devices control each other or HDMI, because that just adds more problems to the mix.
John:
And your best bet is just turn that off so you have a fighting chance of managing it.
John:
so in general i think i picked the right receiver for me probably not the right receiver for everybody and everybody who makes receivers should just be i'm not going to say taken out and shot but let's just say given a stern talking to about what the power of software could do to help them because i feel like they're trying to help they're trying to be like it can be like you're in an opera hall and this and it's like just let's just start from the basics save every single setting under a single name that interface sucks but still better than what you have now and then work your way up from there
Casey:
You know, what you're describing almost sounds like you want the Apple approach to a receiver.
Casey:
And please don't email me because I haven't thought this through because I didn't do any research.
Casey:
It would be a new category.
Casey:
It would be a new category, though.
Casey:
And to be honest, I don't think it's really in Apple's interest to do this sort of thing.
Casey:
But –
Casey:
Maybe we need like a nest, you know, a bunch of ex-Apple people or just smart people.
Casey:
It doesn't even have to be ex-Apple to come in and say, you know what, here's a receiver done right.
Casey:
And we will be an omnivore and consume all these different inputs and give you one or perhaps more than one for whatever reason output that makes sense.
John:
But they would never provide what I'm asking for, which is, let me change every single feature independently and save them as a set.
John:
Because that's a terrible interface for most people.
John:
But, like...
John:
They would never do that.
John:
They would just say, we've decided on all the settings for you, and you don't have to change them, which is fine for what you want, but my big complaint is they give you these settings, but then they're like, some of them are global, some of them are semi-local, some of them are local only, and when you save a preset, you're saving some weird subset of that, and it's just terrible.
Casey:
So when are you making your own AV receiver then?
John:
I mean, that's what I keep thinking about.
John:
I would be okay.
John:
Well, no, in terms of...
John:
fine, people are bad at software.
John:
Like, we're also used to, you know, car makers, and everyone who's not good at software, and the interfaces are ugly, and they look like, they used to look like MS-DOS, or they used to be like, they were excited when they even had on-screen controls.
John:
They used to just be buttons and everything.
John:
But it's like, isn't it easier to do it the dumb way?
John:
Like, it's almost like they're, I mean, it's the CES thing ever.
John:
Worst products through software.
John:
Like...
John:
the easier to implement solution is still insanely unfriendly, but it's still so much better than what they're offering because there's just no way any regular person is going to understand the, even with that giant table of valid combinations of input and outputs, they don't explain like what settings are linked to each other, which settings can be changed independently and which like you'd have to send them the source code for like to figure out like what,
John:
when i change this and save this under the setting but i changed to a different setting which settings change when i change settings and which settings stay the same and it doesn't depend on what those settings are and what things are turned on at the time or like
John:
It seems like the stupidest thing you could possibly think of would be better than what we have now, and then working your way up.
John:
When I think about Nest or Apple, Nest is trying to not have you... The Nest thing is like, all people know how to do is turn the dial hotter when they're hot, when they're cold, and colder when they're hot, and that's all we should expect them to do, and we'll do the right thing, which is a noble goal, and it's good, but I don't want that in my receiver.
John:
I just...
John:
at the bare minimum i want let me you have a million settings some of them are valid some of them some combinations are valid some aren't try to make everything valid as possible i don't want to say that well you and you have input on hdmi one you can only output over hdmi three why why well there's a hardware reason i'm sure there is but like my ideal device would be a the most complete metrics possible for inputs and outputs put whatever chips in there you have to do it every option configurable and just let me save all those options off into a set because then you'd spend three days setting it up
John:
make all your presets and you'd be done.
John:
Now it's like always a mystery of like, oh, which settings do I have to change manually after changing this thing?
Marco:
Yeah, I'm really glad that so far I've made decisions and I've kind of accidentally fallen into limitations that have prevented me from ever actually needing a receiver.
Marco:
And I've intentionally kept it that way because I have many of the same concerns that you did before getting one of trying to avoid this world of complexity.
Marco:
And I think the result of you getting one has confirmed that those concerns were valid and warranted.
Marco:
And, you know, like, it sucks that TVs don't have more inputs.
Marco:
And the reason TVs don't have more inputs is because, I guess, I assume, because most people who would fill all the inputs on a TV and need more probably also have a receiver because it's, like, the thing to get to advance your setup to the next level.
Marco:
But to not have that device would be so much better in so many other ways.
Marco:
Like, and I'm one of those weirdos, like, I don't even have surround sound.
Marco:
I'm very, very happy with stereo sound.
Marco:
For a while in college, I got the speaker set off of eBay that was a pretty suspicious description.
Marco:
It sounded like it fell off a truck.
Marco:
I didn't really pick it up at the time, but thinking back on it, I was like, wait a minute.
Marco:
But anyway, so I had this integrated powered speaker set from Sony that just one of the speakers contained all the amplification for the other ones, and it was a 5.1 set.
Marco:
And for the first couple of years of college, I actually brought all 5.1 speakers with me.
Marco:
And it sucked.
Marco:
And it was a pain.
Marco:
And I had all these wires everywhere.
Marco:
And then I just eventually stopped bringing the center and the rears and just brought the left and the right and just put it in stereo mode and left it there.
Marco:
And I realized that once I didn't have surround sound, I didn't miss it at all.
Marco:
Like, it was so...
Marco:
unimportant to me for what I actually used and what I actually cared about.
Marco:
It didn't matter one bit that I didn't have surround that I just had left and right.
Marco:
And so I was able to keep the setup simpler that whole time.
Marco:
And ever since then, I've kept the setup very simple and just have never had surround sound again because it just turned out to be this gimmick that I don't actually care about.
Marco:
So in the same way, I wonder, could you, John, could you give up any of these inputs or could you find some other solution to remove your need for this receiver?
Yeah.
John:
Well, I was in the same camp as you for the longest time because I care less about sound than I do about picture.
John:
That's why I have a super expensive relative to what normal people buy.
John:
Super expensive TV and, you know, no speakers at all for the longest time.
John:
And I loved having all the inputs on my television because it did make it simple enough for anybody in my family to use.
John:
All my devices were connected.
John:
They were all labeled.
John:
You could pick any of my game consoles by name and switch to the input.
John:
And, you know, it was straightforward.
John:
There wasn't three boxes you had to coordinate.
John:
But once the TVs came with fewer inputs, I say, well, that ship has sailed.
John:
And so if I have to get a receiver anyway, now is the time.
John:
And this is basically the first, you know, surround, you know, 5.1 system that I had.
John:
Now is time for me to do that.
John:
Previously, I had an old analog receiver in there, but I only had two speakers hooked up, though, kind of like you.
John:
And I would almost never use them because they were terrible speakers.
John:
So basically, I bought the cheapest possible and the smallest possible 5.1 speakers because my room is not set up for 5.1.
John:
It's really hard to even find a place to put the speakers and everything.
John:
But, you know, I did the research and I found what is the best cheap 5.1 system you can get.
John:
And I didn't think I would ever use it, which is why, like, I figured I'm going to get this thing.
John:
I better get the speakers anyway, but I don't want to spend enough money.
John:
They'll be off all the time, I assume, just like my old speakers.
John:
And that's why I wanted a receiver that I could change the inputs on without turning it on.
John:
And it can, it works great.
John:
Like you can, you know, I can, I can change inputs without having to turn the big thing on.
John:
It all lights up and you got to switch.
John:
Like the features that I picked for it work great, but I find myself now to my own surprise, watching almost all of my television.
John:
in 5.1 because pretty much every program i want is 5.1 like true detective is 5.1 netflix streams 5.1 apple tv 5.1 movies you know of course blu-rays and stuff like that they all put out 5.1 and my speakers again are crappy uh but the speakers in flat panel televisions are super crappy so just having like reasonable base and a center channel those are the two biggies forget about surround like very few things actually use the back channels that much anyway but just having
John:
real low-end sound, which you can't get from flat panel speakers inside the stupid TV, and a center channel so the dialogue can be understandable and loud enough without, like, you know, blasting it loud enough to wake up the kids.
John:
I am a convert to watching, even on terrible 5.1 speakers, watching television and movies like that versus watching them through the other things.
John:
So that's kind of been, like, the big surprise for me that...
John:
uh even though i am so much more visually oriented than uh auditorially or whatever audio oriented uh i find myself using this around a lot more than i could and i guess it goes a long way you know the fact that the speakers i got yes they're terrible in the grand scheme of things but they're way better than like the crappy stereo speakers i have like there's a couple hundred i've spent a couple hundred bucks on speakers but basically pretty much the same price as the receiver itself on speakers which anyone who knows anything about audio you would say no actually you should spend way more money on speakers than you should
John:
on the receiver because they're much more important but you know again i didn't care so it worked out well for me i'm very happy with the receiver i got i'm very glad i didn't buy the sony receiver that i was looking at that has the 40 page nightmare thread in the sony support forums with people having problems uh so research pays off
Casey:
You know, it's funny.
Casey:
I'm in a similar boat to Marco.
Casey:
I used, well, I still have a 5.1 setup, but I only have the subwoofer, the center and the left and right speakers on or installed right now.
Casey:
And that's mostly out of laziness because I didn't have a really good way to wire up the rear speakers without drilling through the floor or drilling through the ceiling.
Casey:
And I just didn't want to deal with any of that.
Casey:
And so I just never did.
Casey:
We've been in the house since 2008, still haven't done it.
Casey:
And there are times, there are absolutely times that I miss it without question.
Casey:
But just having proper non-built into the TV speakers and a subwoofer makes a world of difference.
Casey:
And even just having that...
Casey:
is enough to keep me happy.
Casey:
And yeah, I wish I had the rear speakers.
Casey:
There are times we'll watch a movie that is designed to be particularly immersive.
Casey:
Not that movies aren't in general, and I can't think of a great example, but a movie that clearly you want to be in the middle of the action.
Casey:
And I'll miss those rear speakers, but generally speaking, I'm fine.
Casey:
I'm perfectly happy with just the left, right, and I do have center, but left, right, and sub.
Marco:
See, I think Center is even overrated.
Marco:
So my setup now is... I just have this pair of Paradigm Atom bookshelf speakers, which are really nice bookshelf speakers, but just left and right.
Marco:
And it's like... This is a good way to buy speakers.
Marco:
It is the absolute cheapest model from a really good specialty speaker company.
Marco:
And so I think they were like $300 for the pair, something like that.
Marco:
And...
Marco:
And so I have those speakers powered by this little tiny NuForce... I think it's called the UDAC.
Marco:
No, that's not that.
Marco:
Isn't it?
Marco:
It's some kind of little NuForce amp thing that...
Marco:
is very buggy and horrible, but it powers them and it's like the size of like two Altoids tin.
Marco:
So it's this nice little tiny thing that powers the speakers.
Marco:
And so all I have is left and right and this little tiny thing powering them that has this little tiny remote, even smaller than the Apple TV remote.
Marco:
And it's fantastic.
Marco:
It's great.
Marco:
Like the difference between the TV speakers and these lives and right with no centers, just the difference between TV speakers and these is just that, you know, what John, John, I think this, I think these would address your needs just fine without a center channel.
Marco:
Like it,
Marco:
you're able to hear what's going on on the TV better at lower volumes because the speakers are larger, they're directed more at you, they're better quality, and so you can understand things a lot better without having to really crank it up.
John:
But it's not the speaker quality, it's the mix.
John:
Like when they mix 5.1, they put the dialogue mostly on the center channel and louder on the center channel.
John:
There's actual separation in a 5.1 and a good 5.1 mix.
John:
So you need the center channel speaker because they're not going to send those signals to the stereo.
John:
And in fact, the more...
John:
a signal leans toward that, the less you can hear the dialogue because there's almost no dialogue in the left and right.
John:
Almost all the dialogue is in the center.
Marco:
That's only if your receiver is terrible.
Marco:
Every signal, like almost everything, Blu-rays, DVDs, almost everything has a stereo mix.
Marco:
And things that only have a 5.1 mix will be down-mixed.
John:
I know, but I don't want them.
John:
I know that of course there's surround modes that will just take it, take the stereo signal and send it out to the centers and so on and like, or just do the stereo mix.
John:
But I want, I want to trust the person who did the 5.1 mix to properly mix it between left, right, and center.
John:
I find that, I mean, because I've, I've done it the other way.
John:
Yes, you can just, I can just, you know, I can just power on the left and right speakers and put it on the stereo mix and compare it to what it's like with the 5.1 with the center channel.
John:
And I think, I think they spend more time on the 5.1 mixes.
John:
And I think I find them, you know,
Marco:
better than than the stereo mixes well regardless so i have in my opinion a very very close approximation to the value of a full system a full 5.1 but with just these two relatively small bookshelf speakers that are each about uh let's see two inches taller than the new mac pro and uh about twice as deep and do you have a sub do you have a sub with it no
Marco:
Because I hate external subs.
Marco:
I absolutely hate subwoofers.
Marco:
I've never had an external sub on a system that I cared about for good reason, because I don't like the way they sound.
Marco:
I don't like the imprecise, kind of vague source of where it's coming from, because wherever the heck you tucked it behind the TV or whatever, it never sounds right.
Marco:
I like speakers that are big enough to do their own subwoofering.
Marco:
So...
Marco:
These bookshelf speakers for TVs are perfectly fine, and for low-volume audio, that's perfectly fine, too.
Marco:
If I wanted to get a lot more volume, I would go with floor standing, like the full floor height speakers.
Marco:
I really, really hate external subwoofers.
Marco:
They do not sound good.
Marco:
They never have sounded good.
John:
Well, they're always configured terribly at people's houses.
John:
Like, if you've only heard them in the stores in people's houses, they are just massively miscalibrated and overboosted and just super terrible.
John:
I hate them because they're gigantic.
John:
I mean, there's no getting around the fact that now you have this gigantic thing.
John:
But other than that, like, when correctly calibrated, and most of the good receivers these days have some...
John:
Usually pretty crappy, but way better than nothing.
John:
Calibration mode where you can just put an omnidirectional mic where your head would be, and it just runs test tones to adjust the levels.
John:
And I was amazed at how low level it put the sub.
John:
Basically, I was like, is the sub working at all?
John:
Because you didn't hear that annoying kind of where is that rumbly thing coming from.
John:
the appropriate level for subs according to this adjustment thing and i totally believe it now is basically like i can't hear it at all it just sounds like my speakers have more bass uh and in the few movies they really just you know thunder that out with an explosion it works well there but otherwise you should basically not hear it you just make you know my crappy tiny even smaller than bookshelf speakers feel like oh they actually have low end it's a miracle of science but really it's like that that sub that like you're not even sure it's turned on but it is
Marco:
Well, see, if you need that little of it, then I think – I mean your speakers are small.
Marco:
That's a different story.
Marco:
But if I'm willing to have bookshelf speakers, even compact bookshelf speakers, I think that's big enough.
John:
The woofers on them are big enough to provide – How big is the biggest cone or whatever?
Marco:
Give me a sec.
John:
including the rubber gasket around and it's five inches across yeah that's probably i mean five or six inches is probably plenty but my speakers are super tiny that was one of my requirements for my speakers is because you've seen the room that they're in like i have no place to put speakers so i'm like well these just they better be really small so i can tuck them in you know like you know those pictures on my mantle one of the surround speakers is like there amongst the pictures so it has to be pretty much the height of a picture and inconspicuous as possible you know
John:
So I definitely need to sub with those.
John:
Otherwise, it would just be, you know, nothing.
John:
My biggest cone is like three and a half or four inches in there.
Marco:
Yeah, I also I greatly, you know, especially as I get older.
Marco:
And of course, you know, the influence of my wife and wanting to keep the house reasonably looking is a different impact as well.
Marco:
But certainly as I get older, I'm valuing more and more having fewer smaller things.
Marco:
and less complexity in the setup.
Marco:
That's another reason why I don't want a receiver and why I don't want 5.1 or 7.1 surround.
Marco:
I'm so happy just having decent left-right speakers.
Marco:
If the TV could power them, that would be one more thing that I could remove, but it can't, so oh well.
Marco:
I'm very happy just keeping things as simple as I possibly can.
Marco:
And then you went and had a kid.
Marco:
Well, hey, now there's less for him to wreck or pull down or pull the wires out of or eat or anything else.
Marco:
So it's all good.
Marco:
Hooray.
Marco:
Thanks a lot to our three sponsors this week.
Marco:
Transporter, Ting, and Squarespace.
Marco:
And we will see you next week.
Marco:
Now the show is over.
Marco:
They didn't even mean to begin.
Marco:
Because it was accidental.
Marco:
Accidental.
Marco:
Oh, it was accidental.
Accidental.
Marco:
John didn't do any research.
Marco:
Marco and Casey wouldn't let him because it was accidental.
Marco:
It was accidental.
John:
And you can find the show notes at ATP.FM.
Marco:
And if you're into Twitter, you can follow them at C-A-S-E-Y-L-I-S-S.
Marco:
So that's Casey Liss, M-A-R-C-O-A-R-M-E-N-T-M-A-R-C-O-R-M-E-N-T-M-A-R-C-O-R-M-E-N-T-M-A-R-C-O-R-M-E-N-T-M-A-R-C-O-R-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N-T-M-E-N
Casey:
So long.
Marco:
So I went on this trip.
Marco:
Did you survive it?
Marco:
I did, I think, yeah.
Marco:
The trip was my friend from high school was getting married.
Marco:
I'm the best man.
Marco:
And for his bachelor party, he wanted to do the ski trip in Seattle.
Marco:
And one of the things that we also had the idea, you know what, let's try a LAN game.
Marco:
Because we were the two that always started all the LAN games back in high school.
Marco:
And we would play LAN games of Total Annihilation.
Marco:
And then later on, more recent games, mostly Total Annihilation.
Marco:
So we thought, you know, we both have like Apple laptops and a few of the other guys who were coming on the trip also were part of this group and also had laptops.
Marco:
So let's just try to set up, you know, basic LAN gaming.
Marco:
Okay.
Marco:
You would think in this day and age, this would be easy.
Marco:
That we're trying to run a game that came out in 1996.
Marco:
How hard could it possibly be to run this game in 2014?
Marco:
Okay.
Marco:
And so I, you know, first we tried a few things.
Marco:
I tried like, you know, what would be easiest is if I can get it running in VirtualBox because VirtualBox is free.
Marco:
And then I can just copy the VM between anyone's computer that needs it and just launch it.
Marco:
And we could be guaranteed to have the same setup on everyone's computer because I'm just copying a VM.
Marco:
That would be the best.
Marco:
Well, first, the issue, all right, well, what version of Windows do you run?
Marco:
Well, do you want to pirate some, or do you want to, like, you know, how do you deal with copying it if it's activation and all this crap?
Marco:
Then I settled on, I was going to get the version of Windows 8.1 that Microsoft was offering for a developer preview right now for free, because you can download it, there's no activation, and it only runs for 90 days, but that's all we needed it to run for.
Marco:
So, fine, right?
Marco:
So...
Marco:
I get all that and try installing it in VirtualBox.
Marco:
And the game just does not run right in VirtualBox.
Marco:
We wanted to play three games.
Marco:
Total Annihilation, Moonbase Commander, and if possible, Supreme Commander, which is much newer and higher needs.
Marco:
So we wanted to run those three games.
Marco:
And...
Marco:
you know virtual box doesn't just doesn't work doesn't run right uh we tried parallels i tried parallels before i got there um because parallels is supposedly the best one of these things of gaming um disaster by the way really annoying like parallels like the crap it installs without asking you is really obnoxious um it really yeah i would have recommended a vmware and you would have said but they say parallels is better with games they only say that because well i tried that next yeah yeah
Marco:
VMware was always my choice because it was always the much more professionally made of the two.
Marco:
And you could feel it in all the different various decisions.
Marco:
Just seemed like the more adult version.
Marco:
So I tried VMware.
Marco:
Also, it didn't work right for these games.
Marco:
So I thought, okay, well...
Marco:
I guess I can try boot camp.
Marco:
So I tried boot camp.
Marco:
Everything works great.
Marco:
Now, I get everything set up, and in order to try to mitigate having to mess with computers for hours on end, because I knew we wouldn't have time or motivation to do that on a ski trip where we would get home from the ski resort, get home from dinner, and just want to start a game in 10 minutes and play.
Marco:
If it takes more than 10 minutes to set up once we're there, no one's going to want to do it.
Marco:
So let's just make it simple.
Marco:
All right.
Marco:
Bootcamp, I know this.
Marco:
Even in the most recent version of Windows, Bootcamp worked great.
Marco:
And I bought the Steam versions of these two games.
Marco:
TA I could copy, but like Moonbase and Subcom, I bought the Steam versions because they were so cheap.
Marco:
These are such old games.
Marco:
The total was $11 to buy both of them.
Marco:
So I said, all right.
Marco:
So I emailed everyone.
Marco:
I said, all right, here's what you got to do.
Marco:
If you have a PC laptop, bring it, install the Steam versions of these two games.
Marco:
Here's the links.
Marco:
It'll toss you only $11.
Marco:
Please install them now before you get here.
Marco:
That way, when you get here, everyone has the same versions of the game.
Marco:
Everyone has the same games.
Marco:
Everyone has the same maps.
Marco:
Everything's updated.
Marco:
No one has to deal with CDs or CD checks or CD cracks or any of that crap that we used to deal with trying to get land games going when we were teenagers.
Marco:
So this should work perfectly.
Marco:
So I get there.
Marco:
One guy doesn't have it in boot camp.
Marco:
It's only in VMware, which doesn't work, and can't boot it.
Marco:
One guy has installed one of the games, not the other game, and hasn't launched Steam in a while, so everything has to update on this satellite connection in the woods that we have in this cabin.
Marco:
We spend...
Marco:
Probably a good 45 minutes trying to get one game started of the simplest possible thing, passing USB keys back and forth, copying all this crap between the two computers, having Steam launch and then fail and not connect to the internet and then want to update itself, not have the updates.
Marco:
And, of course, nobody had actually done what I said or they'd done half of it or they'd done a half-assed job of the things I did say.
Marco:
And...
Marco:
finally we get the games both launched both running and can't see each other over the network and we're just like ah screw it let's get some bourbon and that's the night became a bourbon night instead of a video gaming night and this is like i tell this here because it's like this is this is still like the state of trying to get a land game going
Casey:
So, I mean, in the end of the day, though, your evening became better because it involved bourbon instead of old-ass PC games.
Marco:
To be fair, it probably would have ended in bourbon regardless, but at least that would have been after the games or maybe during, you know, halfway through the games.
Marco:
Yeah.
Marco:
You should have brought Nintendo 64.
Marco:
You could have hooked up a TV and played Goldeneye.
Marco:
Oh, amen to that.
Marco:
That would have worked.
Marco:
that actually yeah because we played a lot of that too that actually would have been better i mean the whole time i was thinking like of course we all had to be like the difficult nerds and like these weird pc rts games like why couldn't we all just like an xbox game it'd be so much easier nope no we have we have to be difficult
John:
For a little while anyway, pretty soon you're not going to be able to plug a Nintendo 64 into the back of a TV because nothing will have composite ports.
John:
But in some crappy hotel, composite ports are still probably there for a while.
John:
You probably can get some sort of cheap up-converter box that has HDMI out on it.
Marco:
Yeah, that's one more thing you got to bring.
Marco:
Like, you know, a couple of laptops take up less space in a bag than an N64 and a few controllers.
John:
I know, but the N64 is like, you control that.
John:
That's the flaw in your plan was relying on other people to successfully do something.
John:
You're like, well, I've done the hard work.
John:
I figured out what you guys need to do.
John:
All you need to do now is execute on this simple plan.
John:
And that was, you know, that's your downfall.
John:
It's like...
John:
if you wanted this to work you should have been like calling each person on the phone a week before three days before day of and say have you done all this stuff have you launched steam you're not running in a vm are you i know you might be doing that boot camp means you reboot the whole computer and you just see windows no it's not you know like you have to like nag them to death until you confirm and then like your test games remote you know from each other to make sure you can see each other over the network and they have different steam ids and you've locked you're connecting to steam for the first time from this computer please re-enter your password oh i don't remember what it is like
John:
There are so many places it could go wrong.
John:
It does not surprise me that you were unsuccessful.
Marco:
Another idea I had was to just rent four laptops before I got there.
Marco:
Because you can rent laptops from some places, including TechServe here in the city.
Marco:
You can just rent a laptop.
Marco:
I'm like, let me just configure them before I even go and just bring my own.
Marco:
Bring a stack of four 13-inch MacBook Pros pre-configured to work exactly the way I want to.
Marco:
But that would have cost like $1,000.
Marco:
And I thought, you know...
Marco:
Everyone will have laptops anyway.
Marco:
That would be wasteful.
Marco:
Let's see what we can do.
Marco:
I'm sure it's so easy.
Marco:
You should install any version of Windows, install the Steam versions of these games, and bring your computer.
Marco:
That's it.
Marco:
Nope, that's not it.
Marco:
That's not that easy.
John:
And this is the good version.
John:
Steam is just the modern miracle of PC gaming.
John:
It makes it so much easier.
John:
Right.
Marco:
No serial numbers, none of that crap.
Marco:
Everyone has the same version.
Marco:
It's always updated.
Marco:
Come on.
Marco:
Nope, can't even do that.
Casey:
Sounds like fun.
Casey:
Although, you know, I'm a little disappointed that you didn't try to bring all these computers through either gate check or through baggage claim or whatever, because, oh, man, there's no reason why that should be a problem, but there would have been a humongous problem with that.
Marco:
Oh, yeah.
Marco:
Like, you know, why does one person need four laptops?
Casey:
Clearly, you're, you know, trying to hack the NSA.
Casey:
What else could you be using four laptops for?
Casey:
Oh, yeah.
Casey:
What else going on?
Marco:
There's this Pano thing.
Marco:
There's not much to say about Pano.
Marco:
I wrote a thing about it a few months ago.
Marco:
I'll link to it again tonight, I think.
Marco:
But basically, it's linked to an article by one of my favorite writers, Dan Rudder, of Dan's Data.
Marco:
And he wrote this big thing, basically debunking the whole... Collecting a whole bunch of debunkedness in one place.
Marco:
Debunking the whole thing about how... It turns out you can't hear the difference between...
Marco:
you know, over 44.1 kilohertz files and over 16 bit resolution and, you know, all like the, all the supposed benefits of this like high bit rate, uh, high, you know, high sample rate, high, high density music, high definition music rather.
Marco:
Um, you know, and there, there is a real thing, um,
Marco:
with remastering.
Marco:
And you have the loudness war making music sound terrible the way it's released on CD and stuff.
Marco:
And then a lot of these high-definition re-releases that are at 192 kilohertz or something like that, 24-bit, 32-bit, float, whatever it is, a lot of them will have a better, more...
Marco:
more even, less FM radio-like mastering so that they will sound better just because they were mastered better and they were crushed and compressed less in the dynamic range.
Marco:
So there are lots of reasons why some of these things sound better, but none of them are the bit rate or the sample rate above a certain point.
Marco:
And that point is pretty much CD quality.
Marco:
And...
Marco:
So, you know, these things like Pono, I mean, God, I could talk forever about audiophile stuff and I won't, but.
Casey:
Let me quickly interrupt you.
Casey:
For those who don't know, Pono, Pono, Pony, Poned, whatever it's called, is this thing by Neil Young where it's supposed to be a high fidelity portable music player.
Casey:
And I'm assuming there's a story associated with that.
Casey:
Is that correct?
Yeah.
Marco:
Yeah, it's basically trying to be like a high-definition version of iTunes.
Marco:
So it has the device plus the music store that goes along with the device, and it's a whole new ecosystem that is, I believe, funded on Kickstarter shortly, or about to be funded on Kickstarter, or at least, rather, it will be put on Kickstarter.
John:
I'm not sure if it will succeed.
John:
No, it's already funded.
John:
It's like double funded.
John:
It wanted 800 grand, and they've got 1.6 pledged already.
John:
Yeah, that's not good.
John:
Well... Well, I think that is good.
John:
I'm rooting for these ecosystems to become vibrant because what it means is that we'll be able to get, like, you know, 256 kHz lossy rips of all their well-mastered tracks and import them into iTunes.
Marco:
Yeah, I mean, that's... Like, you know, this is one of those things where it would be nice...
Marco:
for mastering engineers to have a market force to make things better.
Marco:
Unfortunately, I think they already do.
Marco:
I think the general drop in the relevance of radio helps a lot.
Marco:
I believe Apple's... Is it called Mastered for iTunes?
Marco:
Yeah, they're better, but open them up in an audio app.
John:
It's still kind of like a wall of fuzz.
John:
The dynamic range is basically what we're looking for.
John:
They're like...
John:
you know, from the loudest to the quietest thing, you just look at the waveform.
John:
If the waveform looks like one big squiggle that's the, that goes the full height of the thing all the way across.
John:
That's, that's your problem.
John:
And they're, they're master fried tunes ones are better in that regard, but they're nothing like, if you look at like the levels on like vinyl or whatever, where there was the quiet sections were barely little ripples.
John:
And then the loud sections just started to go close to touching the edge.
John:
This is all like, you know, graft on a line where it's maximum, um, you know, amplitude or whatever, but it,
John:
I think I have faith in the mastering that these people are going to do with their crazy high bit rates and everything, that that mastering will be more aggressive in terms of dynamic range than even the mastered for iTunes.
John:
So that's why actually I was serious.
John:
I actually do look forward to if I can get some of my favorite songs as 256 kilobit rips of those lossless, crazy high bit rate ones that I'll be able to experience the song in a new way with a much bigger dynamic range, even better than the mastered for iTunes.
Marco:
Right.
Marco:
I mean, and that's all very valid, but it's kind of like the placebo effect.
Marco:
It's like, well, you can argue that it works, but it doesn't really work for the reasons people think it works.
Marco:
This is the kind of thing, these tracks might sound better, but it's not because of any of the technical things that they have on their platform.
Marco:
It's entirely because of
Marco:
the input, how the music is mastered going in.
Marco:
That would be why they sound better.
Marco:
It turns out if you do, there's a number of sites that offer this.
Marco:
Man, I forget.
Marco:
Let me see if I have it on my autocomplete.
Marco:
Yeah, this is really cool.
Marco:
If you go to mp3ornot.com,
Marco:
This is hilarious.
Marco:
It basically automates an ABX test.
Marco:
So an ABX test, in brief, and please, people of science, I apologize if I'm messing this up.
Marco:
An ABX test, so you've heard about AB tests.
Marco:
You try one thing and then try another thing and see which one you think is better.
Marco:
And the problem with that, there's lots of problems with that, but it's easy to hear things that aren't there or perceive things that aren't there, and you don't really know.
Marco:
So an ABX test is you have two unlabeled inputs, or even labeled, it doesn't really matter, two inputs, A and B. And then you have this X, and you say, all right, here's A, here's B, you can listen to them as much as you want.
Marco:
Here's X, you can listen to them as much as you want.
Marco:
Is X A or B?
Marco:
And so MP3 or not, this site is an example of one of these things.
Marco:
So it says, all right, so you have A and B. A is a high bitrate MP3.
Marco:
B is a lower bitrate MP3.
Marco:
What is X?
Marco:
Is it the 320K or is it the 128K MP3?
Marco:
And I tried this site on my setup, which I currently have what many people would argue would be the best headphones in the world.
Marco:
I could not tell the difference between these two.
Marco:
I failed.
Marco:
I got it right about half the time, which means I'm failing.
Marco:
That's random guessing.
Marco:
I could not tell the difference reliably on this site.
Marco:
There's always more things you can blame.
Marco:
You can blame my lack of sophisticated years.
Marco:
You can blame some other part of my setup.
Marco:
You can blame the fact that these are both MP3s and neither one of them is a lossless file or whatever the case may be.
Marco:
But
Marco:
It's one of those things like hearing the difference is largely psychological with a lot of these things.
Marco:
And a lot of the possible upgrades and enhancements in fidelity or hardware advancedness in the audio world, a lot of them don't stand up to ABX testing, including things like fancy cables or even fancy amps.
Marco:
A lot of this just does not hold up.
Marco:
And the reality is most people, even the audiophiles who own and buy and talk about these things, usually even they have a pretty hard time in ABX testing, telling the difference between things like MP3 bit rates, fancy cables, and fancy amps.
John:
For MP3 bit rates, a lot of it depends on if the actual specific song they're playing to you happens to hit one of the areas that MP3 encoding is bad at encoding like this pathological cases with like, you know, you get that MP3 sizzle, but only for certain sounds with a certain cadence and a certain frequency.
John:
So if you play.
John:
some song that does not have any of that noise and that you won't like that's what people are hearing basically is the artifacts like it's fine when you know you're not running into one of these areas where the ways mp3 cheats uh end up becoming visible and so like if it's like you know just i don't even know if it's over like sort of middle of the road classical music with sort of like nice tones and it's not like high frequency high pitch drumming and symbols where you might start to heal hear a little bit of those artifacty sizzles
John:
But that's basically what I have bad ears to.
John:
But if I was trying to listen for something, what I'd be listening for are those artifacts.
John:
And I know those artifacts from the days of, like, you know, 96 kilobit and all the, you know, super overcompressed.
John:
Like, those same artifacts, like, oh, in this part of the song, I can totally hear all this fuzz.
John:
Keep cranking up the bit rate.
John:
Around 128, pretty much almost all of that fuzz goes away, but there's maybe a little bit left.
John:
256, I can't hear anything.
John:
And 320, certainly, I can't hear any difference.
John:
But what I do hear definitely from...
John:
As I have lots of copies of the same music bought on remastered on CD and stuff like that, and the original on CD, and then the crappy original CD release, I hear differences in the mix, and that's more important to me than the bit rate at this point.
Casey:
Yeah, I definitely notice older, like I still have pretty much my entire music collection from whenever I first started amassing MP3s, so 96, something like that.
Casey:
And the MP3s that were ripped way back then, when our tools weren't as good, nobody knew what settings to use.
Casey:
Arguably nobody does today, but certainly more do than 96s.
Casey:
I can absolutely hear compression artifacts, particularly with cymbals.
Casey:
Especially there, I can hear a lot of artifacts.
Casey:
But compare that to anything ripped in the last five to ten years, and I agree with you that once you hit – for me, it's about 192.
Casey:
Over 192, I don't think it makes a difference.
Casey:
I feel like 128, maybe it's in my head, but I feel like 128, I can still hear the artifacts.
Casey:
192 is all I need, and then I'm happy.
Casey:
So, titles.
Marco:
Let's go with the woodpecker.
Marco:
Fair enough.
Marco:
All right, let's go to bed.
Casey:
Well, I will say that I'm very close to releasing the iOS 7 update for Fast Text, and I really need to do it, well, in the next six months, so I beat Overcast.
John:
Can you put a foot, some kind of feet-based Easter egg in there for me?
Casey:
I'll figure something out.
John:
And if you don't beat Overcast, you should really feel ashamed because the relative complexity of these applications is not... Damn it, John.
Casey:
Don't you sell fast text shortly.
Casey:
No, it's not true.
Marco:
I just set myself back a month.
Marco:
You should be able to beat me pretty easily.
Casey:
Yeah, well, I've been working with the designer, Jacob Swidek, and he's been very good.
Casey:
And on a wildly unrelated note...
Casey:
I've been playing with Node.js a lot.
Casey:
I really like it.
Casey:
That kind of makes me feel dirty.
Marco:
That's good, man, that you're actually doing something more recent than anything John and I will probably ever do.
Marco:
What are you talking about?
Marco:
I do Node stuff all the time.
Marco:
Seriously?
John:
It makes me hate JavaScript even more.
John:
I'm a web developer.
John:
JavaScript all the time.
John:
JavaScript is a fact of life, a sad, sad fact of life.
Casey:
Well, yes, but doing JavaScript in the browsers is in many – well, it's a far cry.
John:
No, it's not the browser.
John:
Writing real programs with JavaScript, which is basically what any web developer is doing at this point.
John:
You're not just like, oh, this is a way for me to script the browser.
John:
That age passed long ago.
John:
We're writing real programs in JavaScript.
John:
And then when you have to write a real program in a language, that's what makes you really hate it because you're like –
John:
If I had this feature from this other language, this wouldn't be so stupid.
Marco:
Right, you start hitting all the little walls and all the things that are, like, still kind of half-built and still immature.
John:
Or even just, like, every time I just have to do string manipulation, it's like, you were so close.
John:
You had all the features.
John:
The syntax is so stupid.
Casey:
Of course a Perl programmer would complain and moan about string manipulation.
John:
Anything.
John:
I'll take it.
John:
Pick another language.
John:
PHP, Ruby, SED, AUK.
John:
Anything has better, like, more convenient...
John:
uh string manipulation than javascript every time i gotta do like you know string dot match and then wrap the whole thing in parens and and subscript off the first one because index zero is the original string again for some insane like i just it's not it's not huffman coded to use pearl parlance the the most common things are not short and simple most common things are just as stupid as the complicated things
John:
you're so bitter and jaded and old it's so funny but anyway yeah node node is node is a fun way to did you have you tried that ghost thing that's speaking of a nice node app to look at the what ghost it's like uh what do you call it that would change his blog to it i heard about it from him it's a way to run a blogging engine they have a hosted version that they charge an arm and a leg for but it's open source and you can just download it and run on your local system and it's just a node-based blogging engine it's like
Casey:
Oh, well, that's exactly what I'm writing right now because you did it and Marco did it and I didn't want to be left out, damn it.
John:
I did not make a blogging engine.
John:
I made a way to produce HTML files that I R-sync up to a server.
John:
Anyway, but yeah, like I said, mine is not a system at all.
John:
But Ghost is, and if you're making one yourself, you should just download Ghost and just look at the source because it's eminently understandable and it's a neat little app.
John:
Like, I don't...
John:
like it particularly i wouldn't use it as a blogging engine but seeing it's kind of the first like example because it's open source of like here you go here's the whole thing run it yourself if you want uh and it's small enough you can understand it yeah but then that defeats the whole purpose then then i could just use tumblr
John:
No, no, just look at it to get like ideas of how they structure things is like, I thought it was a prototypical example of how do you write a modern node based web application without including umpteen billion frameworks, although they do install a lot of other modules, but it was pretty straightforward.
Casey:
You have to consider that I'm way too self-obsessed to do anything smart like that.
Casey:
Plus, I'm way too bad at Node, and I'm sure if I looked at this, which I will, I would look at this code and be like, oh, I don't know what the hell's going on.
John:
No, you will find it completely understandable.
John:
Everything is extremely straightforward in it, I think.
Casey:
Fair enough.
Casey:
Well, my blogging engine, which is barely an engine that basically just regurgitates Markdown and builds an RSS feed and does a couple other very small things, it is sitting at 309 lines of code.
Casey:
And by that, I mean there's 309 lines in this file, some of which are comments, a lot of which are white space, etc.
Casey:
So there's not that much to it.
Casey:
I'm really enjoying it for basic stuff.
Casey:
I wouldn't want to use Node for anything serious or complex, but for basic stuff, it's pretty nice.
Marco:
You know, if it were Rails, you could build the entire blogging system in one line of code.
Casey:
I've never done Rails, actually, nor Ruby, ever.
Casey:
I've dabbled with Python.
Casey:
I've done, like, basic, basic, basic Python and basic, basic, basic PHP, which is to say I've never gone object-oriented either.
Casey:
But Node is cool.
Casey:
And JavaScript ain't so bad.
Casey:
It makes you think about things differently, which is kind of neat.
Casey:
All right.
Casey:
Glad you agree.
Casey:
Jerks.