R:
Aw, here we go!
[Music plays]
[Chuckles]
[This episode is sponsored by Frontend Masters. They have a terrific lineup of live courses you can attend either online or in person. They also have a terrific backlog of courses you can watch including JavaScript the Good Parts, Build Web Applications with Node.js, AngularJS In-Depth, and Advanced JavaScript. You can go check them out at FrontEndMasters.com.]
[This episode is sponsored by Hired.com. Every week on Hired, they run an auction where over a thousand tech companies in San Francisco, New York, and L.A. bid on JavaScript developers, providing them with salary and equity upfront. The average JavaScript developer gets an average of 5 to 15 introductory offers and an average salary offer of $130,000 a year. Users can either accept an offer and go right into interviewing with the company or deny them without any continuing obligations. It’s totally free for users. And when you’re hired, they also give you a $2,000 bonus as a thank you for using them. But if you use the JavaScript Jabber link, you’ll get a $4,000 bonus instead. Finally, if you’re not looking for a job and know someone who is, you can refer them to Hired and get a $1,337 bonus if they accept a job. Go sign up at Hired.com/JavaScriptJabber.]
[This episode is sponsored by Wijmo 5, a brand new generation of JavaScript controls. A pretty amazing line of HTML5 and JavaScript products for enterprise application development in that Wijmo 5 leverages ECMAScript 5 and each control ships with AngularJS directives. Check out the faster, lighter, and more mobile Wijmo 5.]
[This episode is sponsored by DigitalOcean. DigitalOcean is the provider I use to host all of my creations. All the shows are hosted there along with any other projects I come up with. Their user interface is simple and easy to use. Their support is excellent and their VPS’s are backed on Solid State Drives and are fast and responsive. Check them out at DigitalOcean.com. If you use the code JavaScriptJabber you’ll get a $10 credit.]
CHUCK:
Hey everybody and welcome to episode 165 of the JavaScript Jabber show. This week on our panel we have Dave Smith.
S:
Greetings.
CHUCK:
Jamison Dance.
JAMISON:
Hello, friends.
CHUCK:
Aimee Knight.
AIMEE:
Hello.
CHUCK:
AJ O’Neal.
AJ:
Yo, yo, yo coming at you live from birthday town.
CHUCK:
Oh yeah, that’s right. It’s your birthday today, isn’t it?
AJ:
Woo!
JAMISON:
Happy birthday.
CHUCK:
Joe Eames.
JOE:
Hey everybody.
CHUCK:
I'm Charles Max Wood from DevChat.tv. And this week we have two special guests. We have Chris Coyier.
CHRIS:
What’s up? Hello. Thanks for having me.
CHUCK:
And David Rupert.
R:
Hi. Thanks for having me.
CHUCK:
Do you gentlemen want to introduce yourselves really quickly?
CHRIS:
Dave, you do. [Chuckles]
R:
I’ve been dying to. I’m Dave Rupert. I work for a small three-person company in Austin, Texas. We’re called Paravel which is really hard to say on the phone, but P-A-R-A-V-E-L. I work with two of my best friends. And we work with big companies there. And we graft into big companies. And then I co-host ShopTalk with Chris Coyier and it’s a weekly podcast on all about frontend web design and development.
CHRIS:
Oh, pretty good Dave. I could have probably done you a little better.
R:
You want to elevator pitch me?
CHRIS:
Maybe.
JAMISON:
[Laughs]
R:
Alright, pitch me.
CHRIS:
Cool, shaggy hair and everybody likes me. And I make tiny jQuery plugins. [Laughter]
R:
Alright.
JAMISON:
Can you write my tombstone?
[Laughter]
JAMISON:
[Have you been] [in Provo]?
CHRIS:
There’s a lot of ellipses and um’s and ah’s. [Laughter]
CHRIS:
I’m Chris Coyier and I have a blog called CSS-Tricks. It’s where most people know me from, because it’s not old but I’ve been writing about CSS there forever, JavaScript’s buddy CSS, since 2007 or so. And these days I work for myself. I work an app called CodePen. It’s CodePen.io. And yeah, we have a similar-ish podcast called ShopTalk Show. Me and Dave do it. Yeah.
R:
Hey, Chris…
S:
Can I ask you about CSS-Tricks first?
CHRIS:
Yeah.
S:
Is there anything, any such thing as a CSS thing that’s not a trick?
[Laughter]
AIMEE:
That’s fair.
CHUCK:
Okay, that was awesome.
[Sound effect plays]
[Laughter]
AJ:
I think that’s an actually valid question though, because the other day I discovered why I don’t like
CSS.
CHRIS:
Oh.
CHUCK:
It took you this long?
R:
Yeah, [inaudible] [Laughter]
AJ:
No, no, it took me this long to figure out why. Because with a program, you know whether or not the program is correct and you can test it. And you can empirically know this program does its function.
CHRIS:
False. I’ve never been able to do that.
AJ:
But with CSS, with CSS there’s no way to know.
CHRIS:
Well, you could write a unit test is what you’re saying, right? There’s a right or wrong answer to output.
AJ:
Yeah. There’s no right or wrong way to center a div. You can do it the way that takes 30 lines and really weird relatively positioned things. Or you can do it with just a frigging center tag. [Chuckles]
CHRIS:
Well, don’t do that. [Laughter]
CHRIS:
But you’re right. There’s multiple ways to accomplish the same thing. But that would be true in any language, right? You could write a bad way to do multiplication I’m sure. You could find a way to do what. But then even if you get it right in one browser it may not be right on another browser because it literally has a different rendering engine or the screen size is tiny or medium or big. And you don’t have enough room to do what you’re trying to do. Yeah, the output of CSS is a much more variable environment for sure. And I can see how that would be frustrating.
I think it’s a certainly different world. It takes to different personality types for sure.
R:
I wrote my own multiply function. It’s 10x faster than using the multiply operator.
JAMISON:
Oh wow.
R:
Just kidding. [Laughter]
CHRIS:
I can’t [inaudible] that.
AJ:
Asm.js. [Chuckles]
CHUCK:
You wrote it in Rust, right?
R:
[Chuckles] Yeah.
AJ:
Actually, I was using Golang.js. That’s how I did it.
CHRIS:
Yeah, sure. I bet you could… they say CSS or Sass is Turing complete, right? You could probably write it on CSS somehow.
JAMISON:
If it doesn’t have to be right, I could write a [superclass] for it. [Laughter]
S:
Return zero.
JAMISON:
Yeah.
[Laughter]
JAMISON:
It’s wicked fast. So, ShopTalk. Do you want to talk to us about what that is? There might be people
in this audience that have never even heard of it. And we will try not to shame them.
S:
There might be people on this very panel. [Laughter]
CHRIS:
It was kind of Dave’s idea back in the day. I always secretly wanted to do one, because occasionally I would get invited to be a guest on one just like this. And it’s fun as heck.
JAMISON:
[Laughs]
CHRIS:
And it really is. I think a lot of people get off being a guest on a podcast and they secretly dream about starting their own because it was so much fun. I don’t know. It just is. But it’s a bunch of work, obviously, especially years and years and years ago when there was less tooling for it and websites that support it and stuff. So, I secretly wanted to do it but wasn’t ready to do all the work for it. And it was in the back of my mind ready to say yes to the next person who asked me if we wanted to split the load on doing one. And fortunately that was Mr. Rupert here. [Chuckles]
R:
And that’s where I came in. So, I think it was what, four years ago or something? It was fine. There were lots of web podcasts but they all tended to be very interview-y, long format, I’m going to talk to somebody for an hour. And those are really fun. But when all of them were that, it was a really, really, I don’t know. It was just like, can’t we have a fun one that’s like, I don’t know. Literally, I think our formula was like, car talk meets web design.
S:
Oh, good one.
R:
Yeah, and so that’s the… we mashed those up. And just, it was like who’s the funniest guy I know? It’s Chris. And also very knowledgeable. And so, we started out…
CHRIS:
We should have been click and right click. That would have been fun. [Laughter]
R:
Can we go back? Do we get a do over?
CHUCK:
Sure. [Laughter]
S:
Oh, man. That is such a good idea.
CHRIS:
Oh, man.
R:
Click and Right Click, The Tap Event Brothers. [Laughter]
S:
Oh, it just gets better!
JAMISON:
Those NPR references. It’s the essence of humor.
CHRIS:
We do a lot of them.
S:
I love you guys so much right now.
[Chuckles]
JAMISON:
So, I was going to ask specifically about that. It seems like your shows, there’s a good balance of the knowledge bombs and really entertaining. And it sounds like that was a conscious decision that you wanted to make something that was fun to do and listen to, right?
R:
Yeah, I think so.
JAMISON:
Or are you just naturally hilarious all the time?
R:
I think that was part of our, what could we do with a podcast with our personalities? So, I think that’s what comes out. I think it’s also really important. Chris and I are very dedicated to making websites and talking about websites. And you talk about websites. What are we doing right now? We’re talking about websites. I think at the core it’s about making websites and then sharing that knowledge which is how we all get better. I don’t think, I don’t know a single programmer who’s like, “Yeah, I only read books. I never talk to anyone. I just read books and that’s how I get so better.” [Chuckles]
R:
That’s not a programmer. [Chuckles]
CHRIS:
But the call in thing was the original idea. I thought it would have been really cool to take questions on the air. I think the tech is hard for that and the screening to make sure there’s less crazy…
R:
Yeah.
CHRIS:
[Inaudible] say offensive stuff or whatever is a little tough. So, we never quite got there.
R:
We actually built out a whole Twilio app with their API to call in. And we’d approve calls and stuff like that. But yeah, you can’t… the chances of getting a rando are too high.
JAMISON:
To have it live on the air?
R:
Yeah. You guys. You guys have been to conferences like South by Southwest or something. And the talk happens and the microphone opens up. And then somebody gets up there and it’s just like, “Yeah, I would like to tell you about my very cool thing I made. It’s really dumb and very…” You know? Just like…
CHRIS:
“I work in enterprise and [inaudible]…”
R:
Yeah.
S:
Every talk I’ve ever given. [Laughter]
AIMEE:
Aww.
JOE:
Wa-wa-wa.
R:
But why does it have to happen at the end?
[Sad trombone sound effect]
[Laughter]
JOE:
Gosh.
CHUCK:
I so need to get a soundboard for the shows.
R:
But yeah, it’s like you risk a lot if you can’t screen people, or it turns into Chris Farley where he’s interviewing Arnold Schwarzenegger and he’s like, “Terminator. That’s so great.”
[Chuckles]
R:
It’s like that. Anyway, but so we scrapped that and we just do prerecorded audio questions that come in and I would say we screen those, but we kind of don’t. [Chuckles]
R:
And so we just do it live and [run with it].
JAMISON:
You just roll the dice.
CHRIS:
Yup.
R:
Yeah. We’ll do it live!! [Laughter]
CHRIS:
It’s been working out pretty good though. We’re at 171. We just recorded one earlier today. And it’s been fun. We have people on and we talk to them for a second so people know who they are. But then they help us answer the questions. And we pick the questions based on [inaudible]. But you know, I’ve listened to a ton of JavaScript Jabber myself. And your format is pretty awesome, too. You get people in that actually made the thing that they’re about to talk about and you pepper them with questions based on that. It’s pretty cool. I know we’re talking about your podcast on your podcast which is a little weird. But congratulations. I like this format, too. It’s really cool.
In fact in our next little season I think we’re going to… or at least this is an unapproved idea but we’re going to steal other podcast formats maybe and do an homage to JavaScript Jabber and have somebody on that talks about their thing. And we’ll credit you of course and then have a different one where we talk about a book or something in some other format. Or we were thinking of doing like a ‘Wait Wait… Don't Tell Me!’ Steal some NPR format.
R:
Ooh, it could be fun, yeah. [That’d be super rad]
CHRIS:
We’ll see if we actually pull it off.
R:
[Laughs]
CHUCK:
Who gets to be Carl Kasell?
CHRIS:
Somebody funnier than either of us.
[Laughter]
CHRIS:
We’ll see if he’s free.
CHUCK:
There you go.
R:
[Inaudible]
[Laughter]
CHUCK:
So, I am wondering. You’re talking about wanting to have a show for frontend people that’s fun and a little bit different. Is there a specific type of outcome that you’re hoping that your listeners get other than just entertainment? Is there some value in their career or life or the internet or anything else?
R:
I suppose. I’m not trying to make people’s lives worse, certainly not. [Laughs]
CHUCK:
Well, yeah.
R:
No, no, no. I know what you mean. But if you subscribe to ShopTalk will you become a better person, too? Probably not. It’s just to fill some time with some niche learning stuff. There is a heck of a lot of FAQ type of thing. When you have an open forum and be like ask me anything, and we’ve gotten thousands and thousands of questions submitted to us over time, a theme starts to develop which is kind of interesting. They define your show and you have to be careful. Do we address that question over and over and over again? Or do we say, “Hey, we’re not going to answer that question anymore,” or how do you handle it? I’m not sure I have the right answer for that necessarily.
But one question that’s probably the number one ever on ShopTalk is the, what do I learn next question. Maybe you guys get this one a lot, too. “There are new technologies all the time. How do I stay up to date with stuff?” Or, “I learned some HTML and CSS. I want to get into JavaScript. How do I do that?” Or, “Which framework should I try?” Or, “Should I start with Node or should I go right to the frontend?” or whatever. People just, they want to be told what to learn next. And they ask us for some reason. And do you want to listen to a podcast, 171 episodes of a podcast where they just field that question over and over? You got to avoid doing the same show over and over.
But it’s worth bringing it up once in a while because we ended up getting a fun sound bite out of it which is our advice tended to be over time, “Just build websites.” Like, let what you build, let your ideas, let the thing that you’re working on guide what you’re learning next. Because that’s how you learn anyway, rather than from the book or from watching a video or whatever. So, just stop asking exactly what technology you should learn next and let your idea guide you. And so, that’s the thought behind it. But with the sound bite it turned into was “Just build websites.” And a couple of years ago we got to do a live show at a conference and we had the whole audience go, “Just build websites.”
[Audio recording of “Just build websites” plays]
[Laughter]
R:
[At least we got] that sound bite out of it.
S:
Where did all these people come from? Were they just right there in the room with you?
CHUCK:
They went to LA. “Wheel of Fortune!” Right? [Laughter]
CHRIS:
Dave, you got to grab that. We got to use that.
R:
I know, yeah. [Inaudible]
CHRIS:
That’s great.
R:
We’re pivoting. [Laughter]
CHUCK:
Sorry, that’s just what it reminded me of.
R:
Yes, it’s exactly perfect.
CHRIS:
Yeah, next time they’re expecting us to play that sound bite, we’ll play the other one instead. And that would be hilarious. [Laughter]
R:
I could call Vanna. [Laughter]
CHRIS:
Oh, that’s great. But yeah, it’s been really fun. It’s this thing that has remained fun largely because Dave keeps it fun and non-serious. And we have other jobs, too. So, we’re not really betting the farm on this one. Not that there’s anything wrong with trying to do that. But you’d probably have to do more than just one podcast about a super niche thing. And it’s funny how niche we really are, because the chances of me knowing who the guest is on any given episode of JavaScript Jabber is kind of low even though the people end up being like, “Oh, I’m the dude who made Lo-dash” or whatever. I’m like, “Oh, dang. I know that thing but I didn’t know your name.” But we’re super related podcasts. And yeah, I hardly know anybody. So, man is it niche, what we do. Even within the same industry it’s hard to know who’s who.
CHUCK:
Well, and in particular in the web development industry and JavaScript and some of the frontend technologies, it seems like there’s something new every week. And so, we just luck out in getting the ‘somebody on the show knows somebody that knows the guy that built the popular thing’ or something.
S:
You mean is it a coincidence that we’re a weekly podcast and there’s something new every week? I think most technology is basically organizing with our schedule.
CHUCK:
Oh, is that it?
R:
Do you guys just follow days since last JavaScript framework? [Laughter]
R:
And that’s your release?
CHUCK:
It would be perpetually like, two.
R:
Zero? [Chuckles]
AJ:
So here, we have this sign on i15 that says X number of fatalities or fatality-free days out of past Y days. And I think that’s the JavaScript framework landscape. [Chuckles] Like, there have been no new frameworks in the past six hours. [Chuckles]
CHRIS:
Do you find that people generally say yes, too? I think that’s what I’ve heard from most podcasters. It’s flattering to be asked to be on a podcast and probably a good idea for your job to be on said podcast. So, you should probably say yes.
JAMISON:
I was kind of shocked at how, I mean everyone has different time constraints and stuff. But I thought no one would ever want to come on it, ever. [Chuckles] But it turns out giving people a platform is attractive to them. Who would have thought?
CHRIS:
Yeah. Plus they can be on in the middle of the day [laughs] which just speaks to our industry a little bit. I got a buddy who books people for an actual radio show. And they’re authors and people in all kinds of industries. And apparently it’s a pain in the butt. They’re like, “I have 15 minutes. But I’m going to be in a cab. And there are 10 bridges on the way. So, don’t count on it.” It’s tough to get at somebody like an author at a tiny local radio station, because it’s like, what are you going to sell, three books or something? It’s harder to book people that don’t need a platform.
CHUCK:
Yeah, but we are in a niche, too. And there isn’t a radio show out there for JavaScript developers or frontend developers. And that’s kind of the need that we fill.
R:
[Inaudible] niche.
JAMISON:
If you come on here, you sell at least 10 semicolons. Way more than [three books] [Laughter]
CHUCK:
Even if they’re automatically inserted.
CHRIS:
Although Chuck, how’s it going getting Justin Bieber on the show? He’s been pretty hard, right?
CHUCK:
Oh man, I can’t even tell you.
R:
It’s hard to pin that guy down.
AJ:
Oh, that’s weird because I thought he was with the whole I Can Has Cats or whatever framework.
CHUCK:
Uhuh, yeah.
AJ:
The piano cat. That was in JS, too.
CHUCK:
But yeah, for the most part people say yes. And they’re excited to come on. It helps that we have a fair number of people that listen to the show. But it’s also their opportunity to talk to people like them about what they do and have people get excited.
CHRIS:
Heck yeah. I even, have you ever talked to somebody from Google or whatever? Sometimes they have to prove to their boss how effective they have been in the community so they have to prepare little emails to send their boss that it’s like, “I was on this show and it got this many listens. And then I wrote this blogpost that got this many page views.” I’m not sure if that’s all how it is but I’ve definitely gotten that. “Can you provide me with your listener thing so I can tell my boss I did a good job?”
CHUCK:
Yeah. It depends on the company. So, Google is really good about that. Obviously there are some things that they can’t talk about. And when we stray into that they’re usually like, “Yeah, I can’t talk about that.” And then it gets cut out and nobody ever knows. But I have shows on Ruby and iOS. And so, I was talking to somebody at Amazon about coming on and talking about some of the features in AWS. And I got a yes with an attached “But we reserve the right to veto anything that’s said and you have to take it out.” Because they’re worried about controlling the message and making sure it’s all on point.
CHRIS:
Right.
CHUCK:
Which makes total sense. But at the same time, it’s a little frustrating. I have an iOS show and trying to get people from Apple just doesn’t happen. They will not talk about anything. But then they have the big WWDC keynote and all that stuff. And then a lot of it comes out. So, it just depends on the company and how they want to approach different things.
JAMISON:
I have a wild change of subject. You have the questions. What do you do if people don’t know the answer? So, I was on your show a while ago and that was the scariest part of it for me.
CHRIS:
Yeah.
JAMISON:
All these people asking me questions. [Chuckles]
CHRIS:
I’m surprised by that. Not that you’re… you have the right to be scared and you’re not alone. A lot of people worry about that. And I don’t know that we’ve ever answered a question on ShopTalk Show.
[Laughter]
CHRIS:
We’re like just a guide, a framework for a conversation, really.
JAMISON:
Sure.
CHRIS:
Yeah. Some people are just like “Uh, pass.” [Laughter]
CHRIS:
Our guest Laura Shank today, we had one of the questions and she passed. [Laughs] That’s like, that’s cool. Yeah, don’t worry about it. Sometimes we tell people, “Listen, this is our 171st show. We have a certain degree of experience with guiding this thing along. We’re not going to ask you a question and then go silent and just let you hang with dead air.” That would be bad radio and just rude. [Chuckles] So, don’t worry about it.
JOE:
We do that all the time.
CHRIS:
[Laughs] I think we can guide you [inaudible].
JAMISON:
But we’re not live.
CHRIS:
If I can tell that they just don’t feel like it, we can move onto the next question. It’s called skilled hosting. [Laughter]
R:
We try to keep it water cooler level. Like, “Hey, we’re talking about this. Do you have an opinion?” And usually people do. There’s I think only a few times in 170-something episodes that people were just like, “Yeah, I don’t really know.” So, you just got to know how to pick questions, too. That’s the tough part. Chris does probably a lot of work in figuring out just about what people’s wheelhouses are and how it can kind of correlate. So, yeah.
CHRIS:
Plus you can always jump back to the questions about how they learned a particular thing. So, there are some questions that any guest can pipe in like, “Is college worth it?” [Chuckles] That’s a pretty common one that we…
R:
That’s an FAQ, yeah.
CHRIS:
Yeah.
R:
But it’s interesting how those answers have changed over time. Should you go to college? Different people have different experiences and give different answers so that’s really cool. The classic, you guys probably get this every week, should I use jQuery or raw JavaScript? Which is [chuckles] a pretty awesome question. It sounds silly now but it was a big question four years ago. The new, new question is like, is Squarespace or the grid or Macaw replacing web design? And it’s like, yeah, it might be. [Laughter]
R:
So, our answer used to be this really defensive, “Oh, no way. No computer could ever do what I do.” But now [chuckles] it’s like, yeah. Computers are pretty good now. [Chuckles]
R:
So, they might be able to do some of what I do. They’re getting smarter faster than I’m getting smarter. So, oops. [Laughter]
CHRIS:
Did you guys read that Paul Ford article that was just out? The ‘What is Code?’
JAMISON:
Oh, man. That was so good. I tried to get everyone in my life that doesn’t program to read it. And they didn’t care.
R:
Aww.
CHRIS:
Aww. It started out pretty nerdy.
JAMISON:
Yeah. I think a lot of them bounced off. But it was so good.
S:
It was secretly written for programmers.
JAMISON:
I think it was, kind of. [Chuckles]
S:
Everyone loves a story there.
AIMEE:
Trying to get my husband to read that.
CHRIS:
I brought it up because I was thinking about, so tech is a niche. And web tech is a niche within that niche. And just JavaScript is a niche within that. [Chuckles] We're this pretty specific kind of thing. In the Paul Ford article he says, imagine… so there was some study that was like, how many programmers are in the whole world? And it's like 11 million was the number being thrown around and 7 million on top of that, that do it as a hobby. So, if you take it altogether, that's roughly the population of the greater metropolitan Los Angeles area. Then he was like, well if it's just iOS programmers then they're this neighborhood. And he kind of breaks it down by that kind of thing. So, then I was like I wonder what frontend developers represent out of that 11 million? I just don't have a good sense of it. Is it tiny, a niche? Or is frontend development huge and totally is one of those neighborhoods?
S:
Oh yeah, that's a good question. I wonder what percentage of all bugs are written by frontend developers? [Laughter]
CHRIS:
Now that's, that would be [inaudible].
R:
In my experience, 100.
[Laughter]
JAMISON:
So, you're saying… never mind.
R:
Yes. [Laughs]
CHUCK:
I'm just wondering if he did like Dante's Inferno and he assigned PHP developers to the slums or something.
JAMISON:
No, he stayed away from that. But he did talk about how we do that and how grumpy programmers get about languages.
CHUCK:
Oh now you're making me feel bad.
JAMISON:
Why do they get [inaudible] mad about different languages?
R:
Why do we?
JAMISON:
I don't remember what he said.
CHRIS:
But the answer to that is that there's absolute truth and… [Chuckles]
R:
Is that part of it? Is it because in most of our work there is absolute truth and that therefore we try to apply the absolute truthiness to everything? Is that… ooh.
CHRIS:
I think that's because we're humans.
R:
And we're prone to clans and in-faction fighting?
AJ:
Yes.
CHUCK:
Yeah.
S:
Speak for yourself. I'm Squarespace.
AIMEE:
I think it's the competitiveness of people. [Chuckles]
S:
Says the professional competitor athlete.
AIMEE:
[Chuckles]
R:
OH yeah? How many push-ups can you do?
[Laughter]
AIMEE:
No one asked me that question. I am an athlete.
R:
Mine's like negative six. [Laughter]
AIMEE:
No seriously though, I don't know. I've heard the whole Ruby/JavaScript argument. And people get passionately upset about this. [Chuckles]
R:
When you hang out with Ruby dudes, and I'll call them that on this show [chuckles], man they have strong opinions about Node and how npm is super bad and dumb. [Laughter]
R:
But then you talk to…
S:
I've never heard that one. Is it?
R:
No. [Chuckles]
R:
I was like, I felt like I was in foreign land because everything I listen to is all Node-based. And I was like, 'Surely they downloaded the right Node, right?” [Laughter]
CHUCK:
Well…
JAMISON:
It's like you go to a foreign country for the first time and you're like, “What, America isn't…” some people think America isn't the best.
R:
Yeah. No, it was totally like that. And they were slogging up npm just like, “Oh man, it doesn't even work. It's Fail Town USA. And now it's just like, “Have you all used Bundler?” though. [Laughter]
R:
Or I know people who work o Bundler and it's an amazing piece of software. But it was just like, Ruby has a couple of problems. That's sort of where I was thinking in the back of my head. But it's interesting just how people gravitate to their technology and gravitate hard. People are all-in on lots of technology.
JAMISON:
I wonder if it's because it's such a time investment, too. Like, if Ruby is not the best you have made a long and costly mistake.
[Laughter]
JAMISON:
And it's going to be hard to change it. [Laughter]
AJ:
Well, that might be true. But Go's only existed for a couple of years and no one knew about it until the past six months. So, you can't blame them.
R:
And it's the best, though.
S:
If we're being real, here. It's Win-Town USA. [Laughter]
CHUCK:
So, being the resident dude on the show…
JAMISON:
By the way, Ruby means any language.
CHUCK:
I know.
JAMISON:
I'm not trying to say Ruby is not the best. Ruby is fantastic.
CHUCK:
But I find this with… we've had people from all kinds of different languages on all the different shows. And ultimately what it boils down to is people like X either because it’s familiar or they like their thing because of this or that. And everything else gets painted with the ‘not like my preferred or familiar tool’. And so, they get into npm and they expect it to work like RubyGems. And they don’t realize that it has a component to it that’s like Bundler. And it’s just put together a little bit differently. And so, they run into a barrier because it’s not what they expected because it’s not Bundler.
CHRIS:
You know, I have a little different perspective. When I get to know a technology it starts to feel like a really good friend. It does all these awesome things for me, makes my life better.
R:
I have a pillow I haven’t thrown away in 15 years.
CHRIS:
Yeah, exactly, right? And I’m not going to come and tell you your pillow is… but I mean seriously. And then when someone says is crap or you see someone else like, “Well, that’s not as good as my friend. My friend would never do that to me.” I don’t know. I tend to love the things I use. And then I love them too much.
R:
It’s like a good trait in life. It’s just maybe not so great at…
AJ:
So, I tend to make really aggressive comments about the things that I love until somebody just totally slams me to the point where I’m like, “Dang, you’re right.” And then I started using JavaScript. [Chuckles]
AJ:
No, I mean that’s actually the way I got into Node, was because I was at a Ruby meeting and nobody was slamming Ruby or anything. This guy just starts, talks about how great JavaScript is and everything. And the next thing you know, I’m a JavaScript developer. I stick with my technologies with fierceness until I’m convinced that something else is definitely better. I loved Windows. I used to tell people about Windows XP. I was like, “You know, Windows is the best thing that ever happened to computers. The problem is that you’re running AOL and that’s using 600% of your RAM.” And that was true. And then somebody introduced me to Linux. It was like, “Oh, no. The reason that Windows doesn’t work is because it’s Windows.” [Chuckles]
AJ:
You know?
R:
Yeah, man. [Laughter]
AIMEE:
I kind of have a question about [inaudible] ShopTalk, if that’s okay.
R:
Yes.
AIMEE:
So, I’m somewhat of a new developer and I’m curious. Was it a conscious decision to make your podcast accessible to people just beginning? And how do you balance the technical content so that you make the podcast relevant for everybody listening?
R:
I think the nature of Chris’s blog CSS-Tricks being very, when you’re new and you have a CSS problem or even if you’re very experienced and you have a CSS problem you usually end up on Chris’s blog. And so, I think we get a lot of traffic from that. One thing I’ve noticed about Chris in how he explains, I realized this really early on, Chris whenever approaching a problem, he starts at the beginning. Like okay, let’s deconstruct this. This is what it is. And then here’s the next step of how it gets more complex. And here’s the next step. And builds out like an onion. And I don’t know if you know that you do that consciously, Chris, but you do. And it’s awesome. And I think it really helps new people learning. And then we also have this deep dive sound effect. It’s like a submarine horn that goes ‘awooga’. [Chuckles]
R:
Here, I’ll find it for you.
[Submarine horn]
[Laughter]
R:
But if you hear that sound effect, that means it’s about to get nerdy and very, very nuts and bolts. We had somebody from Codeship on who just, it was continuous integration the whole show which is just for our audience that’s probably very foreign. Why would I continuous integrate anything? I use WordPress. But it was a deep dive and I feel like it was very, very good to I don’t know, learn how that all worked.
CHRIS:
A lot of it comes from some degree of empathy for someone who doesn’t know what you’re talking about. So, just stop for two seconds and think what prerequisites they probably need to understand the sentence that you’re about to say. And maybe say those ones first. [Chuckles]
CHRIS:
For context or whatever. Not that, I don’t think that we’re particularly talented at it. But when you do that it ends up being slightly more beginner tint to your show. I think we’re probably capable of doing a slightly higher level show. But we just have fun where it’s at. And our show is guided by the questions that we get, which we get what we get. And they tend to be lower level. Which is the one where it’s more complicated? Lower level or higher level?
JAMISON:
Oh man, all of them. [Laughter]
S:
All the levels. [Laughter]
R:
Primitives? Are we talking about primitives now? Browser primitives?
S:
Are we talking higher order complexity [Ajax] or something?
R:
Oh yeah. So really, there’s no consensus on that? When you say, this is a low-level language, it could be either one. It could be CSS or I don’t know.
CHRIS:
It’s just a different dimension, I think.
R:
I [got to] think it’s like… oh, but I was just about to totally contradict myself. [Chuckles] I was going to say I think it has to be a limbo bar. If it’s low, you can just jump over it. But no, if it’s low, it’s super hard to get under it. [Laughter]
R:
This is confusing. This is very confusing.
CHRIS:
Even the metaphors are hard. [Laughter]
CHRIS:
And how can we expect anyone to understand?
JAMISON:
That’s a really tough to acquire skill, the ability to explain stuff without assuming that they know things that you already know. I can’t even comprehend the fact that I know stuff that other people don’t know.
CHRIS:
That’s the number one blocker for new bloggers, which I find a little sad. But people are like, they can’t put themselves in a mental space where… they think that as soon as they learn something they assume the whole world also knew it instead of assuming that [chuckles] you just broke some new ground there, which is probably of course halfway true and halfway not true. Some people know what you just learned but not all of them do. And nobody knows exactly how you just learned it and what was particularly confusing to you as you just learned it. And in the context you just learned it in and all that kind of stuff. I wish… not that you’re feeling is invalid or whatever. Of course it isn’t. That’s the blocker. That’s why there’s…
R:
It’s just not accurate is what you’re saying.
AIMEE:
Well and then you have the two extremes of people: the people who feel like they don’t know much and they know a good amount, and then the people who don’t know much but think they know a ton. [Chuckles]
R:
Yeah. That’s dangerous, too. Yeah. [Chuckles] Or it can be anyway. It relates to one of the very first things we talked about which is the backend languages versus things like design and CSS and stuff. I always found it a little easier to talk about CSS because in CSS you can present in like, “Well, this worked for me. I have it up. It’s on a production site. It’s doing the job that it needs to do. I have all the evidence that I need that it’s solving a problem,” kind of thing. And other people can’t. Or not that they can’t. They may try. But especially if it’s a design decision kind of thing, like this is a particular style of button we use, or this is where we put it on the page. It’s hard to disprove that kind of thing.
Whereas if you post some code and it clearly has an XSS problem with it or is a very slow way to do it, people can empirically prove that you are wrong. And that’s a pretty bad feeling. That would scare me from starting a new blog about Ruby or whatever. Because you can just be wrong. [Chuckles]
JAMISON:
But yeah, that’s a good point. So, the last couple of years there have been a lot of talk about microservices. And in the last couple of weeks there’s been a lot of talk about how they’re not actually the best. And it’s really weird how quickly the community opinion of the right way to build backend systems is just totally the opposite what it was before.
CHRIS:
Don’t you think that there’s probably a grey area in between those two strong opinions that’s the right…
JAMISON:
That is way too reasonable and won’t get any hits. [Laughter]
R:
In our world…
AJ:
It’s either functional programming or it’s object-oriented. There’s no middle ground. Don’t kid yourself.
R:
Performance has been a super-hot topic, at least in the circles that I run in. But a hot topic-ish kind of thing is we’re losing the web to native apps. And it’s largely because of performance. And what a joke it is that you might go to a website and the text won’t show up for two seconds or an image shows up before the text because it’s using a custom font. And that custom font is taking a long time. And browsers made this weird decision to not show any text at all before it shows up. And that’s such a huge penalty. A native app will never have that kind of problem.
And so then, there are super strong opinions on both sides. There’s like, “Why don’t you blame big bloated frameworks like React?” or whatever. Fill in the framework here. “That’s the problem. It’s all these tools that are the problem.” So, it will be like, “Don’t use tools.” And then there’ll be people like, ‘It’s not the tool that’s the problem. It’s how you use it, and being reasonable about it.” So, there are people like, “Use all the tools. Tools are here to help us.” And of course, the right answer is use a tool when it makes something better and don’t use it if it makes something worse. The right answer tends to live in the grey. Oh, boring, right? Worst blogpost ever. [Laughter]
S:
I was just typing it while you were saying, as fast as I could, so I could put it on my blog. [Laughter]
JAMISON:
It feels like the extremes are valuable to help anchor the discussion, though.
CHRIS:
Yeah, yes. That’s very true.
JAMISON:
Because people probably know more about microservices and monoliths now because there’s this debate over it. And maybe most people end up kind of in the middle, which maybe we’re saying is better for everybody. I don’t know. It’s not… maybe we should all be lumberjacks. Maybe we shouldn’t code because there’s no absolute truth. And [inaudible] we’ve been doing.
JOE:
The only good blogpost is blank found harmful. I’m sorry, that’s… [Chuckles]
CHRIS:
Oh, my god. I can’t wait to [inaudible] that. I’m really saving up something good for it.
JOE:
[Laughs]
JAMISON:
Do you have a soundboard sound for an existential crisis?
[Laughter]
JAMISON:
Is it just like…
[Crickets chirping]
[Laughter]
JOE:
Well played.
JAMISON:
Just a giant wall of white noise.
CHUCK:
[Chuckles]
R:
Nope.
CHRIS:
That’s abstract.
JAMISON:
Yeah.
S:
We should record the sound of Jamison’s head splitting open.
JAMISON:
[Laughs]
S:
When he’s just so frustrated with all the tools.
JAMISON:
No, I’m not frustrated with the tools.
CHUCK:
The scream. The sound of ultimate suffering from Princess Bride.
JAMISON:
Yeah, maybe that one. It’s just sad. I’m sad that I don’t know the right answer to everything.
R:
Wow, that must be tough.
CHRIS:
Yeah, it’s got to be. [Laughter]
CHRIS:
Bathed in sorrow.
R:
That’s a Greek tragedy figure, I think.
JAMISON:
[Laughs] I’m not as buff as those guys, though. And I have more clothes on. [Laughter]
JAMISON:
So, we’ve talked a little bit about CSS-Tricks. How do you learn new stuff to put on there? Is that too dumb of a question? I feel like I personally have had a hard time learning CSS even though I’ve done it for a long time. And just the idea that someone knows all of CSS is pretty…I don’t know.
You know what I’m saying, though.
CHRIS:
Yeah. Where ideas come from fortunately at this point has become fairly easy, just because enough people read it and there’s enough community behind it that there’s a backchannel. There are emails flowing around. And I go to enough conferences and stuff and I have rituals for saving ideas and stuff. The idea stream is very full. So, I don’t really consider that a huge problem at the moment. Well, my strategy for saving ideas is largely to write them down [chuckles] which is pretty solid, I know. But the way that I do it is to attempt to in the best case scenario write the first paragraph of the post if you can, instead of just the root idea. I have countless bad notes that just say something like fonts question mark. [Laughter]
CHRIS:
I’m like, oh man, that’s awful. I had one that said circles once. And it really bothered me because I remember when I wrote that down. I had this super good idea and it had something to do with circles. And I could not resurrect what the heck it was. And I resolved at that point to do a better job. So, a lot of times I’ll write down a really long title and I’ll write enough so that as I’m reading it right as I’m writing it, that it clearly ignites the spark of why that was interesting. Then it’s easy to revisit because you know that there’s enough there in those words to get the spark back. And a lot of times it’s like, oh it was this moment at which I didn’t understand something and then I did understand something.
I just started a draft this morning where I was looking at an idea for a post. I was like, I should post something this week. And there was the idea. And it was this, it was like what is golf? Which is weird, but then I wrote enough notes to resurrect it. Enough people have mentioned code golf to me in context in passing. And it made me furrow my brow and be like, what the heck are the4y talking about? Is it just like a metaphor for work or something? And I didn’t understand that in code, golf is trying to write some code on purpose in the fewest number of characters that you possibly can. It’s like a game. I’m sure you guys have heard of it, haven’t you?
JOE:
Yeah, golf.
CHRIS:
Yeah, golf.
S:
Yeah, a code golf.
CHRIS:
But enough people don’t know. Believe me, there’s people out there. I didn’t know what it was. And if I don’t know what it is, there probably are other people that don’t. So, I was just going to make a quick little blogpost explaining that. If you hear it in conversation or in passing, this is what it means. Here are some examples of golf in different languages and such. It’s not like a brilliant blogpost. But CSS-Tricks is seven years of not-so-brilliant blogposts that combined is kind of a useful resource. [Chuckles] So, that’s my story.
JAMISON:
It’s a beautiful story.
CHRIS:
Yeah. That’s how you blog. You just write down mediocre ideas and then knock them out.
JAMISON:
And then you write more down about them.
CHRIS:
Yeah.
JAMISON:
Cool. Dave, I know you do a project involving accessibility. Do you want to talk a little bit about that?
R:
Yeah. Gosh, when was it? Two thousand and let’s say 13, me and some other people started The Accessibility Project. And it is a project aimed at lowering the bar of accessibility and trying to make it easier to understand. We have three goals. It’s to make things… oh, I forget. [Chuckles] It’s digestible. So, we strive for two-minute articles, like everything should be read in two minutes. And really, an easy reading level. A lot of the stuff I came across when I’m trying to learn accessibility, and I still don’t consider myself an expert at all, but a lot of the stuff I came across was like, they would just link to the spec. And it’s like, that sucks. [Chuckles] If you’re trying to learn anything and you link to the spec, you lost the argument. That is the worst place to send somebody to learn something.
So, we’re focusing on two-minute articles, try to keep it up to date with best practices. That was another thing. You’d learn something and then it turns out it is actually way out of favor. It should never be used. Like access keys, you might have heard, or even like tab index. Everyone was like, oh you just add a tab index in there and it’ll fix it. And it like, actually tab index is sometimes super bad. You have to actually know how to…
CHRIS:
That’s an HTML attribute that you put on divs and spans and whatever. And you put tab index one, tab index two, tab index three, and that will control the order of when people are hitting the tab key which ones they go to. And if you’re having problems with tabbing, you might reach for that to put on things because it will temporarily fix the problem. But it turned into an anti-pattern, right? People would reach for that tool and it would actually hurt the tab index system.
R:
Yeah. It was default in Rails form builder for a while. And it just ruined accessibility. My favorite example I think is how to use an alt tag on an image. It’s a 300-word article on how to use alt tags. [Chuckles] And you think it would be easy but it’s kind of complex. So, we try to keep it up to date. And then we also, we’re forgiving. I think my personal experience was like when you make something or ship a site that’s inaccessible, a lot of the accessibility crowd, this is my personal experience mind you, not a crass judgement on everyone, but it was just like, “Oh these idiots didn’t make it accessible in this one weird way. Fail.” And that to me was actually super discouraging. It made me mad. It made me want to lash out irrationally and make my sites less accessible. [Laughter]
R:
Which, why? It’s pride. But I don’t think that’s how you convert people. I don’t think that’s how you bring people into wanting to do something that’s actually for the benefit of everyone in all of humanity, blah, blah, blah. But you have to be forgiving. It’s like, “Yeah, you made a mistake. Here’s how you can fix it.” I think that’s… but to the accessibility community’s credit, a lot of those people are very passionate. They have a brother or a sister, a father, a mother, who has a disability. And they are personally invested. It is their career. They’re passionate. They think, “Why can’t the world just do this?” Just like how we’re like, “Why can’t the world just use React?” [Chuckles] On the same level they’re like, “Why can’t the world just make websites that work for everyone?” And for me, it’s just like I how I learn things and how I pick up things is to find the low-hanging fruit and try to lower the bar and explain those concepts very simply, sort of like what Chris did with CSS. But this is just for accessibility, trying to dumb it down into laymen’s terms.
CHRIS:
Yeah.
JAMISON:
Trying to make it accessible.
CHRIS:
And even it is kind of controversial in a sense, isn’t it? I think mostly it’s Dave you get praised for it as you rightly should. But some, I think, isn’t the general backlash is, “Accessibility isn’t a checklist.”
R:
Yeah. And that’s the thing, too. We got a pull request and it was just like, “Remove the checklist because accessibility’s not a checklist.” And it’s like, totally that’s true. But you’re right. It’s not just a checklist you can check on and off. It’s not a binary thing. It’s actually really hard, back to automated testing, it’s hard to automate testing for accessibility. You have to do a manual testing.
CHRIS:
But if the whole world used this checklist, it’d probably be a better place, you know.
JAMISON:
Yeah.
R:
Just a shade better. That’s all we’re going for.
JAMISON:
Yeah, it seems like you’re aimed at people that don’t really know very much at all, helping them get off the ground instead of being the experts guide to every little thing about accessibility. Is that accurate?
R:
Yeah. It’s the novice’s guide to accessibility.
JAMISON:
Okay.
R:
Like how do, okay, convince me. There are a lot of things we do that are bad practices and you just didn’t know it. And I think even… for me, I’m of the opinion that every frontend developer, and this’ll go for everyone, should have some competency in a screen reader. And that’s maybe controversial. But it’s like, people with screen readers will eventually hit your site. Do you even know what it’s going to sound like at all? Do you have a [inaudible]? To be honest, I didn’t know. I’ve been making websites for 15 years and I still don’t know stuff about accessibility. And that just seems really weird. It seems like it should be easier to find best practices.
So, we have some articles like getting started with voice-over you can learn how to navigate with voice-over. And it’s very simple on your phone too, if you turn on the accessibility features, like triple tap to get voice-over turned on. And then getting started with NVDA which is an open source screen reader made by two blind men from Australia I believe. So, that’s a really cool open source project. So yeah, there’s a lot.
CHRIS:
I think it’s related. Think of how much it’s related to this current landscape of websites built with JavaScript frameworks, which just totally feels like the future of how you do it. And think of singlepage apps. Just HTML just by itself is fairly accessible. You tab around and you do stuff. Imagine now though that the DOM is just this fluid thing that’s just changing all the time. So, it becomes a little less accessible because you can’t really know exactly what’s there.
Imagine you’re working with some piece of content and you go to delete it. And a modal box has popped up. Well, we know as developers that a div was just jammed into the DOM and it has some CSS z-index that makes it on the top and some overlay. And visually that works great because it draws people’s attention right to the modal box. And it asks for some kind of conversation or something like that. A native confirm dialog box is fairly accessible. But if you’re doing your own because you want to design it, now you’ve jammed that div in the DOM. How do you make sure the focus for somebody who’s using a… who’s 100% blind that’s using a screen reader, that the focus has moved to that dialog box appropriately. You have to hand-manage that.
And maybe your framework provides that, but probably not. Probably you have to think about that and deal with it. Or you’re using some JavaScript framework that’s forums. And you click to go to a thread and tons of the DOM changes because it’s moving it now from a list of comments or threads or something into one particular comment. Do you hand-move the focus around? Where do you take them to? Do you make that choice? What’s the standard choice that you should make there? It’s hard questions. And accessibility is… you should get somebody on like a JavaScript accessibility person. That’ll be cool.
R:
Marcy Sutton has done a lot with making Angular accessible. And she’s paired up with their web components team and really influenced their choices in design, in making components accessible. And that’s the thing too, is: are your components accessible by default? And it’s a tough… I don’t get it right all the time. I don’t think anyone does, or most people I know don’t get it right all the time. But how cool would the world be if we could? When you make your React components, are they accessible? Do you just hope? And when the DOM gets teared down and spit back out, did it work?
[Chuckles]
R:
I think that’s the [chuckles] I think most people don’t know the answer and that’s okay. But it would be cool. And that’s why I bring up the screen reader thing, is if everyone had a limited proficiency, man, things would get a little bit better for everybody. So, that’s my thoughts. That’s my opines there.
CHUCK:
Yeah, we had Marcy on Adventures in Angular. So, if you want to go…
CHRIS:
Oh, nice.
R:
There you go.
CHUCK:
If you want to go listen to that, we’ll put a link to that in the show notes.
R:
Man, synergy there. Yeah. She’s the top.
CHRIS:
You’re tabbing around the page and oh, here comes the slider. Can I tab into the slider? Where do I go when I tab into the slider. Do you tab right to the navigational controls or are those later in the DOM after all the content in there? So, it takes harder to get there. Is there an ARIA role on it where I could jump right there if I need to? Or is that missing? Whew, tough.
R:
My favorite quick cheat is, is your website keyboard accessible? Can you just… and this works for developers… can you just tab around your website? Can you use it without a mouse? And if the answer is yes, then chances are you’re mostly accessible. You may have some other stuff to do. But that’s an interesting way to think about it. And then especially if you’re developers. We never want to leave our keyboard. So, it’s a cool challenge to walk around your website without a mouse.
CHRIS:
Cool.
AJ:
I really think that that’s super valuable because one key principle of accessibility is if you’re increasing accessibility for one group of people, you should inherently be increasing accessibility for all groups of people, right? Helping one person out won’t be a detriment to the other 99% of the time.
CHRIS:
That’s a very good point. And you’re helping the ultimate blind user. Google.
R:
Whoa.
CHUCK:
Well, that’s the thing, right? Is that if somebody is using one of these accessibility tools, and it doesn’t have to just be blind people. There are people with all kinds of other disabilities that use different tools. If any of them are programmatic, then AJ’s right. They’re going to parse things in a very similar way to figure out what’s there, what you can click, and how you can make things better.
R:
Well, it’s even… I think the natural thing is to frame it in a disability sort of scenario. But man, what
if you fall off the bus tomorrow and you break both your arms or something. [Chuckles] And it’s a totally temporary thing. But for the next 8 to 12 weeks your life is difficult because you lost your use of your arms. Man, I don’t know that any of the websites or apps I use would be usable if I could only tab around with my thumb in a cast. So, it’s something to think about there, too. There are untold benefits going on. So, that’s an extreme use case there. But it’s also like, stuff happens.
CHUCK:
Well, it maybe or may not be. I worked with a developer who may or may not be a regular on Ruby Rogues who fell and broke his arm. And if you want the details on that you can ask him. It’s kind of a funny story. But so, he broke his arm. And he uses Emacs to write his code, which means that hitting Control with one hand while you tap the key with the other is essential. And so, he had to find ways to compensate for that. And of course he could browse the web mostly like a regular person or a person without disabilities I should say, an able-bodied person. But still, there was that level of, okay I have this hindrance. I can’t put my other arm on the keyboard, so what do I do?
CHRIS:
That’s really good. I’ll drop a note here into show note land that was a good post by Anne Gibson that she did an alphabet post, A through Z. And for each of the letters of the alphabet, wrote down an accessibility problem that maybe you hadn’t thought of. It tends to be like, it’s for blind people. But it’s not that. It’s the arm in a cast. It’s, I have some things wrong with my eyes. I’m color blind or I have one of the different eyeball things [chuckles] that you can have. Or you’re dyslexic or you don’t know English that well. There are a million things that accessibility covers. So, it’s nice to think about all of them.
R:
I have a friend. I knew her for two something years and found out she has double vision. So, everything she sees is double. So, when she reads text on a page, it’s double. And I was like, oh, how is that? If you go to ESPN where all the type is so tight and small, what’s it like? And she’s just like, nope. [Chuckles] She was just like, nope, I don’t go to those websites because they’re terrible. So, it’s a very interesting lifestyle to think. When you think outside of your condition, it’s crazy. It’s cool.
CHRIS:
It’s also an awesome Foreigner song.
R:
[Chuckles] Ooh. [Chuckles]
JOE:
Can we get that played as the outro?
JAMISON:
Yeah, we’ll play you off with it. [Laughter]
CHUCK:
Yeah, there are some legal issues doing that. But…
CHRIS:
Okay.
JAMISON:
Can I sing it?
CHUCK:
Oh, there you go.
JAMISON:
Does that fall under fair use?
JOE:
Yeah, and we could put a MIDI stereo track behind it.
JAMISON:
Just to kind of, I know we’re running short on time, but to bring it back to ShopTalk. I want to ask you if there are any episodes that you really enjoyed or you would really recommend for people who are new to the show. [Inaudible] Some great episodes that encompass all of ShopTalk or some of your favorite ones.
JOE:
Just rank all of your episodes in your favorite.
[Laughter]
JAMISON:
Yeah. Actually, there are 170 up on the site. Yeah, it shouldn’t take long.
R:
Well I think, first you have to go to episode 91 with Jamison Dance
CHRIS:
And Merrick.
R:
And Merrick.
[Chuckles]
JAMISON:
That’s not what I meant to happen.
R:
No. That was our JS Jabber crossover. That would be a great time. But it’s also from a year ago so it’d be very interesting to see [chuckles] what JavaScript problems we had a year or two ago.
JAMISON:
It’s all totally different now.
R:
No, I know. If you listen to old episodes [chuckles] we’re like, should I use Sass? And some were like, “I don’t know about that. It might be hard.” [Chuckles]
R:
So, things have changed. I don’t know. Chris, do you have top episodes?
CHRIS:
Well, maybe for JS Jabber listeners the one-on-one that we did with John Resig was super interesting. He was on point that day, talking about all kinds of interesting stuff including some of the more esoteric things he’s into, all that Japanese woodblock stuff. Just think. We got a pretty good reaction from that, I think. People may enjoy that.
R:
Alex Russell from the Googs was a good one.
CHRIS:
Yeah, that…
R:
We had Tom Dale, Tom Dale.
CHRIS:
Those are some JavaScript-heavy ones. We’ve done some pretty weird ones. We did one where we pretended like it was, what year did we pick, Dave? 2005 or something?
R:
2004. Our episode 123. [Laughter]
R:
We dug up an episode from 2004 when Chris and I were on college radio.
CHRIS:
That one was just straight up weird.
R:
That one was weird.
JAMISON:
That’s my favorite one ever. [Laughter]
R:
I’m just cruising through the archives in a flood of memories. But there’s a lot. Lara Hogan would be great, talking about performance and how they approach it at Etsy.
CHRIS:
We just had Paul Irish’s mom on. That was pretty fun.
CHUCK:
[Laughs] Awesome.
S:
What?
[Laughter]
R:
Lisa Irish on the show, episode 166. That was a great one because it turns out Lisa runs an email newsletter and a blog. And it’s so cool just to see, I’ll call them normies, how normies… [Laughter]
R:
Use the web. We’re all super nerds and like, “Well, I’m going to write my own MailChimp.” [Laughter]
R:
“MailChimp’s not good enough.” But how do normal people use the web I think is what it turned into. And we got some really awesome Paul Irish gems, which is good. And then the last one I’m going to mention, 161 with Eric Meyer who kind of a CSS hero tells a really awesome story about how your designs and your websites might seem super cool to you. But to a person who’s in a state of crisis or stressed out or mad, they might not want to go to your website where it’s like house in sunshine, buy real estate. They might just be like looking for a house because their house is on fire right now or something. [Chuckles] I don’t know. So, you have… he has a really good story in that show that’s worth listening to.
CHUCK:
Very cool. Alright, well I think we’re pretty close to the end of our time. I know a couple of people have stuff going on a little later today. So, let’s get into the picks. Joe, do you want to start us off with picks?
JOE:
Sure. This last weekend I traveled up to the great state of Canada. There was a joke in there.
CHUCK:
North Montana?
JOE:
Yeah, North Montana. [Chuckles] There was a joke in there. You don’t have to laugh. It’s fine. Don’t worry about it.
R:
Hold on. Hold on. Hold on. I got us. [Rim shot sound]
JOE:
[Laughs]
AJ:
So, I did laugh. But my mic was off. So, I was with you spiritually.
CHUCK:
Doesn’t count.
JOE:
So, I was in Canada in the city of Winnipeg. Went up there to watch the Women’s World Cup, saw the US play Sweden. Actually saw a double header. Took my daughter up because she’s a big soccer fan and I’m a big soccer fan. So, my pick today, my first pick will be the Women’s World Cup because it’s going on right now. And even by the time this podcast comes out it will still be going on and going on for a few more weeks. And in case you did not know, the US women’s soccer team is one of the dominant soccer teams in the world and has a very good chance of taking the cup. So, if you like sports and especially soccer, I highly recommend you watch the world cup, especially the US games, because they usually kick butt. So, that’ll be my first pick.
And my second pick will be the city of Winnipeg. I can’t really remember anything particularly nice about it, but nothing bad happened while I was there. So… [Laughter]
CHUCK:
There’s a glowing recommendation right there. Nothing bad happened. [Laughter]
CHRIS:
Nothing [inaudible] ever happens in Winnipeg. [Laughter]
JOE:
I’m going to throw in one more pick. While I was on the trip I had a lot of chance to do reading. And I know that other people have picked this. But I’m going to pick ‘The Martian’. I started reading it. I tried reading it once and got a little bored. But since I read the XKCD cartoon where they basically explained that the book is if you liked the part of Apollo 13, the movie with Tom Hanks, right?
CHUCK:
One of them.
JOE:
Where they had all the little parts. And they said using these parts we have to fit this square thing into this round thing. And he says if you like a whole movie about just that, then you’ll love ‘The Martian’. And once I heard that, I was like, oh I want to read this book. So, I…
CHRIS:
That’s exactly what it’s like.
CHUCK:
Yeah.
JOE:
Yeah.
CHRIS:
It’s just scene after scene of him, of little blog entries of what he had to do that day just to live.
JOE:
Yeah, amazing.
CHUCK:
Is the movie out?
JOE:
No, no, no. It doesn’t come out until later this year.
CHUCK:
But the book was good, yeah.
JOE:
Yeah. So, I’m reading the book, two-thirds of the way or three-quarters of the way through. It’s been awesome. Love it. So, it’s my third and final pick.
CHUCK:
Alright Aimee, what are your picks?
AIMEE:
Okay, I have two. The first one. So, we had a hackathon at work this past week. And we used this app called Zapier. I’m not sure how you pronounce it. I think it’s Zapier. I don’t know if anybody’s heard of it. It’s like a super easy way to automate tasks between different apps. And they have all kinds of applications on there like GitHub and Google Calendar and the list goes on and on. So for instance, you want to set up something on your Google Calendar. You can really easily then connect that with GitHub and do something on GitHub when that event happens on your calendar. Anyway, so that was my first pick. We used it to integrate stuff with our application here.
And my second pick is like a plug for stuff I’ve been working on at work. But we’ve been working on something called SparkPost which is a way to send transactional emails from your application. And we just launched the Heroku beta. So, now you can go on Heroku and try out the stuff for free. So, that was my second pick.
CHUCK:
Alright, AJ what are your picks?
AJ:
Oh my goodness. If there was ever a day that I had a bajillion picks to make up for all the other days. But I’ll try to save some for another time. So, I have been making a bad habit of picking Microsoft stuff lately. And I’m going to continue on in that bad habit because, did you know? Okay, so I tweeted at Microsoft after they came out with that, they had that Internet Explorer sucks less campaign. And so, I tweeted them something like I’ll believe that Internet Explorer sucks less when it runs on a Mac and it updates every six weeks. Internet Explorer can now…
CHRIS:
Nice.
AJ:
Run on a Mac with the tools that they provide. It’s a VM. But you can run it on Mac and Linux. And they also have a browser stack type tool. So, the one is dev.modern.ie/tools/vms. And the other is remote.modern.ie. Now it’s unfortunate, the naming system that they picked there, because in other great news Internet explorer is officially dead. There is no more Internet Explorer every to be developed.
There is now Microsoft Edge, which is definitely not Internet Explorer because I had this wonderful moment of evil glee when I learned that one of the companies around here, their IT department has built their web apps around Internet Explorer. So, they only work in Internet Explorer. And with the announcement of Microsoft Edge, they have to transition everything over to standards compliant because it will not work in Microsoft Edge at all. So, everything that’s funky about Internet Explorer is gone. And Microsoft Edge supports web crypto. I don’t know if they have full support for the content security policy yet when Windows 10 launches. But hopefully they will. There were a couple other things about it, too. But anyway, so I’m excited about this.
And then I’ll just mention two other things right now. StarFox Zero was announced. So, the StarFox game for the Wii U that we’ve been waiting for, for the past three years since the Wii U came out, it’s finally coming out. So, get ready to do a barrel roll. I’m excited for that. And then, so I mentioned this hot plate exercise, this homework assignment that I got at BYU once. And so, some people actually did it and posted on my gist like, “Heard you on the show. I went and did this.” and so, somebody did it in C and did it in Ruby and did it in JavaScript. And I thought it was really cool. So, I want to issue another challenge. If you haven’t tired Untrusted.js, play with that. It’s a game where the game is only half built and you build it as you go.
CHUCK:
Alright, Dave what are your picks?
S:
Okay, I have two fun picks for you today. The first one is an airline hack that I am a little bit reluctant to share because I’m pretty sure the lawyers of the airline industry will figure out a way to shut this down soon. But it turns out you can book flights to weird locations that have layovers. And if you actually want to go to the layover, like the place where the layover would be, it would be more expensive than the ultimate destination. So, this website has collated data about these kinds of anomalous flights. So, if you want to go say for example to Amsterdam from Salt Lake they will find you a flight that actually goes to Milan but with a layover in Amsterdam. And it’s cheaper than a direct flight to Amsterdam. [Laughs] So…
CHRIS:
So, do you just miss the next flight?
S:
You just miss the last flight, which means you can’t check your bags. So, you have to carry them on. But you save a ton of money.
CHRIS:
Wow.
AIMEE:
[Laughs]
S:
Like in the case of Amsterdam, I flew to Amsterdam a few weeks ago. The total ticket price was $3,000. I just found one for $850.
AIMEE:
[Laughs]
CHUCK:
Wow.
S:
Anyway, it is the most amazing airline hack I’ve ever heard. It’s called SKiplagged.com. Skip L-A-GG-E-D dot com. Get on it now, because I’m pretty sure the lawyers will find a way to shut this down. That’s one.
My second pick is a podcast I stumbled across with one of my favorite cultural icons of interest. Probably the nerdiest voice on internet radio which is Judge John Hodgman. He does a fun podcast which is a little bit reminiscent of the Judge John, what is it, Wapner of the people’s court back in the day where people come on and share their problems. And he analyzes them in very witty, fast ways. And I love the way my brain feels after I listen to him speaking. So, that’s my two picks for you, thanks.
CHUCK:
Alright. Chris, do you want to give us your picks?
CHRIS:
Sure. I just was really tired this Sunday and I was looking for a new show to watch. And I popped on Wayward Pines that just started. It’s on Fox and it’s the M. Knight Shyamalan show. But there have only been five episodes so far. I knocked through all of them. And if anybody’s interested it’s super great. Definitely try to make it up through episode five because it just gets crazy. Guy wakes up in the woods and it’s a weird town and they won’t let him leave kind of thing. But it feels like it’s going to be one of those shows that are too many questions and not enough answers. But this is too many answers.
R:
That’s weird.
CHRIS:
And I really like the band, the musician Sturgill Simpson and his new record Metamodern Sounds in Country Music. So, check him out. I’ll leave it at that.
CHUCK:
Alright, David do you want to give us some picks?
R:
Yeah, I can do. I got two here. My first one is ‘The Economic Value of Rapid Response Time’, a 1982 IBM report [chuckles] which explains the Doherty Threshold. And I heard about this on AMC’s Halt and Catch Fire.
S:
Oh, yeah.
R:
Yeah, so they’re talking about this. It’s basically the idea that your computer has to respond under a 400 millisecond response time. Increases people’s productivity. And this is 1982 productivity. I don’t know what that is. [Chuckles] but it’s just interesting that the, once you’re under that threshold productivity dramatically increases. And I wrote about it on my blog trying this new thing where you do the daring fireball, talk about one link a day kind of thing. But I think it’s very interesting from a web perspective, because you can see that 400 millisecond line. One response from a cellphone tower. Can you be working any more than that? Ugh, I’m going to check out if it takes longer than three or 10 seconds or something like that. So, it’s interesting that a 1982 report starts having modern-day parallels. I think that’s very interesting.
My next one is, you all probably have already talked about it, but The Adventure Zone podcast. Is anyone listening to this? It is on MaximumFun.org. It is The Adventure Zone, ZoneCast or something on Twitter. But Justin Travis and Griffin Mackleroy sit down with their dad Clint and they do a dungeons and dragons campaign. So, it’s three brothers and their dad playing dungeons and dragons. You have to start at episode one. It’s a very linear thing. But it is maximum hilarious, pants-wettingly funny. I highly…
S:
That’s the guy from Sawbones, right?
R:
Yeah, Sawbones. They do a couple of podcasts over on Maximum Fun. And one guy’s an editor at Polygon or a reviewer at Polygon. So, pretty awesome show. I highly recommend it, especially if you’re in to [chuckles] adult playing DnD. It’s funny. It’s maximum funny. So, yeah. [Chuckles]
CHUCK:
Alright. Jamison, do you have some picks for us?
JAMISON:
I do have some picks for you. One will make you feel better. One will make you a better person. And one will make you feel happier. So, they’re all good. And I’ll leave it up to you guys to figure out which one is which. The first one is React Rally. It’s a conference that I am co-organizing. It’s all about React.js. And it’s in Salt Lake City from August 24th to 25th. The call for proposals will probably be closed the by time this goes live. But the tickets should be on sale then. So, we’d love to see you. We have a great lineup. And we’ve got some great announcements coming up, too.
The next pick is a YouTube video of a Japanese tennis star telling you to never give up. And it inspires me every day.
And then the last pick is a demo that this guy named Matt McKeag did, so he’s working with the web audio API to build this product around the web audio API and the web MIDI API to control synthesizers with JavaScript. And it’s just him doing a live performance of some electronic music that he’s composed, but all in JavaScript. And it’s really, really incredible. So, watch that just to see how amazing people are at building stuff. Those are my picks.
CHUCK:
Alright. I’ve got a few picks as well. The first one is a podcast. I think I might have picked it on the show before. But I don’t know. So, I’m going to pick it again. It’s called Serial. So, there’s a young man. I guess he’s about my age. Anyway, when he was in high school he was convicted of murdering his ex-girlfriend. And so, they go back through all of the people that were involved, all the people that testified, and they show where the problems are in the different stories. And anyway, it’s awesome. They’ve done their first a season so you can get the complete story. The next one or the next season is going to be a different crime or something like that, I think. So, I think the jury’s still out on that one. But this one looks good. I’ve heard a whole bunch of people saying that they think he’s guilty and I’ve heard a whole bunch of people saying that they think he’s innocent. And I haven’t finished it yet. So anyway, just fascinating stuff.
AJ:
P.S. the sequel is undisclosed.
CHUCK:
Oh, okay. So, that’s one pick. Also, if you’re into Ruby I’m putting on a conference next week. It’s online so you can attend unless you have something else going on that week. And when this comes out, we will be one day in. So, you can still buy a ticket and get access. SO, I’m just going to throw that out there. You can get it at RubyRemoteConf.com.
And I think that’s all I’ve got. Let’s go ahead and wrap up the show. Thanks for coming, guys.
CHRIS:
Yay.
R:
Thank you!
CHRIS:
Yeah, that was tons of fun. Thanks, man.
CHUCK:
Yeah. And thanks to our panel. We’ll wrap up the show and we’ll catch you all next week.
[This episode is sponsored by MadGlory. You’ve been building software for a long time and sometimes it’s get a little overwhelming. Work piles up, hiring sucks, and it’s hard to get projects out the door. Check out MadGlory. They’re a small shop with experience shipping big products. They’re smart, dedicated, will augment your team and work as hard as you do. Find them online at MadGlory.com or on Twitter at MadGlory.]
[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.]
[Bandwidth for this segment is provided by CacheFly, the world’s fastest CDN. Deliver your content fast with CacheFly. Visit CacheFly.com to learn more.]
[Do you wish you could be part of the discussion on JavaScript Jabber? Do you have a burning question for one of our guests? Now you can join the action at our membership forum. You can sign up at
JavaScriptJabber.com/jabber and there you can join discussions with the regular panelists and our guests.]