PodSearch

ATP

56: The Woodpecker

 

00:00:00   Given your musical taste. I bet you'll like Coldplay. I do like Coldplay. I prefer Radiohead, but I like Coldplay. I prefer Energy.

00:00:07   What? That's probably a perfectly reasonable joke that I just did not get. No, you got it.

00:00:14   So, Jon, tell us about the Fountain format. Yeah, we mentioned this in the show where we talked about script notes.

00:00:22   Fountain is that markdown-like format that you use to write

00:00:25   screenplays

00:00:28   And the time that I brought up, we brought up the second time, I said it was invented by John August

00:00:33   and someone tweeted me to just clarify. It was created by John August and Nima Youssef and Stu

00:00:38   Meschwitz. So three people created it, not just John August. Don't want to just give credit to the

00:00:42   one guy who happens to have a podcast that we listened to and talked about. And are still

00:00:46   talking about. There you go. You know. I mean, here's the thing about the correction that that's

00:00:50   small. I think it's worth correcting, but you have no place to correct for it except in the follow-up.

00:00:56   So like if I just tweet about it and I have to rely on everyone to listen to the podcast also following me on Twitter

00:01:01   So the correction has to go in the podcast no way around it usually follow this this minuscule I

00:01:05   Exclude but I think crediting is worth putting in

00:01:09   Alright, so software complexity if you guys remember what I said about software complexity last week. It was a

00:01:16   second only to parenting

00:01:19   Something like that. I

00:01:20   You know as always I really listen to the show

00:01:22   I want to make sure that I remember what I said, but of course I re-listened to the show

00:01:27   so long ago that I've since forgotten.

00:01:29   But I personally got a lot of feedback about this.

00:01:31   I don't know if all of you guys did.

00:01:34   Did it come through the feedback form?

00:01:35   A little bit came through the feedback form, but I got a lot of tweets, a lot of snarky,

00:01:40   angry, and questioning tweets.

00:01:42   Oh, that's right, because I saw Dr. Drang call you out on it, and you said that you

00:01:47   would correct him—in my words, not yours—you said you would correct him in the next episode,

00:01:52   I'd forgotten about that, and I'm very excited to hear where this is going.

00:01:56   Yeah, so it was like an offhand comment, something to the effect that software is the most complex

00:02:02   thing made by humans or something similar like that, you know, or I threw in parenting at the

00:02:06   end as a joke. And it was imprecisely worded because I thought I was referring to an idea

00:02:12   that everybody knew, like I was referencing something that was shared knowledge with me

00:02:16   in the audience, and we all knew about it, and most of us probably agreed so I could just,

00:02:20   you know, say something vague and be like "oh he's referring to that idea" and then that's put the

00:02:26   joke about parenting at the end, you know, "ha, whatever." But that, like, that was not an expression,

00:02:32   not a complete expression of what I meant, which is not surprising to me that so many people heard

00:02:36   that and misinterpreted it, because if they don't know what the heck I'm talking about,

00:02:39   the words I said were not essentially what I meant. So, did you, well, you saw Dr. Drang being

00:02:47   being angry about it, but what did you guys think I meant or think I was referring to

00:02:52   or did you know what I was referring to? I did not. I thought you were being genuine.

00:02:56   I didn't think you were being, I thought you were being playfully snarky. Like you were,

00:03:01   you were trolling in a, in a, in a not jerky way in a ha funny way. You're going to make

00:03:06   me go off on a tangent about the definition of trolling because I have a fairly precise

00:03:12   definition of trolling, which is intentionally saying something you don't believe to get

00:03:16   arise out of people. That was not what I was doing. People use trolling to mean just like

00:03:20   saying something that gets people angry. But if you really believe it, you're not trolling. You are

00:03:25   expressing your actual… Anyway, forget about trolling. So here's what I was referring to.

00:03:31   I think I can sum it up reasonably concisely and then just ramble a lot at the end until

00:03:35   everyone's sick of it, this topic. And I had to look this up because it was another thing that

00:03:42   I just assume everybody knows, but they don't. A saying that I can remember seeing for decades,

00:03:47   I don't know where it came from. When I Googled for it, I got it attributed to some name but not

00:03:51   a timestamp. But the last place I can be sure I remember seeing it, or the first place I can

00:03:57   be sure I remember seeing it is on Usenet and signatures. It was in everybody's .sig. Kids,

00:04:01   ask your parents what a .sig is. And it's this saying, and you can tell me if you've heard this

00:04:06   before. "If builders built buildings the way programmers write programs, the first woodpecker

00:04:10   that came along would destroy civilization. Have you heard that one before?

00:04:14   No. Very popular saying back in the early days of the internet. Lots of dot-sigs. I'm sure it

00:04:19   predates the internet because programming certainly does. I found it credited to

00:04:23   Jarrell Weinberg, but I don't know if that's accurate. I only did five minutes of looking

00:04:30   that up because I'm not supposed to do any research. All right, so that saying, what it's

00:04:36   trying to get at is like the first premise behind the idea that I'm getting at is that

00:04:40   software has more problems than other seemingly similar things like other forms of engineering

00:04:46   and construction and stuff like that. That's what they're saying. It's like, well, the

00:04:49   people who build buildings, if they were as crappy as programmers, woodpeckers would destroy

00:04:53   civilization. That's idea number one. There are always bugs in software, and sometimes

00:04:59   they're super really serious bugs, not just minor ones. And even software written by the

00:05:05   the very best programmers, the very best practitioners in the entire field, those have big problems

00:05:10   too, right? And I think everyone can agree on that. If you write software-reliving, you

00:05:15   know bugs are a fact of life. It's not as if, "Oh, when I get really good at programming,

00:05:18   I'll stop writing bugs." That never ever happens.

00:05:21   [Laughter]

00:05:22   Actually, your bugs become harder to find.

00:05:23   Right. And that the quality of software, I think we would all agree, like that saying

00:05:28   is funny about the woodpecker destroying civilization, because there is not just a grain of truth,

00:05:32   but a serious amount of truth behind that.

00:05:36   People in other professions that seem similar

00:05:38   certainly seem a hell of a lot more competent.

00:05:40   The average is better, and in programming in particular,

00:05:44   no matter how good you are, you're

00:05:46   never going to achieve a level of competence that's

00:05:49   even close to the average of these other professions.

00:05:53   So the second premise behind the idea that I was referring to

00:05:57   is that, assuming you agree with the first one-- this

00:06:00   is another big chain of things.

00:06:01   Like if you disagree with me at any point,

00:06:02   They're not going to all connect.

00:06:05   You have to kind of follow the whole chain.

00:06:06   And if you disagree at any point, well, then oh well.

00:06:09   But if you agree with that first bit, the second bit is,

00:06:13   the first bit about software being crappier

00:06:16   and the woodpecker thing, it's not

00:06:17   because software developers are dumb or lazy.

00:06:19   It's not because we haven't thought about programming.

00:06:25   It's not because people haven't tried

00:06:26   to figure out better ways we might be able to program.

00:06:28   It's not because programming is super young.

00:06:31   been doing this for decades, and something that I think most programmers and most other people

00:06:37   would agree with is that this nature of software that is discussed and being crappier than other

00:06:42   things is because software is different than those other things, not because of any lack of effort or

00:06:48   knowledge or skill or the biggest programmers are stupid or anything like that. We've had decades

00:06:54   and decades of research and hard work, and they have not really led to any big reduction in

00:07:00   sort of the number of bugs per line of code or whatever stat you want to put up.

00:07:04   A programmer today versus a programmer writing something on punch cards error-rate-wise are

00:07:10   probably pretty similar. And it's not for lack of trying. It's not like, "Well, we've never really

00:07:14   put any effort in trying to figure out how to write software better." No, we put a lot of effort

00:07:17   into it, and it seems — I'm not going to say it's intractable, but so far we haven't cracked it.

00:07:21   And like the Fred Brooks things that I mentioned in the last show, you know, the mythical man month,

00:07:29   how adding manpower to a late project makes it later. That is not true of building a bridge.

00:07:35   If you double your manpower, you can probably build a bridge faster. Any sort of more scalable

00:07:40   physical endeavor or building a skyscraper, if you've got one guy building your skyscraper,

00:07:43   boy, it's going to take forever if you're running late, if you add more construction workers,

00:07:47   up to a point, obviously. But the Mystical Man month is famous because it's such a counter

00:07:53   intuitive finding for software in particular. And Fred Brooks, again, with no silver bullet,

00:07:58   The Mythical Man month was 1975, No Civil Broke was 1986. Programming's been around since,

00:08:05   you know, in its sort of modern form since the '50s, '60s, right? So these are people trying

00:08:13   to research what we can do to get better. No Civil Broke was that we've looked into this,

00:08:16   and it doesn't seem to be anything we can do that will really make us better programmers by, like,

00:08:21   an order of magnitude, used in the correct sense for all the people who are pedantically

00:08:25   correcting Casey about that. And these two sort of seminal works in the in the world in the software

00:08:32   field are fairly old, and I think most people accept them. That this all comes together as

00:08:39   like programming is for some reason we're really crappy at it, we can't figure out how to get that

00:08:44   much better, and it's not for lack of trying. And so that's where I'm coming from in this. And

00:08:52   There's lots of silly misinterpretations of what I said which are probably accurate if you were to look at the words

00:08:57   But like should have been dismissed

00:08:58   This is something when you listen to somebody like give them the benefit of the doubt assume

00:09:01   They're not like really dumb because it's always easy to say aha the exact words

00:09:05   You said would only make sense if you meant

00:09:07   You know mean this and that's a stupid idea instead of saying well you must not have meant the stupid idea you must have

00:09:11   Met something else anyway. It's not their fault

00:09:12   It's my fault for saying the wrong thing, but silly misinterpretations that I like to

00:09:16   dissuade people from now is one that programmers have the hardest profession in the world. That's

00:09:21   obviously silly. Pretty much any other job in the universe is harder than programming, at least

00:09:25   like physically and emotionally. It's very hard to think of a profession that is easier than

00:09:30   programming. Maybe you could think of some that might be easier mentally, but that really depends

00:09:34   on what kind of mental state you have. If you have the type of brain that eats itself, if it

00:09:39   doesn't give me something to do, then actually being a checkout clerk is harder mentally than

00:09:44   being a programmer. But any job is harder physically. Almost all jobs are harder emotionally.

00:09:49   It's trivial to think of a harder job, so that's not what I meant. Software is the most complex

00:09:53   thing in the world. That is obviously also silly, but there are some nuances that I'll get to in a

00:10:00   bit. But just to give an easy example, the human body is obviously more complicated than any

00:10:03   software we will probably ever write. And people deal with the human body all the time in many

00:10:09   forms, not just doctors and all that other stuff. So here's what I did mean based on all those

00:10:14   premises that I just described about software being the most complex things made by a human.

00:10:19   Well, I guess one more sort of foundational thing that you have to understand and agree with me with

00:10:26   is that software is written on top of an abstraction, and that abstraction is what we

00:10:31   call the hardware, and it's an engineering task to make that hardware. So someone somewhere is

00:10:37   responsible for making essentially a machine with chips or transistors or whatever, that provides an

00:10:42   abstraction that lets software work in the world of ones and zeros. It's the hardware's job to

00:10:46   figure out the ones and zeros. Completely on, completely off, transistors, CPUs, clocks,

00:10:51   phase loops, power supplies, all that stuff, that's running hardware. That is all to make

00:10:57   an abstraction where it's like, okay, from this level up, it's ones and zeros.

00:11:00   Sometimes that abstraction is leaky to use Joel Parlance, but that's not what we're talking about

00:11:07   when we're talking about bugs. If only most of our bugs were attributable to hardware problems

00:11:11   where the ones and zeros break down. That is not what causes most of our software bugs. The hardware

00:11:16   for the most part does a really amazing job of maintaining that ones and zeros

00:11:20   abstraction. And our software bugs are not caused by that abstraction leaking,

00:11:23   are not caused by, "Oh, a one accidentally flipped to a zero and that's what caused the bug." No.

00:11:27   What caused the bug in your program was you writing bad code. There are hardware bugs,

00:11:32   but that's not what we're talking about almost all the time. In fact, it's so novel when it's

00:11:35   It's a hardware bug. It's like an exciting story, right? Whereas if you just make a software bug that happens every day

00:11:40   And above that ones and zeros layer

00:11:44   We human beings we saw four people are responsible for everything

00:11:48   And that's not to say that we have to write everything ourselves because you have libraries and OSes and frameworks

00:11:53   Like we've built up this gigantic tower of stuff on top of those ones and zeros

00:11:56   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

00:12:04   is understandable to a programmer. The idea that software is, for the most part, pretty much nearly

00:12:12   100% knowable by humans. It doesn't mean they have it all in their head, doesn't mean any human being fits the entire, like, knows every single

00:12:18   thing that's happening in the program, but it is knowable and understandable. If you want to look up what's happening

00:12:22   you can find out. All the way down to getting, like, the manual for the CPU and figuring out what the machine code is and

00:12:28   disassembling it, like, it is knowable. Doesn't mean you know it,

00:12:31   But it means like the only thing stopping you from figuring it out like if you have some super hard bug and keep digging down

00:12:36   Down down eventually you're gonna get down to ones and zeros and those ones and zeros are knowable

00:12:40   I you know Casey would know or any other done person who's done EE or any type of thing where you build a

00:12:45   CPU up from logic gates first you learn how transistor works

00:12:48   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

00:12:52   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

00:13:00   Now I mentioned the human body before which is way more complicated than any program

00:13:04   But humans don't create the human body not in the way not in the way

00:13:08   I'm about to describe obviously we do but not like assembling at a piece of time

00:13:12   So so let's think about something like a bridge right a bridge is also more complicated than any program

00:13:17   We will ever write in fact bridges are so complicated that we can't even like reason about them as they are we have to use

00:13:23   Approximations and models and stuff like that to figure out whether they're gonna work right everything we do and that type of engineering

00:13:29   has to be based on these models that are not reality, but they're hopefully close enough when we refine them and do everything like that.

00:13:34   Because they're they're fiendishly complicated.

00:13:36   That's another thing people think, "Oh, you know, you're saying computer programs are so complicated.

00:13:41   Well, what about a bridge? Like a pencil is more complicated than a computer program if you look at it at the atomic level."

00:13:46   So I think we can all agree that bridges are generally more reliable than software, like actual bridges.

00:13:56   Bridges fall down, drop in the car, into the ocean much less often than software just totally craps the bed and does the equivalent.

00:14:02   And granted we've been building bridges for a long time,

00:14:05   but I don't think the head start really explains this because of, you know, the acceleration of technological advancement.

00:14:10   So the analogy I would say is like programming is like having to assemble a bridge

00:14:15   starting from subatomic particles and you're not allowed to

00:14:19   know the current laws of physics and use them as a reference. You have to invent everything, right?

00:14:23   And so you'd you'd build on the equivalent of libraries and frameworks the equivalence of library and frameworks in the bridge world

00:14:29   But would be like well, what if there's a bug in the gravity library?

00:14:32   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

00:14:41   Liquid at room temperature of a certain kind of car travels over the bridge

00:14:43   that's what we're doing in the world of software and it's because

00:14:46   The entire stack is both created by humans and noble by humans

00:14:52   There is no sort of like, "Well, that's the way things work and we'll build models to, you know, to sort of

00:14:57   approximate what's going on and using these heuristics we can come up with something reliable."

00:15:01   Every single piece of it from the top of the bottom is noble and changeable by the programmers.

00:15:06   And so these things, when I say software is the most complicated thing created by a human,

00:15:10   I guess maybe more accurate to say software is the most complicated thing

00:15:13   wholly created by a human because it is wholly artificial. Like once you get above the ones and zeros,

00:15:18   All that one since here was us and there are no rules except the rules we make there is no gravity

00:15:22   There's no laws of physics. There's no

00:15:24   You know physical properties. There's there's nothing there is only what we make of it

00:15:29   every single layer of that layer cake has bugs and nuances that are

00:15:33   Knowable to us but are not known to us and so that you know

00:15:38   The higher we build the more chance there is that we don't understand something about cocoa

00:15:41   that we think we understand and this thing ends up being like unallocated in the time we tried to access it or

00:15:47   that there's a bug in the cocoa library and it's revealed in some very strange corner case like I'm not saying all bugs are do

00:15:53   The bugs and frameworks and everything but like that all the way this turtles all the way down

00:15:56   It's all humans writing programs, you know that are knowable but unknown and that's the world we're living in and that I think is

00:16:03   describes the unique nature of software as being the most complicated thing that we make from top to bottom because it is completely artificial

00:16:10   The human body is not knowable because it's way too complicated, but weird. We don't make it

00:16:15   we're not responsible for it. No one expects you to know. Could you tell me what the electron in

00:16:20   this atom and this person's eyeball is doing right now? Of course not. But if someone asks you,

00:16:24   can you tell me when this value is going to change? A, you can actually tell them,

