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: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: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: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: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: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: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: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: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: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:57
◼
►
Every technology and every idea is somewhere along that
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: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: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:41
◼
►
And Dotnet has it?
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: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: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: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: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: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: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: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: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: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:48
◼
►
Well, I know, we can go down the road of, "Oh, cables don't matter," 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: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: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: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: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: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: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: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: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: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: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:01:00
◼
►
It makes me hate JavaScript even more.
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: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)