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 ]