00:16:28   and B, you should understand why that's happening. And if you had a bug related to that little

00:16:31   electron, you should be able to figure it out. So I don't know if this is convincing,

00:16:36   as I keep piling on the assumptions. I think most people will agree that software is bad,

00:16:41   and that it's not bad because programmers are lazy, but I think most programmers will agree that

00:16:45   the unique nature of software is essentially that it is really complicated in the realm of things that we make ourselves and

00:16:53   Every single part of us every single part of it is created by us and in theory noble but knowable by us

00:16:59   We are sponsored this week by our friends at Squarespace

00:17:04   The all-in-one platform that makes it fast and easy to create your own professional website or online portfolio

00:17:10   For a free trial and 10% off go to squarespace.com and use offer code critical

00:17:16   Squarespace has constantly improving their platform with new features new designs and even better support

00:17:22   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

00:17:29   You can start with over 20 highly customizable templates that have won numerous design awards

00:17:35   And then you can modify those you can inject code you can use graphical adjustments

00:17:40   Any possible thing you can think of to change these things

00:17:42   with CSS or custom field values and everything else,

00:17:45   you can do all that stuff.

00:17:47   Very, very easy to use.

00:17:48   If you need any help with this, though,

00:17:51   they have an amazing support team

00:17:52   that works 24 hours a day, seven days a week,

00:17:55   with over 70 employees working full time

00:17:57   right here in New York City.

00:17:58   Squarespace starts at just $8 a month,

00:18:02   and it includes a free domain name

00:18:03   if you sign up for a whole year up front.

00:18:05   And every design, not only is very customizable,

00:18:09   but it also has a responsive mobile interface.

00:18:12   So your site looks like your site on any device.

00:18:15   You can connect to your social accounts,

00:18:17   Twitter, Facebook, LinkedIn, Pinterest, Instagram, Google,

00:18:20   many more web and social services.

00:18:23   They also have commerce functionality.

00:18:25   You can build an entire e-commerce store

00:18:27   right into your Squarespace site,

00:18:29   comes free with every plan, no additional charge.

00:18:32   So go to squarespace.com today, start a free trial,

00:18:35   and that's a free trial with no credit card required,

00:18:37   a genuine free trial.

00:18:39   Start building your website, see if you like it.

00:18:42   For a free trial and 10% off, go to squarespace.com and use offer code CRITICAL.

00:18:47   Thanks a lot to Squarespace for sponsoring our show once again.

00:18:50   Now you guys want to get off this topic, but I want to at least get both of your take on

00:18:55   this realm, assuming you care.

00:18:59   I don't.

00:19:00   Casey?

00:19:01   I sort of do.

00:19:02   So as someone who claims to be an engineer, which is to say I went through an engineering

00:19:07   program at a relatively large university. I feel like I can be extremely snobby about

00:19:17   engineers versus non-engineers. For example, I think that Marco got an inferior education

00:19:22   simply because his education was in computer science and not computer engineering.

00:19:25   I wouldn't call it inferior. I would just say that as someone who also has an engineering

00:19:30   degree, the one thing I think we can rightfully get to do is lord it over the people who took

00:19:33   what we consider to be easier majors.

00:19:36   Yes.

00:19:37   inferior education? I don't know. But is it harder to go through, in general, is it harder

00:19:41   to go through an engineering degree than it is to go through a computer science degree?

00:19:46   I would say in general, for most people, yes. And so that's the one little thing that we

00:19:49   can hold up with some tiny amount of pride.

00:19:53   Please email them.

00:19:55   Please email us. Furthermore, like you were saying earlier, the difference to me between

00:19:59   computer engineering and computer science, all kidding aside, is that in principle, when

00:20:04   John and I graduated, if not today, we should be able to, like John said, follow software

00:20:11   at a high level language like Objective-C or C# or even Perl or PHP or whatever the

00:20:18   case may be. We should be able to follow that all the way down to NAND gates and so on and

00:20:23   so forth, or even transistors within a processor, just like John said. And I think what's interesting

00:20:30   is, I can see why people like Dr. Drang, who is a "traditional engineer," could be

00:20:37   offended by John or me or anyone saying that the sort of thing we do is extremely complex

00:20:43   or even the most complex.

00:20:44   It's not the thing we do, it's the thing we create.

00:20:47   Right, right. The thing we create. And so I can understand both sides of this. And to

00:20:53   me, I think the thing that makes the most sense is that for us, by comparison—and

00:20:59   And John, you touched on this.

00:21:02   Our industry, our engineering discipline is so much younger, so much younger than most

00:21:10   of these other disciplines.

00:21:11   You could argue that mechanical engineering, for example, has been around for a really

00:21:15   long time, hundreds of years at the very least, if not many, many, many more than that.

00:21:19   And so because of that, I think the reasonable argument for software being terrible and for

00:21:26   us not being good at our jobs is that we're very—we as a race, as a race, I guess, yeah,

00:21:36   are just very ignorant, and we're kind of amateurs at this.

00:21:40   And—

00:21:41   I don't buy that argument because of the accelerating pace of technology. You're

00:21:44   right that it's so much newer than structural engineering, for example, but technology,

00:21:48   if you put any graph of technological advancement after the Industrial Revolution, the rate

00:21:52   change is accelerating. So even though our thing came in much later in the timeline, it came in

00:21:57   after the bend in the hockey stick. So we've had the equivalent of millennia of technological

00:22:04   advancement in software, and yet we are not getting better at these things. I think that

00:22:11   contributes to it somewhat, but I think the thing we're making, because it is so wholly artificial

00:22:16   and knowable and complicated, that unique combination of factors, I spent a little while

00:22:21   trying to think of something that has similar properties. I can think of science fiction things

00:22:26   that have similar properties, like building living beings from doing DNA programming or

00:22:34   stuff like that, or building nanobots maybe that are self-repro-- Everything that I think of that

00:22:39   would be worse has some kind of place where we decide that it's not knowable anymore, like

00:22:45   genetic algorithms or things where we're like, "Well, just let it go run off on its own, and

00:22:49   we'll do some tiny simulation of kind of like what how life evolves but we won't understand

00:22:54   the reasoning or the functioning we'll just hope that the end product like works right can you

00:22:59   think of one that has the the combination of like totally made by humans also very complicated

00:23:05   and no help from any pre-existing anything you just start with like ones and zeros

00:23:11   well no but you could argue that you know we're building on we're building on physics as well just

00:23:17   as much as a bridge builder is. Well, no, but I think there's that clean break. Like, yes,

00:23:20   the engineers who build the hardware, yes, that's all physics, obviously. Like, that's, yeah, but

00:23:24   I'm saying, like, there's a hard layer between like, that's the hardware. And they do a great

00:23:28   job with that. Because like, it's they're, you know, doing approximations based on the natural

00:23:32   world and laws that tend not to change and everything like that. But once we get above that,

00:23:36   the ones and zeros, we draw a hard line there. We say, look, if anything happens below that,

00:23:40   that's not our problem. That's not our fault. That's not a software bug. And in practice,

00:23:43   That's not where our that's not where our problems are like yeah, that does happen hardware fails, right?

00:23:48   But nobody blames the software guys for that people blame the software guys for all the other times

00:23:52   Something goes wrong then the hardware is functioning perfectly fine

00:23:55   Yeah, I mean, I don't know it's tough because like I said, I see this from both sides and I understand what dr

00:24:01   Chang is offended, but I also

00:24:03   Pretty much. I know one surprisingly agree with everything you just said so, I don't know we can move on from this though

00:24:08   Yeah, some of the two suggestions in chat room though one said complex math

00:24:11   Yeah, maybe that qualifies, although, yeah, I don't know enough math to analyze that.

00:24:20   Well, math is a little bit different in that it's less built and more discovered.

00:24:26   It doesn't do anything.

00:24:28   Well, everything is like you're discovering properties that were already there,

00:24:34   or you're building new ways of expressing things that are already there and proving

00:24:39   things that already work. It's a little bit different in that you're not as much building

00:24:44   up these whole systems of things that could be three-quarters wrong or would only work

00:24:49   in 80% of the possible cases. Usually math is a little more well-grounded than that,

00:24:55   and it's more provable and built more slowly over the years.

00:24:59   It's 100% provable. That's what defines it. But you're not building a little machine to

00:25:03   do something. Math is applicable to every machine that we make, of course. But when

00:25:07   you're doing math, you're not trying to make a thing to do something. You're trying to, you know,

00:25:12   sort of explore the nature of truth. The only real truth we have. So that should make the

00:25:16   mathematicians happy. Other people suggested music and storytelling. Lots of things that human do is

00:25:23   like, "Oh, love is more complicated," right? But it's much harder to define a bug in storytelling

00:25:29   and music and stuff like that. And those things, although they're kind of executable where you

00:25:33   play them. The music isn't meant to… If it makes one person sadder than another, that's not a bug.

00:25:42   If one person finds it boring and one person finds it amazing, that's also not a bug. It's difficult.

00:25:48   Like, again, tons of things that people do are harder and more difficult and more complicated

00:25:53   than programming. What we make as programmers, because it's so completely artificial and also

00:25:58   so complex and there's nothing to stand it on. It is the world of ones and zeroes that we have

00:26:03   collectively built up and a woodpecker would destroy it if it was made of wood. It doesn't

00:26:10   take a woodpecker. It makes a dust moat floating through in the wrong spot. And again, all the

00:26:15   steel turns to liquid when the yellow car runs over it. Anyway, we can move on. Please.

00:26:20   Really quick real-time follow-up. Firstly, it is math, not maths. You people that are

00:26:26   Hailing from the British Empire are crazy, and I know we have to but at least we got that right and secondly when I said

00:26:31   Race earlier. It's not about race. I meant the human race slash the species of humans

00:26:37   So before we get a thousand emails actually it's probably too late

00:26:40   So let's talk about software methodologies and do a little follow-up on that because Marco isn't already bitter enough

00:26:46   A lot of people wrote in and said hey you got agile totally wrong

00:26:52   And to some degree they were right and I should say that agile began as a manifesto and that manifesto

00:26:59   I'll kind of get to in a second

00:27:01   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

00:27:08   things

00:27:09   and in what I had talked about and I think all of us had talked about was more hey when you're a

00:27:15   when you're a soldier on the ground so to speak and I mean that very very

00:27:21   figuratively, when you're a working developer, this is what Agile and Scrum tend to mean.

00:27:28   And it tends to mean things like stand-ups and stories and points and so on and so forth.

00:27:33   So those of you who wrote in about Agile being more about a series of ideals rather than

00:27:40   a series of steps, you're absolutely right, and I should have specified that.

00:27:44   Additionally, a lot of people have written in and pointed to a post that was very prescient

00:27:50   and worked out, the timing was great, a post by Dave Thomas, not the Wendy's guy, but the

00:27:56   Agile guy. And his post is "Agile is dead, long live agility." And the TLDR of that is,

00:28:05   hey, Agile in the sense of a series of things that you need to do really is kind of BS.

00:28:12   Again, Agile's really about, here's the values that we have. So he says, and I'm quoting

00:28:18   from this article, look again at the four values. And this is the Agile manifesto that

00:28:23   I mentioned earlier. We value individuals and interactions over processes and tools.

00:28:28   We value working software over comprehensive documentation. We value customer collaboration

00:28:34   over contract negotiation. And we value responding to change over following a plan. So that's

00:28:40   the ideal. That's what Agile really, really is. So Dave goes on to say, you know, hey,

00:28:47   To do what?

00:28:48   To prescribe standups, to prescribe scrum, to prescribe stories, to prescribe any of

00:28:53   that is really BS.

00:28:55   So let's get back to the basics.

00:28:56   And he says, "Here's how to do something in an agile fashion.

00:28:59   What to do.

00:29:01   Find out where you are, take a small step towards your goal, adjust your understanding

00:29:05   based on what you learned, and repeat.

00:29:07   And here's how to do it.

00:29:08   When faced with two or more alternatives that deliver roughly the same value, take the path

00:29:14   that makes future change easier."

00:29:17   And I'm continuing to quote, "And that's it. Those four lines in one practice encompass

00:29:20   everything there is to know about effective software development. Of course, this involves

00:29:24   a fair amount of thinking and the basic loop is nested fractally inside itself many times

00:29:28   as you focus on everything from variable naming to long-term delivery. But anyone who comes

00:29:32   up with something bigger or more complex is just trying to sell you something." And to

00:29:37   be honest, this is pretty much right. This is true. And I stand by our last episode.

00:29:42   I stand by all the things I said and on all the things that we said because agile and scrum as they are perceived today

00:29:48   Boils down to those things, but if you really really try to break it down to what is the the genesis of all this?

00:29:56   It's really

00:29:58   Programming or developing with agility and that's what Dave is talking about

00:30:01   yeah, I read this thing too and what it reminded me of is the

00:30:06   Idea we see it played out many times that

00:30:10   Any idea, whether it's a reaction to previous ideas or an entirely novel new idea about how someone might do something better,

00:30:18   inevitably falls victim to the sort of innate human desire for simple answers. Like, you know, Fred Brooks, no silver bullet.

00:30:27   Everybody wants the silver bullet, right? And so if someone has an idea like Agile where it's like, well,

00:30:33   you know, a reaction to, like, if you just take the opposite of all those points, like let's, let's, you know,

00:30:38   do a whole bunch of planning up front and take big steps instead of small steps. Let's get a

00:30:42   complete understanding of the problem before we start instead of gaining that understanding.

00:30:46   They are opposites of each other. In many ways, Agile is a reaction to methodologies that have

00:30:50   come before it or systems of working that have come before it. But once you put it out into the

00:30:55   world, it does not take long for it to snowball into the silver bullet people get their hands on

00:31:00   and the books come out and the seminars and the courses and the consultants. That is inevitable

00:31:04   with any idea. It doesn't mean the idea is wrong or dead or bad. Any idea you put out

00:31:09   there, even any technology, will be absorbed into the gigantic culture of things that sort

00:31:14   of give people what they want.

00:31:17   People want to know that you can hire a bunch of consultants, they'll swoop in, teach everyone

00:31:20   in your organization how to do X in the new way, whether it be like Six Sigma or all those

00:31:26   things that your dad could tell you about from the IBM days, and quality first and this,

00:31:31   and the other.

00:31:32   Someone's always selling, here's a new way

00:31:34   you're going to work.

00:31:34   And it always gets perverted from what

00:31:36   the original intention was, made into a caricature,

00:31:38   and just becomes a money machine for consultants

00:31:42   and other people.

00:31:42   And I don't think that's any fault of the original ideas.

00:31:45   And it's some kind of a shame, but I

00:31:46   think that's the natural life cycle of any idea

00:31:48   about how people can do things better.

00:31:51   So Agile has traveled that path.

00:31:54   And so we see technology has traveled that path all the time

00:31:56   as well.

00:31:57   Every technology and every idea is somewhere along that

00:32:00   continuum.

00:32:00   and sometimes they wrap back around

00:32:01   and get a second run at it and change,

00:32:03   but it doesn't make me think any more or less of Agile.

00:32:07   I just think that,

00:32:08   I feel, in fact, I feel a little bit more comfortable

00:32:11   with Agile now, now that it has sort of run through

00:32:14   its first kind of burst onto the scene,

00:32:15   oh, everyone has to do this,

00:32:17   actually it's not that good, backlash,

00:32:20   settling down to like, yeah,

00:32:21   it's just one of those other ideas that's out there

00:32:23   that's in the mix, and now we can refer to it.

00:32:27   Our collective knowledge of it is enough

00:32:29   in sort of a vague sense to say,

00:32:30   that's our counterbalance against waterfall or whatever.

00:32:33   It's another idea that's out there.

00:32:37   And hopefully at this point,

00:32:39   we all know it's not Silver Bullet anymore

00:32:41   'cause we've gone through the backslash.

00:32:44   Oh my God.

00:32:45   (laughing)

00:32:46   Give it, backlash, yay, just with an L.

00:32:48   Backlash, the backlash phase.

00:32:50   And we're on to sort of the steady state.

00:32:52   Now we're just waiting for whatever the next popular idea is.

00:32:54   I mean, we did the same thing with extreme programming

00:32:56   and pair programming.

00:32:58   I like that life cycle. I think it's valuable. I think just maybe people who sort of come of age

00:33:05   and whatever idea is the first idea like that that they see, they might drink the Kool-Aid and think,

00:33:09   "This is the one! This is going to change everything!" But if you've been through six or

00:33:12   seven cycles of that, you're like, "Oh, well, that's just the next new popular idea. I'll wait

00:33:17   for it to sort of settle down, and then we'll get the value out of it, test-driven development,

00:33:21   the whole nine yards." One thing that always also tends to happen with these ideas or methodologies

00:33:26   is, like, you know how when you try to explain something to someone who is really new at

00:33:32   computers, you try to explain it to them and the way they remember to do it, you know,

00:33:36   they don't remember "save the document", they remember "click on the file menu, click

00:33:41   on save". You know, like, they remember the steps before they can conceptualize the

00:33:47   concept. You know, it's probably very similar to how people learn foreign languages, you

00:33:50   know, from like translating in your head every word to becoming fluent. It's the difference

00:33:55   between following procedures and really understanding and internalizing it. And, you know, Agile

00:34:02   was seemingly started by a group of people who really understood these concepts, who

00:34:08   really deeply got them. And once it started becoming this procedure and steps that you

00:34:14   could follow—and part of that was their manifesto, part of it was what everyone else

00:34:18   added afterwards, then it loses the understanding and it starts just becoming like a manual,

00:34:26   a series of steps, a procedure. And it needs to be because in order to generalize that

00:34:31   to a big organization—and this is one of the differences that we talked about last

00:34:34   week between small organizations and big organizations—once you generalize this past a very small group,

00:34:41   it has to be a procedure, it has to be codified, it has to become instructions, and inevitably

00:34:46   not everyone involved is going to be able to rise above the letter of the law and figure

00:34:53   and gain that complete understanding. And over enough time, I think that's what kind

00:34:58   of ruins these things, because that happens on a grand scale to almost everyone involved

00:35:03   in it.

00:35:05   People don't want to understand the philosophy. They're just like, "Just tell me what to

00:35:08   do." Because they want this silver bullet. It's not even just that they can't grasp

00:35:13   but they don't even want that. They're like, "All right, so you've done all that thinking.

00:35:16   Now tell me what to do." And it's like, "No, you don't understand." It's like, you know,

00:35:19   teach a man to fish. And understanding the ideas that led me to these practices will

00:35:23   be much more helpful to you than the practices themselves. And that's not something people

00:35:26   want to hear.

00:35:27   All right, do we want to cover this question from Paul today, or would we rather shelve

00:35:33   that for another day?

00:35:34   I'll bring it up because I actually, I'm the one who added it. So, all right, so a guy

00:35:38   A guy named Paul sent us a feedback form thing saying,

00:35:41   "I'm a computer science professor

00:35:43   "and I'm always curious what particular things

00:35:45   "that we teach turn out to be useful in the end.

00:35:47   "You had asked each other last week

00:35:49   "what one thing you would take from software methodology.

00:35:51   "My question is what are the one or two things

00:35:53   "from your CS education

00:35:55   "that you find the most useful when coding?"

00:35:57   I mean, for me, I would say it's two things.

00:36:01   I would say one is the operating systems course

00:36:05   where we went all the way down into deep explanations

00:36:09   and some playing with low-level C code,

00:36:11   mostly deep explanations of what an operating system does.

00:36:15   Lots of different problems, memory management, scheduling,

00:36:19   interrupt, stuff like that,

00:36:20   the basics of what an OS is doing.

00:36:23   That was very helpful just because it gives me

00:36:26   a major understanding of things

00:36:29   that we have to deal with every day,

00:36:30   things like concurrency, things like threading and locking

00:36:32   and everything like that.

00:36:34   it really helps, memory management,

00:36:35   it really helps to know that sort of thing.

00:36:38   And the second thing for me is,

00:36:41   in my school, and I think this is common everywhere,

00:36:46   there were a couple of intermediate level courses

00:36:49   where you basically just did a new program

00:36:52   and language every week for something.

00:36:54   And so we got to explore all sorts of different languages

00:36:57   briefly, shallowly, but we got some experience

00:37:02   and the basic concepts of lots of different types of languages. And that's the kind

00:37:07   of thing that in the real world it's harder to get because it's harder to justify or

00:37:10   it's harder to find the time for. It's easy to fall into the trap in the real world,

00:37:14   which I'm certainly guilty of myself, of just going really deep on whatever you do

00:37:19   at work and not really exploring lots of new things. And certainly there's so many new

00:37:23   things coming out these days that it's almost impossible to explore them all. But in a comp

00:37:29   side education, at least in a good one, they kind of force you to.

00:37:33   And so I know the basics of languages that I've never used in the real world, like LISP.

00:37:37   Like I know the basics of LISP.

00:37:39   If you sat me down in front of a LISP code base and told me to start working on it, I

00:37:42   would have some trouble, it would take me a while to get back into it, but I know the

00:37:45   basic concepts.

00:37:47   And stuff like that, that was a very valuable thing to me, to force me to experience a lot

00:37:54   of new concepts that you wouldn't really ever have time or reason to in the real world

00:37:59   most of the time.

00:38:01   I would say—I actually exchanged a couple emails with Jon because I didn't realize

00:38:06   that this was going to be covered in the show, and I blamed Jon for heading it to the show

00:38:10   notes. Little did I know it was you, Marco. But what I had said to him was, "The thing

00:38:16   that I think I value the most from my education, which is going to sound really ridiculous

00:38:21   but I stand by it, is learning what a pointer is. Because pretty much all of the development that

00:38:29   I've done professionally in C++, in C#, even in JavaScript and certainly in Objective-C,

00:38:37   all of that, all of it comes down to at some point or another truly understanding what a

00:38:45   pointer is. And C# is a great example because anytime you have a class, so if you don't have

00:38:50   construct, and you don't have a primitive type, if you have a class, it is always, always,

00:38:55   always, always passed by reference. So whenever you're dealing with a class, you're always

00:38:59   dealing with what is under the hood, a pointer. But I have dealt with so many C# developers,

00:39:06   many of whom I would actually classify as very good developers that don't, that fundamentally

00:39:13   do not understand that concept. And so in C#, when you pass a class instance into a

00:39:22   method or I should back up, when you pass anything into a method, you could say you

00:39:27   can explicitly state that you would like to pass this by reference. So for example, if

00:39:32   you have a string that you might manipulate in a method.

00:39:34   Dotnet has call time passed by reference, one of PHP's worst features that they finally

00:39:39   removed recently?

00:39:40   Yes.

00:39:41   And Dotnet has it?

00:39:42   Yes.

00:39:43   always had it. And so a better example would probably be like an integer. So I have an

00:39:48   integer and I call a method and I'd like that method to be able to modify that integer.

00:39:53   What I can do is I can say that I am passing this by reference and thus I am passing basically

00:39:59   a pointer to that integer. Well, all classes by default are passed by reference. You know,

00:40:04   you're just throwing pointers around. Well, so many times the same way that you would

00:40:08   say I am specifically passing this integer by reference, I will see people use that same

00:40:15   keyword which happens to be ref, R-E-F. I will see people put ref in front of a class,

00:40:21   which is redundant because you're always passing a class by reference. And so they clearly

00:40:26   just fundamentally do not understand what's happening here. And I think that that's true

00:40:33   not just of C#. Clearly it's true in C++. Clearly it's true in Objective-C. And I would

00:40:38   argue it's true of many, many, many other languages as well. Even, say, JavaScript.

00:40:43   You have to understand what's going on under the hood. And so truly, honestly, understanding

00:40:46   what a pointer is, I think is the thing that I am most—not proud of—but most thankful

00:40:53   for, for my education.

00:40:54   Right. And, you know, it helps to understand what's going on under the hood, even if you

00:40:59   don't have to deal with it because it lets you make better decisions up top. At the level

00:41:04   you're working at, even if you're working at a very high level, even if you're working

00:41:07   in JavaScript, very high level, you're still, by knowing what actually is going on, all

00:41:15   the way, at all the levels all the way down, it does enable you to make better decisions

00:41:19   for all your high level coding.

00:41:21   That's exactly right, and that's exactly the point I'm driving at. John?

00:41:25   For me, I think, I mean, the easy ones, this is from a CS professor, so I think the easy

00:41:29   ones are like just like the basic CS stuff you learn, like big O notation and algorithms

00:41:34   and data structures.

00:41:35   Like it's boring, but I think you have to learn it.

00:41:37   Like that's the type of thing that if I wasn't in a formal class atmosphere, I probably wouldn't

00:41:44   have gone off to learn that stuff on my own.

00:41:46   But knowing it, like it's not like you need to know it every day and you can't just look

00:41:50   it up, but just even just having known it, like at this point I could not implement a

00:41:55   a red-black tree if you ask me to, but I know red-black trees exist, have a vague idea of

00:41:58   how they work, and if I were to look up an implementation I would be like "oh yeah" versus

00:42:01   being like "red-black tree? What the hell is that? What's a tree?" or "big o notation?

00:42:05   What do those letters mean in the O?" I was like, that's the basics of a CS education

00:42:10   when I think of my CS courses, like that's what you need to know, and you build on that,

00:42:14   because if you don't have that foundation everything just seems like a product. You

00:42:21   learn a language and be like "I'm learning this product." You wouldn't see the generalities

00:42:25   underneath it. So algorithms and data structures definitely were very useful.

00:42:28   And I don't know if this was since I was a computer engineering and it's like electrical

00:42:32   engineering with a few CS courses. I don't remember if this was technically a CS course, but

00:42:36   the two I found most useful is one, the class where you build your CPU up from logic gates,

00:42:42   which I guess probably isn't CS, but that's like the course you have to have. I mean, maybe in your

00:42:49   class you didn't do like VLSI and like lay out the chip and like you know we didn't manufacture it

00:42:54   but like you know doing the electronics design and everything like that but you know all the way up

00:42:58   the stack like it helps to come from that perspective even though I'm never going to make my own CPU

00:43:02   just because like look that the best way to prove that you understand it is to actually do it

00:43:07   and then the other one is the courses I took where I had to do assembly programming I don't even know

00:43:12   if they make people do this anymore because again maybe this is an ee thing where you're programming

00:43:16   microcontrollers and stuff, but just thousands and thousands and thousands of lines of assembly.

00:43:21   And the only reason the thousands is because doing anything in assembly takes

00:43:23   freaking thousands of lines because it's assembly. And in particular, one of the professors I

00:43:31   remember who was doing my course, we were doing one of the microcontroller courses for assembly,

00:43:36   he was from the telecom background. And he was like, I'm going to show you structured assembly,

00:43:41   which is what we use in the telecom industry so we don't go insane. And it was like seeing the

00:43:46   primordial ooze of C, where it's like, we have to do everything in assembly, but we

00:43:51   know if you just do whatever the hell you want in assembly, it's chaos. And so we've

00:43:54   imposed some, you know, it's basically like a system of conventions and structures to

00:43:58   allow you to approximate what you would write in C. Like, you start to see the C, because

00:44:02   we took this assembly course after we had done C, and you start to be like, oh, like,

00:44:05   I can see—you basically are like a human compiler. Like, when I write a conditional,

00:44:08   I always do it in this form, and I always use these labels and this type of thing, so

00:44:12   when I squint at someone's code, if I squint just right, that gigantic block of incomprehensible

00:44:17   assembler turns into an if and a while and a break and a continue. That was very instructive,

00:44:23   but mostly just the thousands of lines of assembly. Because there's no way to write

00:44:26   thousands of lines of assembly and not understand pointers. By that point, I already understood them

00:44:29   from C, but when I see someone who doesn't understand pointers, it's like, "Oh, I'll just

00:44:34   teach you C and you'll get pointers." They probably won't, but if you make them understand assembly,

00:44:37   they'll get it. 100% guaranteed. Yeah, I remember I did a course that required a lot of assembly,

00:44:44   like the MIPS assembly that everyone else had to do around that time. And one of the hardest things

00:44:50   about that course, probably the hardest thing we had to do was during the final exam, we were

00:44:54   given a block of roughly one printed page or so of MIPS assembly uncommented. And the question is,

00:45:01   what does this do? Yeah, that's tough. And it was like, I sat there for like a half hour,

00:45:06   like basically compiling it back to C in my head, like making little notes, like, "Here's

00:45:11   a little loop here." And I think what it ended up doing was finding duplicate substrings

00:45:17   or something like that, some kind of basic string processing thing. But it was surprisingly

00:45:21   hard to figure that out.

00:45:22   Well, that's why when you're looking at it, if you actually literally have to translate

00:45:25   it to C to understand it, it's kind of like translating the language into English so you

00:45:29   can understand what it says. Eventually, that's what structured assembly does. It lets you

00:45:32   you start to look at the assembly

00:45:34   and recognize the assembly chunks as--

00:45:36   that's the equivalent of an if, but you

00:45:38   don't have to translate it to see what it does,

00:45:40   because there's a regularization of it.

00:45:42   You don't have to execute every line in your head

00:45:44   and visualize the registers in your head

00:45:46   and how they're combining and keep the track of all

00:45:49   of them on a piece of paper.

00:45:49   So you can see-- you know what I mean?

00:45:51   It starts to take on a form of its own.

00:45:53   So that's what I would say-- data structures, algorithms,

00:45:56   assembly, and CPU design.

00:45:59   So basically, just take the whole curriculum.

00:46:01   You know, I hear a lot from people who say that CS degrees are useless/inferior/not giving

00:46:08   them what they want because they're not being taught, you know, X language, whatever

00:46:13   language is hot at the time. And, you know, nothing that we all just mentioned had a lot

00:46:19   to do with a particular language that was in when we went to college. You know, if my

00:46:25   college taught me a language when I was there, they would have taught me Java. And in fact,

00:46:29   In the intro they do teach Java, but then they pretty quickly abandon it because it

00:46:33   doesn't really...

00:46:34   Then they go to C and it's kind of mattering what language you use, and for some of the

00:46:38   later classes you're allowed to just pick whatever language you want and do your projects

00:46:41   in that language.

00:46:43   At the time I was there I was very upset that they weren't teaching me Windows API programming,

00:46:48   like .NET stuff, which had just come out about halfway through my college career.

00:46:56   I wasn't learning C++ during college and stuff like that.

00:46:59   I was so mad. And what they told me at the time, which I'm sure everyone's heard from

00:47:03   their comp sci professors, is that it doesn't really—it's not really their job to teach

00:47:08   you the language, and they're not really doing you a big favor if they spend a whole

00:47:10   lot of time teaching you a particular language, because chances are your education will go

00:47:16   out of date much sooner if you spent half of it learning whatever language was popular

00:47:21   at the time that you went to college. And in reality, all the stuff you do learn in

00:47:27   in college in a good CS department,

00:47:29   all the theoretical stuff and the basic principles

00:47:31   and everything, there's really never a time in the field

00:47:34   where you get to learn that.

00:47:36   There's really not, in the real world workforce,

00:47:40   there aren't a lot of opportunities to sit down

00:47:41   and learn big O notation and stuff like that.

00:47:44   And a lot of times you don't even know what to look for

00:47:48   if you didn't get that background.

00:47:49   You don't even know what to look up on Wikipedia

00:47:51   or what to look up on Linda or whatever else.

00:47:54   And so, you know, part of CS is teaching you things

00:47:59   that are timeless and that are fundamentals.

00:48:01   And it's hard to see that at the time that you're there,

00:48:04   but once you're out for a while, you appreciate that,

00:48:07   okay, well yeah, now that I know the fundamentals,

00:48:09   it isn't that hard to learn a new language

00:48:11   when I have to at my job.

00:48:12   I can learn a new language in a week or two

00:48:14   and be pretty good at it after six months or a year.

00:48:17   And, you know, it's, like you wouldn't want to have spent

00:48:21   your entire CS education on a language

00:48:23   going to be out of favor five years, ten years later.

00:48:25   It's not like the languages go out of favor. It's just that in higher ed, they look down

00:48:30   their nose at teaching you practical skills. It's like, "We're not a vocational school.

00:48:33   This is not apex tech. You don't get your own tools." They want to teach you the concepts.

00:48:38   I never had a desire for them to try to teach me any specific technology, and they certainly didn't.

00:48:45   Also, I kind of got the sense that a lot of these professors were better mathematicians than they

00:48:50   they would ever be programmers, especially in the CS department. They're not programmers.

00:48:54   You wouldn't want them teaching you anything because they would teach you the wrong things.

00:48:57   But what you learn through osmosis is in every class, they just expect you to do, "Okay,

00:49:03   and our exercises are going to be in 16-bit assembler or C++ or plain old C or Mathematica."

00:49:12   It doesn't matter what your Matlab or like every teacher had some tool that you needed

00:49:17   to use, "Oh, and do this, this will let you work through whatever it is I'm teaching you."

00:49:20   They'd be teaching you concepts and algorithms and stuff like that, and the tool you use

00:49:24   to work through them, like every class was like, "Oh, whatever this professor is like,

00:49:28   whatever their hobby horse is, they want us to do everything in Java, finally do everything

00:49:30   in Java," and you learn that the programming language doesn't matter, like, as you go,

00:49:35   like, it's an incidental detail of you doing your actual job.

00:49:38   Your actual job in school is like doing the assignment or understanding the concept, and

00:49:42   your actual job in real jobs is, you know, making the product or whatever, and it's like,

00:49:46   Well, you know, if you've never used Java before,

00:49:48   and you take this class, and this professor

00:49:49   makes you do the exercises in Java, guess what?

00:49:51   You're gonna learn enough Java to do the exercises,

00:49:53   which will probably be actually end up being

00:49:55   a lot of Java, surprisingly.

00:49:56   But that's not what they're teaching you in the class.

00:49:58   Like, you're just expected to be able to pick that up,

00:50:00   and that is good training for the real world,

00:50:01   because in the real world, yeah,

00:50:02   you're just expected to pick it up.

00:50:04   Like, never done it before?

00:50:06   Read about it, buy a book, figure it out,

00:50:08   'cause you need to do your job.

00:50:09   - Exactly.

00:50:10   All right, our second sponsor this week

00:50:13   is our friends once again at Transporter,

00:50:15   FileTransporter. So FileTransporter is a really cool device. It's basically a networked external

00:50:21   hard drive or a little puck that you get that transforms one of your hard drives to a networked

00:50:26   hard drive that you own and control this hardware. So you have a hard drive sitting in your house

00:50:31   or your office. You own it. You control it. All your data is sitting right there on that drive.

00:50:36   Your data is not up in some cloud service. It isn't on some of the company's servers.

00:50:40   it is all right there on your hard drive.

00:50:43   But it gives you features that are similar

00:50:45   to what Dropbox offers.

00:50:46   So it has, if you have more than one of these things,

00:50:49   let's say you and friend each have one,

00:50:51   or you have one at home, one at work,

00:50:53   or one at your parents' house or whatever,

00:50:55   you can have them automatically sync

00:50:57   and replicate to each other.

00:50:58   So you can have either part or whole,

00:51:00   so you could do like a shared folder,

00:51:03   you could do like a backup automatically,

00:51:05   like just keeping these two drives entirely in sync

00:51:07   so you always have an offsite backup.

00:51:09   The shared folder is great if you're collaborating with a team, if you want to share big files

00:51:13   that maybe don't fit on Dropbox or maybe by some kind of regulatory compliance you can't

00:51:18   have them on Dropbox or maybe you just don't want to have your files on a cloud service

00:51:22   for various privacy and security reasons.

00:51:24   So Transporter is this great device that allows you to do all these cool things.

00:51:28   They also, in addition to the sync and backup nature of these things, they also have iOS

00:51:35   and Mac apps that allow you to access the files from wherever you are.

00:51:39   So your transporters could be sitting at your house and you could be somewhere else in the

00:51:44   next city or the next country over with your iOS device or your Mac laptop or whatever

00:51:48   the case may be and you can access the files on your home transporter without doing any

00:51:53   kind of crazy network setup.

00:51:54   It does all that for you.

00:51:55   It bounces through the relay service to do the connection setup.

00:51:58   But then the files are all still coming from your transporter, the hard drive sitting in

00:52:02   your house.

00:52:03   And so it's never going through a cloud service, the data is never out of your control.

00:52:07   All the transfers that go over the internet are all encrypted end to end, they don't have

00:52:11   the keys, your devices have the keys on both sides, and that's it.

00:52:15   So really there's quite a lot you can do with these things.

00:52:21   Their software is always getting better, they recently updated the Mac software to have

00:52:24   even more Dropbox-like features.

00:52:26   Now they can even do things like automatically sync to and from your transporter and all

00:52:30   and all your other devices automatically sync

00:52:33   special folders such as your desktop

00:52:35   or say your music folder or your pictures folder.

00:52:37   So these don't even have to be in some special location

00:52:41   or stored just on the transporter.

00:52:43   They will automatically sync these folders

00:52:44   from your computer between all of your other computers

00:52:47   which is really nice, some of the Dropbox can't even do.

00:52:50   So how do you get one of these things?

00:52:52   Go to filetransporterstore.com

00:52:54   and you can see these things are very reasonably priced.

00:52:57   The best thing about this, there are no monthly fees.

00:53:00   You buy the hardware once upfront and you own it and then there's no monthly fees after

00:53:06   that, which is a huge savings over cloud services, especially if you have a lot of data.

00:53:10   So how do you get one of these things?

00:53:11   This is great.

00:53:12   One time purchase, no monthly fees.

00:53:14   The transporter sync, which is the little thing that you, it's like a little puck and

00:53:17   you plug in any USB hard drive you already have and it has a network port on the other

00:53:21   side and it automatically does all these things for you.

00:53:24   Transporter sync is just $99.

00:53:26   There's a 500 gig transporter with a built in hard drive, 500 gigs for $199, 1 terabyte

00:53:31   for $249, and 2 terabytes for just $349.

00:53:36   And you can save an additional 10% off of all those prices at FileTransporterStore.com.

00:53:41   Save an additional 10% by using coupon code ATP.

00:53:45   So go check it out, FileTransporterStore.com, see how these things can really help you out.

00:53:50   The feature set on these things is incredible and it keeps getting bigger and bigger as

00:53:53   they update the software and do all sorts of cool stuff.

00:53:56   So thanks a lot to File Transporter for sponsoring our show once again.

00:54:01   So Marco, last episode, in a half-hearted attempt to derail me from my beloved software

00:54:08   methodology stuff.

00:54:09   Oh, that was full-hearted.

00:54:10   Fair enough.

00:54:12   You announced to the world on the show that you had received your trashcan.

00:54:17   I'm sorry, your new computer.

00:54:19   You know, as a trashcan, it's pretty crappy.

00:54:21   Because you only have like that top inch or so of actual volume in there, and if you put

00:54:25   a bag in there, then the fan can't blow the air out. So it's kind of a bad trash can.

00:54:30   You know, a typical typical Apple overpriced.

00:54:34   Can you put one of those blow up men like they have in front of the car dealerships

00:54:37   and they're like wave his arms?

00:54:40   What's the line from Family Guy like the crazy inflatable arm waving guy or whatever it is?

00:54:44   Wacky waving inflatable arm flailing tube man!

00:54:47   Somebody has to make one of those for the new Mac Pro. I'm sure I'm sure it's gonna

00:54:50   happen. You know, leave it up to like, I don't know, OWC. Somebody's gonna make one of those.

00:54:55   But yeah, I don't...

00:54:57   [laughs]

00:54:58   Yeah, I mean, what do you want to know?

00:55:00   So I gave a little quick thing at the end of last show during the after show, and

00:55:03   you know, basically there's not that much to talk about.

00:55:06   It's faster, which I knew going into it from Benchmarks.

00:55:09   There is a certain nuance to the fasterness.

00:55:14   So my previous Mac Pro, I had gotten one of those

00:55:20   OWC Excelsior cards, which is basically a PCI Express card with two little SSD, with

00:55:28   two little serial ATA SSD cards in RAID 0 controlled by the card and then it shows up

00:55:33   to the system as just one drive.

00:55:35   So one of those cheapo software-y kind of things I imagine.

00:55:39   And so that, you know, there's a lot of layers of intricacy there, a lot of translation layers,

00:55:44   a lot of components.

00:55:46   The new one, the SSD, is not only a higher grade, higher speed flash, and presumably

00:55:53   a more advanced controller than what these were using because it's just simply newer,

00:55:57   but also the new SSD is PCI Express native.

00:56:00   And I'm not entirely sure on the intricacies of how these work, but as far as I know that

00:56:05   requires fewer levels of translation, fewer bridge and controller chips along the way.

00:56:10   So what it is, compared to the old Mac Pro, it is simply more consistent and it feels

00:56:17   like there are fewer bottlenecks.

00:56:19   And this is all very hard to measure.

00:56:21   This might not hold up.

00:56:22   This might be like audio file cables.

00:56:24   This might not hold up to...

00:56:25   We should talk about Pono maybe.

00:56:27   Is that how you say it?

00:56:29   Pono, Pono, Pono?

00:56:30   I don't know.

00:56:31   I thought it was pronounced piece of crap.

00:56:33   Yeah, yeah, we'll say that.

00:56:35   So how do you pronounce it in a triangle?

00:56:39   So it's faster.

00:56:42   And it's faster not only, you know, like I've done a bunch of hand-breaking codes

00:56:44   since I got it, and they are at least 50% faster than, you know, just on the frame rate

00:56:52   that Handbrake reports.

00:56:53   I'd say 50% on similar things, and I think Geekbench bears that out.

00:56:59   So it is faster, but it also feels more consistent.

00:57:02   It feels like there are fewer little bottlenecks, little hiccups here and there.

00:57:07   The Excelsior, I'm not sure I'd recommend it because,

00:57:11   well first of all, it's now outdated.

00:57:12   Now, you know, the era of PCI Express card,

00:57:16   aftermarket cards is pretty limited now.

00:57:19   But I'm not sure I'd recommend it simply because,

00:57:22   A, you can now get one terabyte SSDs

00:57:26   in two and a half inch bays for like 500 bucks.

00:57:29   So it's not as necessary.

00:57:31   And B, it always felt a little bit inconsistent

00:57:35   in its performance. But that could just be in my head, I don't know. Beyond that, with

00:57:40   the new one, it's a lot quieter. And I really, it's a dramatic difference. Like, I always

00:57:48   thought the Mac Pro was quiet, but man, this is even quieter. I would say it's quieter

00:57:54   in most usage than my MacBook Pro. And not the MacBook Pro cranking its fan on high,

00:57:59   like it's quieter than the MacBook Pro at idle to my ears. But again, that could just

00:58:04   be... that isn't a precise measurement I haven't taken, although I do have an SPL meter, I should try it.

00:58:08   But anyway, I got it for a review

00:58:12   forever ago. Anyway, so overall it's fantastic.

00:58:16   There's not that much more to say though. It's just fantastic.

00:58:20   It is not, you know, four times faster CPU

00:58:24   wise than my old one, but it is faster

00:58:28   and it is really, really nice and it looks freaking awesome.

00:58:32   And it'll look even better once I get one of those wavy hand guys on top.

00:58:35   So yeah, overall, I give it a thumbs up.

00:58:38   What are you doing with your old Mac Pro?

00:58:40   Is that getting bequeathed to TIFF?

00:58:42   And then if so, what's happening to TIFFs?

00:58:45   Well, TIFF has the identical model.

00:58:47   She actually got hers back in 2010 when it was new.

00:58:50   So she is—I'm going to—what I'm saying is, tentatively, I'm assuming that in roughly

00:58:58   a year, maybe a little bit less than a year, the next Mac Pro will be out that will have

00:59:02   the Haswell EP chips. And that will, unlike this one, that will actually come with a per

00:59:08   clock performance gain. So we should see a nice single threaded jump there. The same

00:59:13   way we do now with, you know, that's the whole reason why the iMacs and MacBook Pros now

00:59:18   are occasionally in some benchmarks faster than the new Mac Pro in single threaded stuff.

00:59:23   Because they have the Haswell cores and they have a little bit more efficiency per clock

00:59:27   on how much they can get done. So that has not come to the Xeon line yet, so that is

00:59:31   not in the new Mac Pro, but it will be in the new Mac Pro probably a year from now.

00:59:36   So I'm guessing a year from now, I buy one of those for myself and then I give this one

00:59:40   to Tiff to upgrade her, because she really wants one because it's so much quieter and

00:59:44   so much smaller. Physically, it will help a lot in our office. Like, I still have my

00:59:49   old one sitting below my desk here, but it's going to... having this little tiny cylinder

00:59:52   on top of my desk instead of this tremendous tower below my desk is going to allow me to

00:59:57   to totally rearrange the physical space here.

01:00:00   And same thing on her side of the office.

01:00:01   So there's a lot of gains that are not just the specs,

01:00:06   but just the physicality of it, the size, the noise,

01:00:09   the cables, stuff like that.

01:00:11   So overall, A plus.

01:00:13   One thing I noticed when I restored to it,

01:00:16   so I hadn't been doing disk clones recently,

01:00:20   which I think is a mistake.

01:00:21   I'm gonna start doing that again.

01:00:22   I've been relying on a combination of Time Machine

01:00:25   and online backup.

01:00:27   And so when I got this new one,

01:00:29   I did a restore from Time Machine over the network,

01:00:31   and with some host on the Synology box,

01:00:34   so I don't have to have a desktop covered

01:00:36   in hard drive enclosures.

01:00:37   And Time Machine restore worked great,

01:00:41   except that certain things aren't backed up to Time Machine.

01:00:44   And it's annoying, and it took me,

01:00:46   I still haven't quite figured out

01:00:49   what overall has been excluded.

01:00:51   You know, the data's all there, the apps are all there,

01:00:53   but certain apps lost their preferences. Certain keychain things, although not all of the keychain

01:00:59   mysteriously, certain keychain things aren't there and it had to reenter some passwords

01:01:02   and stuff. Certain apps, the biggest thing is losing entire configurations of some apps,

01:01:08   and I don't know why that is, but it was not a perfect clone. And so I want to get back

01:01:14   into the cloning business again, and I haven't quite decided how to do that. I'd rather not

01:01:20   have a desk with hard drive enclosures on it. So I'm thinking maybe of trying iSCSI

01:01:25   with the Synology, but iSCSI requires a kernel extension and that's uncomfortable, so I don't

01:01:30   know. I'm actually curious to hear from listeners, like, if you do iSCSI, does it, you know,

01:01:36   is it a pain in the butt, basically, like, with OS upgrades is a pain in the butt? Is

01:01:40   it buggy? Is it weird? Why do you need to use iSCSI? Why don't you just do a super duper

01:01:44   clone to a disk image on your Synology? I suppose I could do that, but then how do you

01:01:49   restore from that? Same way. You would just, you know, I guess you'd have to something to

01:01:54   boot from, but then you just need to run super, get into a state where you can run super duper

01:01:58   and then clone from the disk image back onto your drive. I mean, you need like kind of an

01:02:03   in-between drive to be like your waystation because you can't clone onto the drive that

01:02:08   you're booted from, but that's not, I mean, that's not hard to do. You do that on a USB key even,

01:02:13   like assuming you can boot from it. One thing I also thought about actually was just getting a

01:02:18   bus-powered two-and-a-half inch hard drive enclosure with a one-terabyte disk in there,

01:02:23   which would cost substantially less than the iSCSI software for Mac. And I just zip-tied it to the

01:02:32   bottom of my desk so I don't even see it, but I'm not sure I wouldn't hear it. I'm assuming it could

01:02:37   be put to sleep. You wouldn't hear it. I have a bus-powered one terabyte. It's even black,

01:02:40   just like a Mac Pro. I was all ready to use it with a Mac Pro. The drive goes to sleep,

01:02:45   you would leave it unmounted most of the time, and you'll never hear it.

01:02:48   Yeah, I think I might try that first because that's just so much easier. And then the other

01:02:53   thing is I'm, actually one of the reasons I was thinking about trying iSCSI, but I might

01:02:58   also do the drive strapped to the desk method instead, is that Backblaze does not back up

01:03:05   network drives. And they've made little hints here and there that they might consider adding

01:03:09   that in the future, but it doesn't seem like they're in a big rush to do that. And I mentioned

01:03:16   in previous shows that the other options like CrashPlan just don't work very well for me

01:03:21   with various issues. So I would love to have, I have this like 4 terabyte share on my Synology

01:03:28   that is storing all my large archive files. And right now I use Arc on the Mac to back

01:03:35   that up over the network to Glacier. And I don't love this setup. I don't love that it's

01:03:41   on Glacier and it's kind of hard for me to get to anything, but it's too big for S3 to

01:03:45   be well-priced. So I might, I don't know, I might go back to enclosures and just kind

01:03:52   of like hide them under my desk somewhere so I can't see them and figure out ways

01:03:56   of unmounting tricks so they don't hear them.

01:04:00   So I want to give Jon a chance to interrogate you, but really quickly, you kind of haven't

01:04:05   answered the question. So what is your old cheese grater doing? Just collecting dust?

01:04:09   Well, actually, it has stopped collecting dust because the fans aren't running in

01:04:12   anymore sucking dust through it. So right now it has paused its dust collection as well

01:04:18   as all of its other activities and is just sitting under my desk in its old spot just

01:04:22   because I have been too busy to move it. I took a trip this past weekend so I've been

01:04:27   very, very busy just organizing things and then when I get back, disorganizing things.

01:04:33   So I'll let you know soon how that's going. I still haven't even rewired or unwired.

01:04:41   this is going to be one of those times I get to finally clean out all these old wires behind

01:04:43   my desk and like take a bunch of new zip ties and re-zip tie everything together and all

01:04:47   that stuff.

01:04:48   You should use those little velcro things. They're better than zip ties.

01:04:51   I have some of them. I have about maybe 20 of those. Problem is that they're big, they

01:04:56   don't hold very tightly, and they themselves collect tons of dust.

01:04:59   What's big about them? They're like a centimeter wide at the widest.

01:05:02   Yeah, compared to a zip tie, that's pretty big.

01:05:04   I know, but it's like you're spreading the weight. I found the hell very well. I just

01:05:07   I redid the back of my TV when I got all the TV and the new TiVo and everything and I use those velcro things and I

01:05:12   was skeptical to say it looked like they're crap, but they worked really well and not a single one has come off now

01:05:17   You just have to know how to wrap them around enough times

01:05:19   And I love the fact that I can undo them, read them, zip ties

01:05:22   It's like I could get in there with a needle and undo it

01:05:24   But I really don't want to so you just end up cutting them and that's dangerous so

01:05:27   I'm a convert to the to the velcro things. Maybe it depends on the brand

01:05:32   I don't remember what I got it was just whatever was highly rated on Amazon. They were super cheap though

01:05:36   yeah, I got a bag of a thousand zip ties in

01:05:39   2004 and

01:05:41   I have I still have like a quarter of the bag left

01:05:44   So I don't like I just cut them whenever I need to change them and it's no big deal

01:05:48   Aren't you afraid you're gonna accidentally cut the cables?

01:05:49   No, you like you hook the scissor under it in such a way that it it can't cut the cable. Yeah, I know

01:05:54   Yeah

01:05:57   So for now, it's just sitting there

01:06:00   But are you eventually offloading your Mac Pro on to Dan or or is it gonna be a charity case?

01:06:06   You're gonna give it to me? I thought you hated desktops. Oh god. I don't want a Mac Pro. Are you kidding me?

01:06:11   That's stupid. Exactly, especially who would want an old one? I desperately need an SSD.

01:06:15   Hint hint hint. My new video card is awesome, but like spinning discs on this Mac Pro like just

01:06:22   It's becoming unbearable. If you want the Excelsior

01:06:25   I will I'll give it to you for a very very good price because I just want to get rid of it because I have

01:06:30   No use for it. Well, you're not you're not selling it very well. I think it's weird inconsistent performance

01:06:35   (laughing)

01:06:37   - Well yeah, I mean, I just,

01:06:39   I have no idea how to use that.

01:06:41   For me, if I wanted to keep using that,

01:06:43   I would have to buy a Thunderbolt to PCI Express enclosure,

01:06:46   which is like 300 bucks.

01:06:48   - Oh yeah, now you can't use it.

01:06:49   - A new hard drive, a new SSD of the same size is 500 bucks,

01:06:53   and is gonna be probably faster, 'cause it's newer.

01:06:56   - Yeah.

01:06:57   - So I don't know, I'm not, and that's the problem.

01:06:59   Like if the new 2 1/2 inch drive is 500 bucks,

01:07:03   what can I really sell this one for?

01:07:05   You know, I mean this one might be faster

01:07:08   because it's in the slot, but I don't know.

01:07:10   Anyway, this is all boring, so let's move on.

01:07:13   But yeah, basically it's awesome.

01:07:15   There's not that much to say about it yet.

01:07:17   Like you know, I don't have any software as far as I know

01:07:19   that takes advantage of the dual GPUs

01:07:21   to do computation and stuff like that.

01:07:23   So it really isn't that interesting yet.

01:07:25   But right now it's just a really awesome,

01:07:27   very fast, extremely quiet Xeon workstation,

01:07:31   which is exactly what I wanted.

01:07:33   And so I'm very happy.

01:07:35   - John, no questions?

01:07:37   - I was just gonna say, I mean,

01:07:38   Mark already touched on this,

01:07:39   but it's kind of a shame that machine is so expensive

01:07:41   because the sort of life change that it brings about

01:07:43   is gonna be such that like,

01:07:45   once you've banished all the cheese graters from your house

01:07:47   and you've had these little cylinders for a while,

01:07:49   you're gonna like see a cheese grater

01:07:51   at someone else's place or something

01:07:52   and just be like,

01:07:53   do you believe we used to have those things under our desks?

01:07:56   Like they're the size of like dehumidifiers.

01:07:58   Like it's gonna seem absurd just because it's such a,

01:08:02   You don't realize how small these things are until you see them in person.

01:08:05   Like in the picture, one of the best pictures online was showing it next to the G4 Cube,

01:08:09   which was like, "Oh my god, they fit the whole computer into a cube!"

01:08:11   The new Mac Pro is smaller. Like it's skinnier, it's a similar height. It's just, it's an

01:08:19   unbelievable change in the size of things they were forced to live with.

01:08:22   It really got people interested in the Mac Pro again, who weren't interested for years. I mean,

01:08:28   I mean the Mac Pro is for the first time ever.

01:08:31   It was, even when the cheese grater one first came out

01:08:35   in 2006, it was never like a hot item.

01:08:40   Now this new one is a hot item.

01:08:41   They made it cool again.

01:08:43   And that's almost completely because of physical,

01:08:46   you know, superficial things, but that matters.

01:08:48   - Yeah, I mean that's part of the product.

01:08:51   - Right, it matters to innovation,

01:08:52   you know, Phil Schiller's ass.

01:08:54   - Can't innovate anymore, my ass.

01:08:56   (audience laughing)

01:08:59   Like it matters to all these things

01:09:01   and it got people interested in this relatively boring,

01:09:05   out of reach product again and that's really great.

01:09:08   - I mean it makes people wish, it makes me wish

01:09:11   the X-Mac Dream was giving them back.

01:09:13   It's like damn, if it only wasn't so darn expensive,

01:09:15   can you put one GPU instead of two?

01:09:18   Can you use a cheaper chip?

01:09:19   Like I mean I guess that kind of can

01:09:20   and that's not the point of the product

01:09:21   but you're like that form factor is so great

01:09:24   that if you just take that form factor and change the guts,

01:09:27   keep the cooling system and everything,

01:09:29   but just change the insides to be,

01:09:32   hell, even iMac caliber insides just to be able

01:09:35   to get a separate screen or a better GPU

01:09:38   than you can put in an iMac,

01:09:39   'cause you'd have a desktop GPU in there,

01:09:40   and Apple will never do this,

01:09:42   but it reignites those fantasies of,

01:09:44   I love that form factor so much,

01:09:46   personal computers should never need to be bigger than that.

01:09:48   In fact, they don't need to be,

01:09:50   as proved by the amazing power that's in this one.

01:09:52   So why is it that the only way I can get one of those is to get two giant GPUs that I'm

01:09:59   never going to use in a super expensive server chip?

01:10:02   To be fair, the four and six core chips are actually pretty competitively priced.

01:10:06   The eight and 12 cores are ridiculous, but the pricing on the four and six is actually

01:10:11   pretty good and not that far above regular Intel consumer CPU pricing.

01:10:15   Oh, it's not Apple's fault.

01:10:17   I mean, it's just that they're expensive chips.

01:10:19   And the dual GPUs is Apple's fault.

01:10:20   Like, you can't—what if I just want one?

01:10:22   Tough luck, you know.

01:10:23   - Yeah, exactly.

01:10:24   So, you know, but overall it's,

01:10:26   and even you said the lifestyle thing,

01:10:28   like, so I, for large expensive things like this,

01:10:32   where it's practical to, I keep the boxes around,

01:10:34   the shipping boxes and the internal boxes

01:10:36   so that when I go to sell them three to five years

01:10:38   or whatever down the line,

01:10:40   I can put them back in their box and it's easier

01:10:42   and it saves them money and everything else

01:10:44   and I know it's relatively safe.

01:10:46   So in my basement I have two giant Mac Pro boxes

01:10:50   from mine and Tiff's old ones. And it's just ridiculous. And this one, the box is

01:10:55   like the size of a bookshelf speaker. Even that is an improvement. There's things like

01:11:01   that you don't even think about, but it all adds up.

01:11:04   I think about it because I have an indeterminate but much larger than two number of those cheese

01:11:09   grater boxes in my attic.

01:11:12   And they're ridiculous. They're massive.

01:11:14   They did get smaller over time, believe it or not, but only slightly.

01:11:17   I remember when I sold my old one to Dan Benjamin, it cost me over $100 to ship it.

01:11:24   That's how big these boxes are and how heavy they are.

01:11:27   Just incredible.

01:11:28   So anyway, talk to me.

01:11:30   I'll give this one to you for a good price.

01:11:33   We are also sponsored this week.

01:11:34   Our final sponsor before we move on to more Mac Pro to find discussion.

01:11:37   Our final sponsor this week is Ting.

01:11:40   Once again, Ting is mobile that makes sense.

01:11:43   There are no BS, simple to use, mobile service provider from the people at Tucows, the company

01:11:47   behind Hover.

01:11:48   Ting, which is a reseller of the Sprint network in the US, they have great rates and there's

01:11:53   no contracts or early termination fees.

01:11:56   You own your device outright from the start.

01:11:59   They have a true pay for what you use pricing model.

01:12:02   So you pay a base price of $6 per month per device and then you're automatically billed

01:12:06   for the actual amount of minutes, messages, and megabytes that you use each month above

01:12:11   that.

01:12:12   So this is great for if you have fluctuating usage,

01:12:14   which let's face it, most of us do.

01:12:16   Let's say you have like 100 megs of usage one month in data.

01:12:19   The next month you're traveling, you use a gig.

01:12:22   Doesn't matter, you pay your little bucket of rates

01:12:24   for those two rates, you don't have to remember

01:12:26   to like call ahead and raise your cap and then call ahead

01:12:29   and then do it again when you get back

01:12:31   and lower it back down so you don't get billed next month

01:12:33   for the high level.

01:12:34   Just automatically you get billed

01:12:36   for what you actually use each month and no more.

01:12:39   And their prices are now even lower.

01:12:40   So 500 gigs, sorry, 500 megs of data is just 12 bucks.

01:12:45   And two gigs is just 29.

01:12:48   So go to ATP.Ting.com and check out their savings calculator.

01:12:52   You can see how much you can save by entering in

01:12:54   your last few months of usage from your cell phone.

01:12:57   And then they will show you this cool graph

01:12:59   and they'll say, all right, well, if you continue,

01:13:01   you know, your average looks like it's about this.

01:13:03   Most months, you're gonna save X per month roughly with us.

01:13:06   And then over time, you can see, all right,

01:13:08   after a year you've saved this much, you will save, you have to buy your device upfront

01:13:13   but then you'll pay that off in say six months or whatever. Great thing, the savings calculator

01:13:18   on ATP.Ting.com. They will also pay your early termination fee up to 25% back in service

01:13:25   credit up to $75. So if you have an early termination fee to get out of your existing

01:13:29   carrier, that's a really nice little help there for you. And also, with Ting, there

01:13:35   there are no contracts, there are no service fees,

01:13:37   there aren't termination fees,

01:13:38   so that'll be the last one you ever have to pay, right?

01:13:40   So like Hover, Ting has great customer support.

01:13:44   They have a no-hold, no-wait phone support policy.

01:13:46   So you can call them anytime between 8 a.m. and 8 p.m. Eastern

01:13:50   and a human being picks up the phone who's able to help you.

01:13:53   So go to ATP.Ting.com.

01:13:55   Now here's some big news.

01:13:56   For a while, there was this kind of elephant in the room.

01:13:59   What about the iPhone?

01:14:00   For a while, Ting didn't support the iPhone.

01:14:02   They couldn't get it on.

01:14:04   A couple months ago they finally got,

01:14:06   so they're, as I said, they're on the Sprint network,

01:14:07   so if you get an iPhone 4 or an iPhone 4S

01:14:11   that is for the Sprint network,

01:14:13   and you can get it on eBay, you can get it on Amazon,

01:14:15   you can get it on Glide, Newer Use,

01:14:16   whatever the case may be, any compatible Sprint device.

01:14:20   So the iPhone 4 and 4S have been compatible

01:14:22   for a few months now.

01:14:23   Big news, they just added the iPhone 5.

01:14:26   So get your hands on a Sprint iPhone 5

01:14:27   through them or anyone else,

01:14:29   and you can use that on Ting as well.

01:14:31   Once again, check him out atp.ting.com, and thanks a lot for sponsoring the show.

01:14:37   All right, so my dad listens to this show, and my dad is a bit of an amateur, stereophile,

01:14:45   audiophile, whatever you want to call him.

01:14:47   And he—

01:14:48   Well, I know, we can go down the road of, "Oh, cables don't matter," et cetera,

01:14:53   et cetera.

01:14:54   But he's been giving me a hard time for a while, because John had mentioned in the

01:14:58   the past that he is either seeking or had found a new AV receiver. And my dad has also

01:15:06   just found a new AV receiver, and I don't recall what it was, but regardless was very

01:15:12   interested to hear how John landed or is intending to land on the AV receiver of his choice.

01:15:19   And my father, whom I love dearly, has been giving me grief every week asking when we're

01:15:24   we're gonna get to this topic.

01:15:25   So Dad, this one's for you.

01:15:27   John, tell me about AV receivers.

01:15:30   - And the only reason I was even looking for an AV receiver

01:15:32   is because, as I think I complained about

01:15:35   when I was first talking about my TV,

01:15:36   is that the number of HDMI ports on TVs

01:15:39   seems to be going down, even on the super expensive ones.

01:15:41   So my new fancy TV had three HDMI inputs, I think,

01:15:46   compared to like four or five in my old one.

01:15:48   I don't remember the exact numbers, but anyway, less.

01:15:50   And I had devices, I didn't have any place to plug them in.

01:15:53   So I needed some kind of solution.

01:15:55   And AV receiver is one possible solution.

01:15:58   But before that, I tried to just get an HDMI switch.

01:16:00   And I didn't actually buy any, because every time I read reviews of them,

01:16:04   there was always a good 10%, 15%, 25% horror stories about how terrible they

01:16:08   were, every single one.

01:16:09   Didn't matter the brand or whatever.

01:16:11   The only ones that didn't see horror story reviews

01:16:13   were super high-end, installed by value-added reseller, $1,000 boxes.

01:16:19   And those didn't have any better reviews,

01:16:20   because they didn't have any reviews, because sites like that

01:16:22   have a place where people can leave reviews. And I wasn't going to look, that's as much running

01:16:26   a receiver. So I resigned myself to getting a receiver. As far as your dad is concerned,

01:16:31   I don't think what I have to say will be useful because, and this is just true in general, when

01:16:36   people ask like, what kind of X should I buy? The more you know about a topic, the more you're just

01:16:42   inclined to say, well, it depends on your needs or whatever. But that's so true because like for AV

01:16:48   receivers, when I'm reading product reviews, I know what I want. I'm basically getting the

01:16:54   world's fanciest HDMI switcher, and I have specific features that are super important to me,

01:17:00   but that may not be important at all to other people. And on the reverse,

01:17:05   the features that most AV receiver reviews talk about, what kind of speakers they can power,

01:17:09   how clean an audio signal they get, all that I don't care about because I'm going to have

01:17:13   crappy speakers, they're not going to sound good, I'm not buying this thing as a sound

01:17:18   system, I don't care about internet radio, I don't care about music playback, all these

01:17:22   things that are maybe the primary most important features of a lot of people who are buying

01:17:27   AV receivers.

01:17:29   So the one that I bought is probably not important because my needs are so weird.

01:17:33   What I wanted was a huge number of HDMI ports, the ability to switch the HDMI ports without

01:17:39   turning the device on.

01:17:40   I mean like on on I know they're always you know on but you know what I mean like

01:17:43   Without having to think powered on all the time because I didn't want to be constantly turning and on and off

01:17:48   and the ability to hook up all the devices I had like I have I have component video devices like the

01:17:54   PlayStation 2 and and my Wii and the GameCube and I have composite input devices the GameCube

01:18:00   I forget if I have composite or component for that

01:18:02   But anyway, I can have all sorts of legacy devices that once again on the back of my new TV

01:18:06   There's no place to plug them in because this you know, that's one component video port

01:18:09   no composite video port, you know, all that stuff. I wanted to play stuff. Say, I'm getting a gigantic

01:18:14   receiver box that's got a million plugs in the back of it. I might as well find one that fits

01:18:17   all my devices, that has tons of HDMI inputs, that can switch in standby mode, and I didn't

01:18:23   care about almost anything else. So I don't think the one I ended up with is particularly useful. I

01:18:27   ended up with a Yamaha RXV673. I should have looked this up, but anyway, something like that.

01:18:36   And even the particular model number is interesting because when I was looking through the reviews,

01:18:41   and I spent a long time reading reviews about this, again, ignoring almost everything that's

01:18:45   important in the review is looking at the few features that I'm interested in,

01:18:47   narrowing it down, there's a newer version of this Yamaha receiver with a slightly higher number,

01:18:52   like 675 instead of 673. But the features they added, I don't care about any of them.

01:18:58   And all of the features that I do care about are identical. And there's this thing, even so,

01:19:04   So there's this thing, and I wrote in the notes, "a programmer's bias towards new models."

01:19:09   If you write software for a living, or if you're a software aficionado, I find myself

01:19:16   strangely compelled.

01:19:17   I have to get the new version of everything.

01:19:19   And the reason why is because it's like empathy.

01:19:21   I can empathize with the programmer.

01:19:22   You know how good you feel when you deleted that massive amount of code that's no longer

01:19:25   needed to replace it with simpler code, even though it does exactly the same thing, and

01:19:29   even though you may have actually introduced a bug because the old code worked?

01:19:32   but you feel so much better about,

01:19:33   oh God, I can't believe people are out there

01:19:34   using my old version, this new version.

01:19:36   I deleted like 700 lines of code

01:19:39   and it's just so much cleaner

01:19:40   and I got rid of this flag variable

01:19:42   and it's, you know, like you just feel so good about it

01:19:44   and you're like, please stop writing,

01:19:45   I can't even believe people are even executing

01:19:47   that old program, it was so terrible.

01:19:48   You have to be running a new one, right?

01:19:50   So when someone releases a new version

01:19:51   of a piece of software, I feel that way,

01:19:53   like I feel that way for them.

01:19:55   I feel like, of course you gotta get the new version.

01:19:57   Like I can only imagine how much better

01:19:58   this new version must be,

01:19:59   even if it looks functionally identical

01:20:01   and they didn't add a single feature and it's the same speed.

01:20:03   I just know it's got to be better in the code.

01:20:05   I know that feeling.

01:20:06   Well, I have the same feeling about, well, if this is 673 and 675,

01:20:10   of course you're going to get a 675.

01:20:12   Why would you get a 673?

01:20:13   That's crazy.

01:20:13   I'm sure they fixed tons of bugs in 675,

01:20:16   and maybe they consolidated some chips and it puts out less heat.

01:20:18   And you come up with all these elaborate fantasy scenarios

01:20:21   about why the 675 should be better.

01:20:23   But I was good this time, and I made myself say, no, you don't care about

01:20:26   that they added better Pandora streaming or some other crazy thing

01:20:29   where you can plug in an iPad, and like,

01:20:31   I'm not gonna use those features.

01:20:33   And the 673 was like 100 bucks less than Amazon.

01:20:36   So I bought the, like, basically last year's model

01:20:39   of a receiver, and it does all the things

01:20:41   that it said it would do.

01:20:42   Now, the reason I put this thing in here

01:20:46   is because despite the fact that I was able

01:20:49   to shop based on features and stuff,

01:20:50   one of the things that people don't talk about

01:20:53   in their reviews for the most part

01:20:55   is how terrible all AV receivers are

01:20:58   in terms of the user interface

01:20:59   and how they connect together.

01:21:01   And I was thinking about, it's not that hard.

01:21:03   If a programmer was to design an AV receiver,

01:21:06   like when I conceptualize it, and in fact,

01:21:08   in a lot of the manuals, you'll find a big truth table

01:21:11   or grid where it's like, if input is from this device,

01:21:15   and video input is from this device,

01:21:16   and audio input is in that device,

01:21:18   then audio output can be on this output.

01:21:19   And there's a truth table of a matrix of given these inputs

01:21:24   and these outputs, what combinations are valid

01:21:26   and what combinations aren't.

01:21:28   And right away, that's kind of frustrating.

01:21:29   I'm sure there are physical limitations of like,

01:21:32   well, if you have video coming in and compositing,

01:21:34   you don't have something that converts it,

01:21:35   you can't output that video to your television in HDMI

01:21:37   unless you have a chip to do that.

01:21:39   And I understand the limitations that define it,

01:21:42   but ideally you'd want,

01:21:43   look, I can take any video source, any audio source,

01:21:46   and put them, any inputs, and send them out

01:21:48   at any outputs, any combination of.

01:21:50   Obviously that's, again, optimistic.

01:21:52   There's hardware constraints that stop from using that,

01:21:54   but that's what you'd like as the ideal.

01:21:56   but within the realm of the things that you can do.

01:21:59   These inputs on those outputs, like whatever's valid,

01:22:01   and all the other settings you can have,

01:22:05   you know, there's a bazillion settings,

01:22:06   the balance of the speakers and the surround decoding mode,

01:22:10   and if you're sending it out to the second zone,

01:22:13   and all, like, there's a million features

01:22:15   in these data receivers,

01:22:15   but if you visualize all those settings,

01:22:19   the bare minimum that I think any programmer would do

01:22:21   is say, give me an ability to save

01:22:24   all of the current settings under a name, and let me select that name and have it change all those settings to that name.

01:22:30   And I've never found a receiver that even does that.

01:22:33   They all want to be like, "Well, when you save the setting, what you're really saying is when you change this input,

01:22:37   we implicitly change to that, but you only have one set of speaker level settings, or maybe you have two of those,

01:22:40   but that's a separate scene, but the scene doesn't affect the inputs, and the inputs don't affect the surround mode,

01:22:45   and the dialogue delay is independently adjustable, and it's not tied to the input."

01:22:49   It's like it's it's the most Byzantine mess of crap and it's harder

01:22:54   I feel like it's harder for them to do that it like the

01:22:56   Stupid simple thing is every single setting under a name

01:22:59   Whatever the current state of the machine is right now save them under name and then anytime I go back to that name

01:23:05   Set every single setting in the entire machine back to this. That's the stupidest better one would it be to have subsets

01:23:09   Here's one set for speaker levels, you know, here's one set for input combinations

01:23:14   Here's one set for like and then you could combine those sets like a nested type of thing

01:23:17   but I'm not even going to talk about that.

01:23:18   Just like, the stupidest thing a programmer could think of is,

01:23:22   I have a billion settings, there's only certain valid states,

01:23:25   set every setting to the way you want it,

01:23:26   save it all under a name.

01:23:27   And none of them do that.

01:23:28   So you're basically resigned to say,

01:23:30   look, I basically just have to choose one set of speaker levels

01:23:33   because this thing does not have a choice

01:23:35   of a way to change speaker levels based on inputs,

01:23:37   or if it does, it conflicts with some other feature.

01:23:39   So I have to resign myself to just pick a good compromise there

01:23:42   because I'm never going to go into these menus

01:23:44   and turn up the center talent just a little bit

01:23:47   when it's on this one because it's just too cumbersome.

01:23:49   So I'm just gonna have to find another happy medium.

01:23:51   And then for these other features,

01:23:53   I know these are tied to a preset,

01:23:55   but when I change this preset,

01:23:56   I have to remember to change the other thing

01:23:58   because the other thing doesn't follow it with it.

01:23:59   And when I'm not running through the Blu-ray player,

01:24:01   but the sound is coming back from the TV,

01:24:02   I don't want it to come back on the audio return channel

01:24:05   because then it's only two channels

01:24:06   because of some insane reason.

01:24:07   So I have to take the optical output,

01:24:08   but then I have to put the audio input to be AV4.

01:24:11   But that's only when I'm going through the speakers.

01:24:12   And it's like the amount of,

01:24:14   basically bottom line is it gets to the point

01:24:17   where I can work it, but anyone else in my family tries to use the television, it's too

01:24:20   complicated. And no, a single learning remote won't solve all this because of the timing

01:24:24   delays and how long it takes to turn things on and off, and it gets into weird states,

01:24:28   and you really want to disable HDMI control or HEC or VR cast or whatever the hell they

01:24:33   call that thing where the, they have a million different names for it, where your devices

01:24:37   control each other or HDMI, because that just adds more problems to the mix, and your best

01:24:41   bet is just turn that off so you have a fighting chance of managing it.

01:24:44   So in general, I think I picked the right receiver for me, probably not the right receiver

01:24:49   for everybody, and everybody who makes receivers should just be, I'm not going to say taken

01:24:53   out and shot, but let's just say given a stern talking to about what the power of software

01:24:59   could do to help them.

01:25:00   Because I feel like they're trying to help.

01:25:02   They're trying to be like, it can be like you're in an opera hall and this and this

01:25:04   and it's like, just let's just start from the basics.

01:25:07   Save every single setting under a single name.

01:25:09   That interface sucks, but still better than what you have now and then work your way up

01:25:11   from there.

01:25:12   You know what you're describing is almost sounds like you want the Apple approach to a receiver and

01:25:21   Please don't email me because I haven't thought this through because I didn't do any research would be a new category

01:25:26   It would be a new category though, and I to be honest

01:25:30   I don't think it's really an Apple's interest to do this sort of thing

01:25:33   But but maybe we need like a nest, you know a bunch of ex Apple people or just smart people

01:25:39   It doesn't even have to be ex Apple to come in and say you know what?

01:25:42   here's a receiver done right and we will we will be an omnivore and consume all these different inputs and give you

01:25:49   One or perhaps more than one and for whatever reason output that makes sense

01:25:54   well

01:25:55   But they would never provide what I'm asking for which is

01:25:57   Let me change every single feature independently and save them as a set because that's a terrible interface for most people but um, but like

01:26:03   That they would never do that

01:26:06   They would just say we've we've decided in all the settings for you and you don't have to change them

01:26:09   Which is fine for what you want, but my big complaint is they give you these settings

01:26:13   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

01:26:19   A preset like you're saving some weird subset of that, and it's just it's terrible

01:26:23   So when are you making your own AV receiver then I mean like that. That's what I keep thinking about. It's like it's

01:26:30   I would be okay. Well. No no I'd like in terms of

01:26:35   Fine people are bad at software like we're also used to you know car makers and everyone who's not good at software and the interfaces are

01:26:40   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

01:26:44   Controls they used to just be buttons and everything

01:26:46   But it's like isn't it easier to do it the dumb way like it's almost it's almost like they're I mean

01:26:51   It's it's the CES thing ever worse worse products through software like

01:26:54   the easier to implement solution is

01:26:58   Still insanely unfriendly, but it's still so much better than what they're offering because there's just no way any

01:27:05   regular person is going to understand, even with that giant table of valid combinations

01:27:09   of inputs and outputs, they don't explain what settings are linked to each other, which

01:27:14   settings can be changed independently, and which...

01:27:16   You'd have to send them the source code to figure out, "When I change this and save this

01:27:21   under this setting, but I change to a different setting, which settings change when I change

01:27:24   settings and which settings stay the same?"

01:27:26   And does it depend on what those settings are and what things are turned on at the time?

01:27:31   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 and

01:27:38   Right when I think about like nest or Apple like nest is trying to not have you

01:27:42   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

01:27:47   They're hot and that's all we should expect them to do and we'll do the right thing

01:27:50   Which is a noble goal and it's good, but I don't want that at my receiver. I just

01:27:53   At the bare minimum. I want let me you have a million settings some of them are valid some of them

01:27:59   Some combinations are valid, some aren't.

01:28:00   Try to make everything valid as possible.

01:28:02   I don't want to say that, well, you have input on HDMI 1,

01:28:04   you can only output over HDMI 3.

01:28:06   Why?

01:28:07   Why?

01:28:07   Well, there's a hardware reason.

01:28:08   I'm sure there is.

01:28:09   But my ideal device would be the most complete metrics

01:28:14   possible for inputs and outputs.

01:28:15   Put whatever chips in there you have to do it.

01:28:17   Every option configurable, and just

01:28:19   let me save all those options off into a set.

01:28:21   Because then you'd spend three days setting it up,

01:28:24   make all your presets, and you'd be done.

01:28:26   Now it's always a mystery of, oh,

01:28:28   which settings do I have to change manually after changing this thing?

01:28:31   Yeah, I'm really glad that so far I've made decisions and I've kind of accidentally

01:28:39   fallen into limitations that have prevented me from ever actually needing a receiver.

01:28:44   And I've intentionally kept it that way because I have many of the same concerns that

01:28:49   you did before getting one of trying to avoid this world of complexity. And I think the

01:28:54   the result of you getting one has confirmed that those concerns were valid and warranted.

01:29:01   And you know, it sucks that TVs don't have more inputs. And the reason TVs don't have

01:29:05   more inputs is because, I guess, I assume, because most people who would fill all the

01:29:11   inputs on a TV and need more probably also have a receiver, because it's like the thing

01:29:15   to get to advance your setup to the next level. But to not have that device would be so much

01:29:23   better in so many other ways. And I'm one of those weirdos, like, I don't even have

01:29:26   surround sound. I'm very, very happy with stereo sound. I had, for a while in college,

01:29:35   I got the speaker set off of eBay that was a pretty suspicious description that sounded

01:29:39   like it fell off a truck. I didn't really pick it up at the time, but thinking back

01:29:43   on it, I was like, "Mmm, wait a minute." But anyway, so I had this integrated powered

01:29:49   speaker set from Sony that, like, just one of the speakers contained all the amplification

01:29:53   for the other ones and it was a 5.1 set. And for the first couple years of college I actually

01:29:58   brought all 5.1 speakers with me and it sucked and it was a pain and I had all these wires

01:30:04   everywhere and then I just eventually stopped bringing the center and the rears and just

01:30:08   brought the left and the right and just put it in stereo mode and left it there. And I

01:30:12   realized that once I didn't have surround sound I didn't miss it at all. Like it was

01:30:16   so unimportant to me for what I actually used and what I actually cared about, it didn't

01:30:22   matter one bit that I didn't have surround, that I just had left and right. And so I was

01:30:26   able to keep the setup simpler that whole time and ever since then. I kept the setup

01:30:30   very simple and just have never had surround again because it just turned out to be this

01:30:33   gimmick that I don't actually care about. So in the same way, I wonder, like, could

01:30:39   you, Jon, like, could you give up any of these inputs or could you find some other solution

01:30:44   to remove your need for this receiver?

01:30:46   Well, I was in the same camp as you for the longest time because I care less about sound

01:30:50   I do about pictures. That's why I have a super expensive, relative to what normal people buy,

01:30:54   super expensive TV and no speakers at all for the longest time. And I loved having

01:30:59   all the inputs on my television because it did make it simple enough for anybody in my family

01:31:02   to use it. All my devices were connected. They were all labeled. You could pick any of my game

01:31:07   consoles by name and switch to the input. It was straightforward. There wasn't three boxes you had

01:31:12   to coordinate. But once the TVs came with fewer inputs, I say, "Well, that ship has sailed." And so

01:31:19   if I have to get a receiver anyway, now is the time. And this is basically the first surround

01:31:24   5.1 system that I had. Now it's time for me to do that. Previously I had an old analog receiver in

01:31:29   there, but I only had two speakers hooked up that were kind of like you, and I would almost never

01:31:32   use them because they were terrible speakers. So basically I bought the cheapest possible and the

01:31:36   smallest possible 5.1 speakers because my room is not set up for 5.1. It's really hard to even find

01:31:40   a place to put the speakers and everything. But I did the research and I found what is the best

01:31:45   cheap 5.1 system you can get. And I didn't think I would ever use it, which is why...

01:31:49   Like, I figured I'm going to get this thing. I better get the speakers anyway,

01:31:51   but I don't want to spend enough money. Well, they'll be off all the time, I assume,

01:31:53   just like my old speakers. And that's why I wanted a receiver that I could change the inputs on

01:31:59   without turning it on. And it can, it works great. Like, you know, I can change inputs without having

01:32:04   to turn the big thing on, it all lights up, and you gotta switch... Like, the features that I

01:32:08   picked for it work great, but I find myself now, to my own surprise, watching almost all of my

01:32:12   television in 5.1 because pretty much every program I want is 5.1. Like True Detective is

01:32:18   5.1, Netflix streams 5.1, Apple TV 5.1, movies, you know, horse Blu-rays and stuff like that.

01:32:23   They all put out 5.1 and my speakers, again, are crappy, but the speakers in flat panel televisions

01:32:29   are super crappy. So just having like reasonable bass and a center channel, those are the two biggies.

01:32:35   Forget about surround, like very few things actually use the back channels that much anyway,

01:32:38   but just having real low-end sound, which you can't get from flat-panel speakers inside the stupid TV,

01:32:44   and a center channel so the dialogue can be understandable and loud enough without,

01:32:49   like, you know, blasting it loud enough to wake up the kids. I am a convert to watching,

01:32:54   even on terrible 5.1 speakers, watching television and movies like that, versus watching them through

01:32:59   the other things. So that's kind of been like the big surprise for me, that even though I am

01:33:05   so much more visually oriented than auditorially or whatever audio oriented I find myself using

01:33:11   this around a lot more than I could and I guess it goes a long way you know the fact that the

01:33:15   speakers I got yes they're terrible in the grand scheme of things but they're way better than like

01:33:18   the crappy stereo speakers I have like there's a couple hundred I've spent a couple hundred bucks

01:33:22   on speakers but basically pretty much the same price as the receiver itself on speakers which

01:33:27   anyone who knows anything but audio would say no actually you just spend way more money on speakers

01:33:30   than you should on the receiver because they're much more important. But, you know, again,

01:33:34   I didn't care. So it worked out well for me. I'm very happy with the receiver I got. I'm very glad

01:33:39   I didn't buy the Sony receiver that I was looking at that has the 40-page nightmare thread in the

01:33:43   Sony support forums with people having problems. The research pays off. You know, it's funny,

01:33:48   I'm in a similar boat to Marco. I used, well, I still have a 5.1 setup, but I only have the

01:33:57   subwoofer, the center, and the left and right speakers on, or installed right now.

01:34:01   And that's mostly out of laziness because I didn't have a really good way

01:34:04   to wire up the rear speakers without drilling through the floor or drilling

01:34:09   through the ceiling and I just didn't want to deal with any of that and so I

01:34:12   just never did. We've been in the house since 2008, still haven't done it. And

01:34:15   there are times, there are absolutely times that I miss it without question.

01:34:19   But just having proper non-built into the TV speakers and a subwoofer makes a

01:34:26   world of difference and even just having that is enough to keep me happy and yeah

01:34:32   I wish I had the rear speakers or times. We'll watch a movie that that is designed to be

01:34:38   Particularly immersive not that movies aren't in general and I can't think of a great example

01:34:42   But you know a movie that clearly you you want to be in the middle of an app of the action and I'll miss those rear

01:34:48   Speakers, but generally speaking I'm fine. I'm perfectly happy with just the the left right and I do have Center

01:34:55   but left, right, and sub.

01:34:57   See, I think center is even overrated. So my setup now is I just have this pair of Paradigm

01:35:03   Atom bookshelf speakers, which are really nice bookshelf speakers, but just left and

01:35:06   right. And this is a good way to buy speakers. It is the absolute cheapest model from a really

01:35:14   good specialty speaker company. And so I think they were like 300 bucks for the pair, something

01:35:19   like that. And so I have those speakers powered by this little tiny NuForce, I think it's

01:35:29   called the UDAC, or it's something, no it's not that, isn't it? It's some kind

01:35:35   of little like NuForce amp thing that is very buggy and horrible, but it powers them and

01:35:42   it's like the size of like two Altoids tins, so it's this nice little tiny thing that

01:35:46   the speakers. So all I have is left and right and this little tiny thing powering them that

01:35:51   has this little tiny remote even smaller than the Apple TV remote. And it's fantastic. It's

01:35:57   great. The difference between the TV speakers and these left and right with no centers,

01:36:02   just the difference between TV speakers and these is just that, you know, what John,

01:36:07   John, I think these would address your needs just fine without a center channel.

01:36:11   you're able to hear what's going on on the TV better

01:36:14   at lower volumes because the speakers are larger,

01:36:17   they're directed more at you, they're better quality,

01:36:20   and so you can understand things a lot better

01:36:23   without having to really crank it up.

01:36:24   - But it's not the speaker quality, it's the mix.

01:36:26   Like when they mix 5.1, they put the dialogue

01:36:30   mostly on the center channel and louder

01:36:31   on the center channel.

01:36:32   There's actual separation in a 5.1 and a good 5.1 mix.

01:36:35   So you need the center channel speaker

01:36:37   because they're not going to send those signals

01:36:39   stereo and in fact the more a signal leans toward that the less you can hear the dialogue

01:36:43   because there's almost no dialogue in the left and right almost all the dialogue is

01:36:46   in the center.

01:36:48   That's only if your receiver is terrible. Every signal like almost everything, Blu-rays,

01:36:54   DVDs, almost everything has a stereo mix and things that only have a 5.1 mix will be down

01:37:01   mixed.

01:37:02   I know but I don't want them. I know that of course there's surround modes that will

01:37:05   just take the stereo signal and send it out to the centers and so on, or just do the stereo

01:37:10   mix. But I want to trust the person who did the 5.1 mix to properly mix it between left,

01:37:15   right, and center. I find that—because I've done it the other way. Yes, I can just power on the left

01:37:21   and right speakers and put it on the stereo mix and compare it to what it's like with the 5.1 with

01:37:25   the center channel. And I think they spend more time on the 5.1 mixes, and I think I find them

01:37:32   better than the stereo mixes? Well, regardless. So I have, in my opinion,

01:37:38   a very, very close approximation to the value of a full system, a full 5.1, which is these

01:37:44   two relatively small bookshelf speakers that are each about, let's see, two inches taller

01:37:49   than the new Mac Pro and about twice as deep. Do you have a sub with it?

01:37:54   No, because I hate external subs. I absolutely hate subwoofers. I've never had an external

01:38:00   on a system that I cared about for good reason because I don't like the way they sound.

01:38:04   I don't like the imprecise, kind of vague source of where it's coming from because

01:38:09   wherever the heck you tucked it behind the TV or whatever, it never sounds right. I like

01:38:15   speakers that are big enough to do their own subwoofering. So bookshelf speakers for TVs

01:38:20   are perfectly fine and for low volume audio, that's perfectly fine too. If I wanted to

01:38:24   get a lot more volume, I would go with floor standing, like the full floor height speakers.

01:38:29   I really really hate external subwoofers. They do not sound good. They never have sounded good.

01:38:34   Well, they're always configured terribly at people's houses. Like,

01:38:38   if you've only heard them in the stores in people's houses, they are just massively

01:38:42   miscalibrated and overboosted and just super terrible. I hate them because they're gigantic.

01:38:45   I mean, there's no getting around the fact that now you have this gigantic thing. But other than

01:38:49   that, like when correctly calibrated, and most of the good receivers these days have some usually

01:38:54   pretty crappy but way better than nothing calibration mode where you can just put a,

01:38:58   you know, an omnidirectional mic where your head would be and it just runs test tones to adjust

01:39:03   the levels and I was amazed at how low level it put this up. Like basically I was like,

01:39:08   is the sub working at all? Like because it didn't, you didn't hear that annoying kind of where is that

01:39:12   rumbly thing coming from. The appropriate level for subs according to this adjustment thing and

01:39:17   I totally believe it now is basically like I can't hear it at all it just sounds like my speakers

01:39:22   have more bass. And in the few movies that really just you know thunder that out with an explosion

01:39:27   it works well there, but otherwise you should basically not hear it. You should just make

01:39:31   my crappy tiny even smaller than bookshelf speakers feel like, "Oh, they actually have

01:39:36   low end. It's a miracle of science." But really it's like that sub that you're not even sure

01:39:40   it's turned on, but it is. Well, see, if you need that little of it, then I think,

01:39:45   you know, if you're—I mean, you know, your speakers are small. That's a different story.

01:39:49   But if I'm willing to have bookshelf speakers, even compact bookshelf speakers, I think that's

01:39:54   big enough, you know, the woofers on them are big enough to provide...

01:39:58   How big is the biggest cone or whatever?

01:40:02   Um, give me a sec.

01:40:04   Including the rubber gasket around it, it's five inches across.

01:40:12   Yeah, that's probably, I mean, five or six inches is probably plenty, but my speakers are super

01:40:15   tiny. That was one of my requirements for my speakers is because you've seen the room that

01:40:18   they're in, like, I have no place to put speakers, so I'm like, well, these just, they better be

01:40:21   really small so I can tuck them in, you know. Like, you know, those pictures on my mantle,

01:40:26   one of the surround speakers is like there amongst the pictures, so it has to be pretty much the

01:40:30   height of a picture and inconspicuous as possible, you know. So I definitely need to decide with

01:40:36   those, otherwise it would just be, you know, nothing. My biggest cone is like three and a

01:40:40   half or four inches in there. Yeah, I also, I greatly, you know, especially as I get older,

01:40:44   and of course, you know, the influence of my wife and wanting to keep the house reasonably looking

01:40:49   is a different impact as well. But certainly as I get older, I'm valuing more and more

01:40:54   having fewer smaller things and less complexity in the setup. That's another reason why

01:41:00   I don't want a receiver and why I don't want 5.1 or 7.1 surround. I'm so happy just

01:41:06   having decent left/right speakers. If the TV could power them, that would be one more

01:41:10   thing that I could remove, but it can't, so oh well. I'm very happy just keeping

01:41:15   things as simple as I possibly can.

01:41:17   And then you went and had a kid.

01:41:21   Well hey, now there's less for him to wreck or pull down or pull the wires out of or eat

01:41:25   or anything else.

01:41:26   So it's all good.

01:41:27   Hooray!

01:41:28   Thanks a lot to our three sponsors this week, Transporter, Ting, and Squarespace.

01:41:34   And we will see you next week.

01:41:36   Now the show is over, they didn't even mean to begin.

01:41:43   'Cause it was accidental.

01:41:45   (Accidental)

01:41:46   Oh, it was accidental.

01:41:47   (Accidental)

01:41:49   John didn't do any research.

01:41:51   Marco and Casey wouldn't let him.

01:41:53   'Cause it was accidental.

01:41:55   (Accidental)

01:41:56   Oh, it was accidental.

01:41:58   (Accidental)

01:41:59   And you can find the show notes at ATP.fm.

01:42:04   And if you're into Twitter,

01:42:07   you can follow them at

01:42:10   C-A-S-E-Y-L-I-S-S, so that's Casey Liss, M-A-R-C-O-A-R-M,

01:42:18   Auntie Marco Arment, S-I-R-A-C, USA, Syracuse.

01:42:26   It's accidental.

01:42:27   It's accidental.

01:42:29   They didn't mean to.

01:42:31   Accidental.

01:42:32   Accidental.

01:42:34   Tech podcast so long.

01:42:39   So I went on this trip.

01:42:41   - Did you survive it?

01:42:42   - I did, I think, yeah.

01:42:43   The trip was, my friend from high school

01:42:48   was getting married.

01:42:49   I'm the best man, and for his bachelor party

01:42:52   he wanted to do the ski trip in Seattle.

01:42:54   And one of the things that we, we also had the idea,

01:42:57   you know what, let's try a land game.

01:42:58   'Cause we were the two that always started

01:43:01   all the land games back in high school.

01:43:03   And we would play land games of Total Annihilation,

01:43:05   and then later on, more recent games,

01:43:07   mostly total annihilation. So we thought, you know, we both have like Apple laptops

01:43:12   and a few of the other guys who were coming on the trip also were part of this group and

01:43:16   also had laptops. So let's just try to set up, you know, basic land gaming. Okay. You

01:43:22   would think in this day and age this would be easy, that we're trying to run a game that

01:43:27   came out in 1996. How hard could it, or 1997, excuse me, how hard could it possibly be to

01:43:34   run this game in 2014. And so I, you know, first we tried a few things. I tried, like,

01:43:40   you know, what would be easiest is if I can get it running in VirtualBox, because VirtualBox

01:43:44   is free. And then I can just copy the VM between anyone's computer that needs it and just launch

01:43:49   it. And we could be guaranteed to have the same setup on everyone's computer because

01:43:52   I'm just copying a VM. That would be the best. Well, first the issue is, all right, well,

01:43:56   what version of Windows do you run? Well, do you want to pirate some, or do you want

01:43:59   to, like, you know, you know, how do you deal with copying it if it's activation and all

01:44:03   this crap, then I settled on, I was gonna get the version of Windows 8.1 that Microsoft

01:44:09   was offering for a developer preview right now for free, because you can download it,

01:44:12   there's no activation, and it only runs for 90 days, but that's all we needed it to run

01:44:16   for, so fine, right?

01:44:19   So I get all that and try installing it in VirtualBox, and the game just does not run

01:44:26   right in VirtualBox.

01:44:28   We wanted to play three games, Total Annihilation,

01:44:31   Moonbase Commander, and if possible, Supreme Commander,

01:44:33   which is much newer and higher needs.

01:44:36   So we wanted to run those three games.

01:44:38   And VirtualBox just doesn't run right.

01:44:43   We tried Parallels.

01:44:44   I tried Parallels before I got there.

01:44:46   'Cause Parallels is supposedly the best one

01:44:48   of these things at gaming.

01:44:50   Disaster.

01:44:51   By the way, really annoying.

01:44:52   Like Parallels, the crap it installs without asking you

01:44:56   is really obnoxious.

01:44:58   I would have recommended VMware, and you would have said,

01:45:00   but they say Parallels is better with games.

01:45:02   They only say that because--

01:45:03   - Well, I tried that next.

01:45:04   - Yeah.

01:45:05   - VMware was always my choice,

01:45:06   because it was always the much more professionally made

01:45:10   of the two, and you could feel it,

01:45:12   like in all the different various decisions.

01:45:14   Just seemed like the more adult version.

01:45:17   So I tried VMware, also didn't work right for these games.

01:45:20   So I thought, okay, well, I guess I can try Bootcamp.

01:45:24   So I tried Bootcamp, everything works great.

01:45:26   Now, I get everything set up and I,

01:45:29   in order to try to mitigate having to mess with computers

01:45:33   for hours on end, 'cause I knew we wouldn't have time

01:45:35   or motivation to do that on a ski trip where we, you know,

01:45:38   we would get home from the ski resort,

01:45:39   get home from dinner and just wanna like,

01:45:41   just wanna start a game in 10 minutes and play.

01:45:44   You know, if it takes more than 10 minutes to set up

01:45:45   once we're there, no one's gonna wanna do it.

01:45:47   So, let's just make it simple as possible.

01:45:49   All right, Bootcamp, I know this one,

01:45:52   even on the most recent version of Windows,

01:45:54   boot camp worked great and I bought the steam versions of these two games.

01:45:59   A TA I could copy but Moonbase and Subcom I bought the steam versions because they were

01:46:04   so cheap because they were such old games the total was $11 to buy both of them.

01:46:08   So I said alright so I emailed everyone I said alright here's what you gotta do if you

01:46:11   have a PC laptop bring it install the steam versions of these two games here's the links

01:46:16   it'll toss you only $11 please install them now before you get here that way when you

01:46:21   get here, everyone has the same versions of the game, everyone has the same games,

01:46:25   everyone has the same maps, everything's updated, no one has to deal with CDs or

01:46:29   CD checks or CD cracks or any of that crap that we used to deal with trying to

01:46:33   get LAN games going when we were teenagers. So this should work perfectly. So I get

01:46:38   there. One guy doesn't have it in boot camp, it's only in VMware which

01:46:43   doesn't work and can't boot it. One guy has installed one of the games, not

01:46:49   the other game and hasn't launched Steam in a while so everything has to update on this

01:46:52   like satellite connection in the woods that we have in this cabin. We spend probably a

01:46:57   good 45 minutes trying to get one game started of the simplest possible thing, passing USB

01:47:03   keys back and forth, copying all this crap between the two computers, having Steam launch

01:47:06   and then fail and then not connect to the internet and then want to update itself and

01:47:10   not have the updates. And of course nobody had actually done what I said or they had

01:47:13   done half of it or they had done a half-assed job of the things they did say. And finally

01:47:19   We get the games both launched both running and can't see each other over the network

01:47:23   and we're just like ah screw it let's get some bourbon and

01:47:26   That's the night became a bourbon night instead of a video gaming night

01:47:30   and this is like I tell this here because it's like this is

01:47:34   This is still like the state of trying to get a land game going

01:47:39   So I mean in the end of the day though your evening became better because it involved bourbon instead of

01:47:48   old-ass PC games

01:47:50   To be fair it probably would have ended in bourbon regardless

01:47:53   But at least that would have been after the games or maybe during you know halfway through the games

01:47:57   Yeah, you should have brought in 10 or 64. You could have hooked up with TV and play goldeneye. Oh

01:48:03   Amen to that I would have worked that actually yeah

01:48:06   Cuz we have a paid a lot of that too that actually would have been better

01:48:09   I mean the whole time I was thinking like of course we all had to be like the difficult nerds and like these weird

01:48:14   RTS games. Like, why couldn't we all just like an Xbox game? It'd be so much easier.

01:48:18   Nope. No, we have to be difficult. For a little while anyway, pretty soon you're not going to be

01:48:23   able to plug a Nintendo 64 into the back of a TV because nothing will have composite ports. But in

01:48:28   some crappy hotel, composite ports are still probably there for a while. And I think you

01:48:31   probably can get some sort of cheap upconverter box that has HDMI out on it. Yeah, that's one

01:48:37   more thing you've got to bring. Like, a couple of laptops take up less space in a bag than an

01:48:42   an N64 and a few controllers.

01:48:43   - I know, but the N64 is like, you control that.

01:48:45   That's the flaw in your plan,

01:48:47   was relying on other people to successfully do something.

01:48:50   You're like, well, I've done the hard work,

01:48:51   I figured out what you guys need to do.

01:48:52   All you need to do now is execute on this simple plan.

01:48:54   And that was, you know, that's your downfall.

01:48:56   It's like, if you wanted this to work,

01:48:58   you should have been like calling each person on the phone

01:49:00   a week before, three days before, a day of,

01:49:03   and say, have you done all this stuff?

01:49:04   Have you launched Steam?

01:49:05   You're not running in a VM, are you?

01:49:07   I know you might be doing that.

01:49:08   Bootcamp means you reboot the whole computer

01:49:10   and you just see Windows.

01:49:11   No, it's not, you know, like you have to like nag them to death until you confirm.

01:49:15   And then like your test games remote, you know, from each other to make sure you can

01:49:18   see each other with the network and they have different steam IDs and you're connecting

01:49:22   to steam for the first time from this computer.

01:49:24   Please re-enter your password.

01:49:25   Oh, I don't remember what it is.

01:49:26   Like there's so many, there's so many places it could go wrong.

01:49:28   It does not surprise me that you were unsuccessful.

01:49:30   Well, and another idea I had was do you just rent like four laptops before I got there?

01:49:36   And because you can rent laptops from some places, including TechServe here in the city.

01:49:39   and like you can just rent a laptop. I'm like let me just configure them before I even go

01:49:42   and just bring my own. Bring a stack of four like 13X MacBook Pros preconfigured to work

01:49:48   exactly the way I want to. But that would have cost like a thousand dollars and I didn't

01:49:53   it I thought you know everyone will have laptops anyway that would be wasteful but you know

01:49:57   let's see let's see what we can do. I'm sure it's so easy you should install any version

01:50:01   of Windows install the Steam versions of these games and bring your computer that's it.

01:50:06   Nope, that's not that easy.

01:50:08   And this is the good version, like Steam is just the modern miracle of PC gaming.

01:50:13   It makes it so much easier, you know?

01:50:16   Right, no serial numbers, none of that crap, everyone has the same version, it's always updated, like come on!

01:50:20   Nope, can't even do that.

01:50:22   Sounds like fun.

01:50:24   Although, you know, I'm a little disappointed that you didn't try to bring all these computers through

01:50:28   either gate check or through baggage claim or whatever, because

01:50:32   because, oh man, there's no reason why that should be a problem, but there would have

01:50:37   been a humongous problem with that.

01:50:38   Jared: Oh yeah, like, you know, why does one person need four laptops?

01:50:41   [Laughter]

01:50:42   Pete: Clearly you're, you know, trying to hack the NSA. What else could you be using

01:50:46   four laptops for? Oh yeah, yeah, yeah. What else is going on?

01:50:50   Jared; I mean, there's this Pono thing. There's not much to say about Pono. I wrote

01:50:53   a thing about it a few months ago, I'll link to it again tonight, I think. But basically,

01:50:59   linked to an article by one of my favorite writers, Dan Rudder, of Dan's Data. And he

01:51:05   wrote this big thing basically debunking the whole, like collecting a whole bunch of debunkness

01:51:09   in one place, debunking the whole thing about how like, you know, it turns out you can't

01:51:14   hear the difference between, you know, over 44.1 kilohertz files and over 16-bit resolution

01:51:20   and you know, all like the, all the supposed benefits of this like high bit rate, high,

01:51:26   know, high sample rate, high density music, high definition music rather. And there is

01:51:32   a real thing with remastering. You have the loudness war making music sound terrible the

01:51:38   way it's released on CD and stuff. And then a lot of these high definition re-releases

01:51:45   that are like at 192 kilohertz or something like that, 24 bit, 32 bit, whatever it is,

01:51:50   A lot of them will have a better, more even, less FM radio-like mastering, so that they

01:51:58   will sound better just because they were mastered better and they were crushed and compressed

01:52:05   less in the dynamic range.

01:52:07   So there are lots of reasons why some of these things sound better, but none of them are

01:52:11   the bitrate or the sample rate above a certain point, and that point is pretty much CD quality.

01:52:19   And so, you know, these things like Pono, I mean, God, I could talk forever about audiophile

01:52:23   stuff and I won't, but...

01:52:25   Let me quickly interrupt you.

01:52:26   For those who don't know, Pono, Pono, Pony, Poned, whatever it's called, is this thing

01:52:32   by Neil Young where it's supposed to be a high fidelity portable music player, and I'm

01:52:39   assuming there's a store associated with that, is that correct?

01:52:42   Uh, yeah, it's, you know, it's basically trying to be like a high definition version of iTunes,

01:52:48   So it has the device plus the music store that goes along with the device, and this

01:52:54   will – it's a whole new ecosystem that is, I believe, funded on Kickstarter shortly,

01:53:00   or about to be funded on Kickstarter, or at least rather it will be put on Kickstarter.

01:53:04   I'm not sure if it will succeed, but…

01:53:05   No, it's already funded.

01:53:06   It's like double funded.

01:53:07   Like, it wanted 800 grand and they've got 1.6 pledged already.

01:53:11   Yeah, that's not good.

01:53:12   Well…

01:53:13   Well, I think that is good.

01:53:14   I'm rooting for this ecosystem to become vibrant, because what it means is that we'll

01:53:17   able to get 256 kilohertz lossy rips of all of their well-mastered tracks and import them

01:53:23   into iTunes?

01:53:24   Yeah, I mean, that's like, you know, this is one of those things where it would be nice

01:53:32   for mastering engineers to have a market force to make things better. Unfortunately, I think

01:53:37   they already do. I think the general drop in the relevance of radio helps a lot. I believe

01:53:44   Apple's, is it called "Mastered for iTunes"? Yeah, they're better, but open them up in

01:53:49   an audio app, it's still kind of like a wall of fuzz. The dynamic range is basically what

01:53:54   we're looking for. From the loudest to the quietest thing, you just look at the waveform.

01:53:59   If the waveform looks like one big squiggle that goes the full height of the thing all

01:54:03   the way across, that's your problem. And their "Mastered for iTunes" ones are better

01:54:07   in that regard, but they're nothing like if you look at the levels on vinyl or whatever,

01:54:11   where the quiet sections were barely little ripples,

01:54:14   and then the loud sections just started

01:54:16   to go close to touching the edge.

01:54:18   This is all graphed on a line where

01:54:19   the maximum amplitude or whatever.

01:54:22   But I think I have faith in the mastering

01:54:25   that these people are going to do with their crazy high bit

01:54:27   rates and everything, that that mastering will

01:54:30   be more aggressive in terms of dynamic range

01:54:32   than even the master for iTunes.

01:54:33   So that's why I actually was serious.

01:54:34   I actually do look forward to if I

01:54:36   get some of my favorite songs as 256 kilobit rips of those lossless, crazy, high bitrate ones

01:54:45   that I'll be able to experience the song in a new way with a much bigger dynamic range,

01:54:50   even better than the Master of Fry tunes. Right, and that's all very valid, but it's

01:54:56   kind of like the placebo effect. It's like, well, you can argue that it works, but it doesn't really

01:55:02   work for the reasons people think it works. It's like, this is the kind of thing, these

01:55:07   tracks might sound better, but it's not because of any of the technical things that they have

01:55:11   on their platform. It's entirely because of the input, you know, how the music is mastered

01:55:16   going in. That would be why they sound better. It turns out if you do, there's a number of

01:55:22   sites that offer this, like, man, I forget. Let me see if I have it on my autocomplete.

01:55:26   Yeah, this is really cool. If you go to mp3ornot.com, this is hilarious. So it lets you play two

01:55:36   play, it basically automates an ABX test. So an ABX test, in brief, and please people

01:55:42   of science, I apologize if I'm messing this up. An ABX test, so you've heard about AB

01:55:47   tests, you know, you try one thing and then try another thing and see which one you think

01:55:51   is better. And the problem with that, there's lots of problems with that, but it's easy

01:55:54   to hear things that aren't there or perceive things

01:55:57   that aren't there and you don't really know.

01:55:58   So an ABX test is you have two unlabeled inputs,

01:56:02   or even labeled, doesn't really matter,

01:56:03   two inputs A and B, and then you have this X

01:56:07   and you say, all right, here's A, here's B,

01:56:10   you can listen to it as much as you want, here's X,

01:56:12   you can listen to that as much as you want.

01:56:14   Is X A or B?

01:56:16   And so MP3 or not, this site is an example

01:56:19   of one of these things.

01:56:20   So it says, all right, so you have A and B,

01:56:23   like A is a high bitrate mp3, B is a lower bitrate mp3, what is X? Is it the

01:56:28   320k or is it the 128k mp3? And I tried this site on my setup,

01:56:36   which I currently have what many people would argue will be the best headphones

01:56:39   in the world. I could not tell the difference between these two. I failed.

01:56:43   I got it right about half the time, which means that I'm failing.

01:56:47   That's random guessing. So I could not tell the difference reliably

01:56:52   on this site. And, you know, people, there's always more things you can blame. You can

01:56:57   blame my lack of sophisticated ears, you can blame some other part of my setup, you can

01:57:02   blame the fact that these are both MP3s and neither one of them is a lossless file, or

01:57:06   whatever the case may be. But it's one of those things like hearing the difference is

01:57:13   large and psychological with a lot of these things. And a lot of the possible upgrades

01:57:20   and enhancements in fidelity or hardware advancedness.

01:57:24   In the audio world, a lot of them

01:57:26   don't stand up to ABX testing, including

01:57:28   things like fancy cables or even fancy amps.

01:57:32   A lot of this just does not hold up.

01:57:34   And the reality is most people, even the audio files who

01:57:39   own and buy and talk about these things,

01:57:41   usually even they have a pretty hard time in ABX testing

01:57:45   telling the difference between things like MP3 bit rates,

01:57:47   fancy cables, and fancy amps.

01:57:49   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

01:57:56   Areas that mp3 encoding is bad at encoding like this pathological cases with like you know you get that mp3 sizzle

01:58:02   But only for certain sounds with a certain cadence in a certain frequency

01:58:05   So if you play some song that does not have any of that noise and that you won't like that's what people are hearing basically

01:58:10   Is the artifacts like it's fine when you know you're not running into one of these areas where the ways mp3 cheats

01:58:16   uh end up becoming visible and so like if it's like you know just i don't even know if it's

01:58:21   ever like sort of middle of the road classical music with sort of like nice tones and it's not

01:58:25   like high frequency high pitch drumming and cymbals where you might start to heal hear a

01:58:30   little bit of those artifacty sizzles but that's basically what i have bad ears to and what if i if

01:58:34   i was trying to listen for something that what i'd be listening for are those artifacts and i know

01:58:37   those artifacts from the days of like you know 96 kilobit and all they read you know way super

01:58:42   over compressed like those same artifacts at like oh in this part of the song i can totally hear all

01:58:47   this fuzz keep cranking up the bit rate around 128 pretty much almost all that fuzz goes away

01:58:52   but there's maybe a little bit left uh 256 i i can't hear anything and 320 certainly i can't hear

01:58:57   any difference but what i do hear definitely from you know as i have lots of copies of the same music

01:59:02   bought on remastered on cd and stuff like that and the original on cd and then the crappy original

01:59:07   cd release i hear differences in the mix and that's more important to me than the bit rate

01:59:10   at this point. Yeah, I definitely notice older, like I still have pretty much my entire music

01:59:18   collection from whenever I started first started amassing MP3s, so 96 something like that. And

01:59:27   the MP3s that were ripped way back then when our tools weren't as good and nobody knew what

01:59:34   settings to use, arguably nobody does today, but certainly more do than 96, I can absolutely hear

01:59:40   hear compression artifacts, particularly with cymbals. Especially there, I can hear a lot

01:59:46   of artifacts. But compare that to anything ripped in the last five to ten years, and

01:59:51   I agree with you that once you hit—for me, it's about 192. Over 192, I don't think

01:59:57   it makes a difference. I feel like 128—maybe it's in my head, but I feel like 128, I

02:00:02   can still hear the artifacts. 192 is all I need, and then I'm happy. So, titles.

02:00:07   Let's go with the woodpecker.

02:00:08   Fair enough.

02:00:09   All right, let's go to bed. Well, I will say that I'm very close to releasing the iOS 7 update for fast text

02:00:17   And I really need to do it. Well in the next six months, so I beat overcast

02:00:21   Can you put a foot some kind of feet based Easter egg in there for me?

02:00:25   I'll figure something out and if you don't beat overcast, you should really feel ashamed because the relative complexity of these applications

02:00:32   Not damn it John. Don't you sell fast text shortly? No, it's so true. I just set myself back a month

02:00:37   you should be able to beat me pretty easily.

02:00:39   Yeah, well I've been working with the designer, Jacob Swydek, and he's been very good.

02:00:44   And on a wildly unrelated note, I've been playing with Node.js a lot.

02:00:49   I really like it. It kind of makes me feel dirty.

02:00:52   That's good, man. You're actually doing something more recent than anything Jono and I will probably ever do.

02:00:56   What are you talking about? I do Node stuff all the time.

02:00:58   Seriously?

02:01:00   It makes me hate JavaScript even more.

02:01:02   [laughter]

02:01:04   I'm a web developer.

02:01:06   JavaScript all the time.

02:01:07   JavaScript is a fact of life.

02:01:09   Sad, sad fact of life.

02:01:10   Well, yes, but doing JavaScript in the browsers is in many--

02:01:14   well, it's a far cry from them.

02:01:16   No, it's not the browser.

02:01:17   Writing real programs with JavaScript,

02:01:19   which basically what any web developer is doing at this

02:01:21   point, you're not just like, oh, this is a way for me

02:01:23   to script the browser.

02:01:24   That age passed long ago.

02:01:25   We're writing real programs in JavaScript.

02:01:27   And then when you have to write a real program in a language,

02:01:29   that's what makes you really hate it, because you're like,

02:01:32   if I had this feature from this other language,

02:01:34   this wouldn't be so stupid.

02:01:35   >> Right, you start hitting all the little walls and all the things that are like still

02:01:39   kind of half-built and still immature.

02:01:41   >> Or even just like every time I just had to do string manipulation, it's like you were

02:01:44   so close, you had all the features, you just, the syntax is so stupid.

02:01:48   >> Of course a Perl programmer would complain and moan about string manipulation.

02:01:51   >> Anything, I'll take, pick another language, PHP, Ruby, sed, awk, anything has better,

02:01:57   like more convenient string manipulation than JavaScript.

02:02:02   time I gotta do like, you know, string dot match and then wrap the whole thing in parens

02:02:06   and subscript off the first one because index zero is the original string again for some

02:02:11   insane reason. Like I just, it's not, it's not Huffman coded to use Perl parlance. The

02:02:17   most common things are not short and simple. The most common things are just as stupid

02:02:21   as the complicated things.

02:02:22   You're so bitter and jaded and old. It's so funny.

02:02:25   But anyway, yeah, node is a fun way to, have you tried that ghost thing? That's speaking

02:02:31   a nice Node app to look at. The what? Ghost. It's like, what do you call it? Atwood changed

02:02:36   his blog to it. I heard about it from him. It's a way to run a blogging engine. They have a hosted

02:02:41   version that they charge an arm and a leg for, but it's open source and you can just download

02:02:44   and run on your local system. And it's just a Node-based blogging engine. It's like, Oh,

02:02:48   that's exactly what I'm writing right now because you did it and Marco did it and I didn't want to

02:02:52   be left out, dammit. I did not make a blogging engine. I made a way to produce HTML files that

02:02:57   that I rsync up to a server. Anyway, but yeah, like I said, mine is not a system at all.

02:03:04   But Ghost is, and if you're making one yourself, you should just download Ghost and just look

02:03:09   at the source, because it's eminently understandable, and it's a neat little app. I don't like it

02:03:14   particularly. I wouldn't use it as a blogging engine, but seeing—it's kind of the first

02:03:18   example, because it's open source, of like, "Here you go. Here's the whole thing. Run

02:03:22   it yourself if you want." And it's small enough you can understand it.

02:03:26   but then that defeats the whole purpose.

02:03:28   Then I could just use Tumblr.

02:03:30   - No, no, just look at it to get ideas of how they structure

02:03:33   things is like, I thought it was a pro tip of an example

02:03:36   of how do you write a modern node-based web application

02:03:39   without including umpteen billion frameworks,

02:03:42   although they do install a lot of other modules,

02:03:44   but it was pretty straightforward.

02:03:47   - You have to consider that I'm way too self-obsessed

02:03:52   to do anything smart like that.

02:03:54   Plus I'm way too bad at Node, and I'm sure if I looked

02:03:56   this, which I will, I would look at this code and be like, "Oh, I don't know what the hell's

02:04:00   going on."

02:04:01   No, you will find it completely understandable. Everything is extremely straightforward in

02:04:06   it, I think.

02:04:07   Fair enough. Well, my blogging engine, which is barely an engine that basically just regurgitates

02:04:12   Markdown and builds an RSS feed and does a couple other very small things, it is sitting

02:04:18   at 309 lines of code. And by that, I mean there's 309 lines in this file, some of which

02:04:23   your comments, a lot of which are white space, et cetera. So there's nothing much to it.

02:04:29   I'm really enjoying it for basic stuff. I wouldn't want to do it for—I wouldn't

02:04:33   want to use Node for anything serious or complex, but for basic stuff it's pretty nice.

02:04:37   You know, if it were Rails, you could build the entire blogging system in one line of

02:04:40   code. I've never done Rails, actually, nor Ruby,

02:04:43   ever. I've dabbled with Python. I've done basic, basic, basic Python, and basic, basic,

02:04:48   basic PHP, which is to say I've never gone object oriented in either.

02:04:52   But Node is cool. And JavaScript ain't so bad. Makes you think about things

02:04:56   differently, which is kind of neat.

02:05:00   Glad you agree. Jerks.

02:05:04   (crickets chirping)

02:05:07   [ Silence ]