This episode we discuss imperial versus metric measurement systems and why the latter reflects excellent API design. We dig into the hype around micro frontends. And we tally up some of the latest exits from Silicon Valley, where the pandemic may be reshaping office culture and the software industry for good.
Episode Notes
Every experienced software engineer can tell you a story about a standardization effort that ended up causing more problems than it solved. Queen Elizabeth's decree adding 280 feet to each mile made it easy to divide up acres, but has haunted those of us stuck with Imperial units ever since.
Sara dives into micro frontend services and how they can help to add agility to a modern development team. There is a nice article on the topic here, and Sara found it through the Thought Works Tech Radar.
Pinterest paid just under $90 million dollars to break its lease in San Francisco. Paul and Sara are hearing about lots of developers who are fleeing major cities, and it seems clear that Pinterest won't be the last company to abandon expansion plans or ditch fancy corporate offices for at least the next few years.
Our lifeboat badge of the week the week goes to Sravya Nagumalli, who explained why Angular is associated with the Single Page App and just what an SPA is anyway. Thanks for sharing some knowledge, Sravya!
TRANSCRIPT
Paul Ford Ugh, nothing is worse than viral workplace chat. It might be...the worst. [Ben laughs] ''Everyone who uses Slack is a Nazi!'' And you're like, ''what? No. Oh my god.''
[INTRO MUSIC]
Ben Popper Nothing's more important than a great customer experience. But sometimes services get disrupted. xMatters helps teams resolve issues fast before they impact customers. Learn why millions trust xMatters to keep their digital services up and running at xmatters.com/stack.
BP Good morning, everybody!
PF Hey! Good morning.
BP Welcome to the Stack Overflow podcast. Paul, Sara, I had a question for you that I thought might introduce some good engineering stories from your time. I was reading a little thing today. The question was, ''Why are there 5280 feet in a mile?'' which does seem rather arbitrary.
SC Can I guess?
BP Yes, please.
SC Oh, miles are American. My initial thing was going to be like, it was that many miles from like a church to a guy's house.
PF Well, they're not American there. They were originally I think British.
SC Okay, then, then that's still my guess.
PF Now they're metric. Right? Like, over there. It's like us and like one, really, some other country and that's it.
BP There's not much. So the Romans did it logically, there was 1000 paces or 5000 feet in a mile. It's like 1000 paces, one mile. This is like a nice number you can work with. But then Queen Elizabeth made it 5280 because that divides perfectly into a rectangle 660 feet long as 66 feet wide, which you can divide eight ways into a square mile, which fits exactly with 640 acres or a section. So it goes backwards from like, ''Oh, we do everything in acres, acres or this. Now we want to split up, I want to give you a quarter of an acre and you a quarter of this lot. So we just got to let's just tweak the let's tweak a mile a little bit. We'll make it a few more feet.'' So yeah, I mean, the Queen was doing her best to make things simple. She's constantly giving away lands to favored patrons and she wants to divide it into acres and hectares and all these things. And so it made sense to have it all evens out just you know, tack an extra 280 feet on that mile and we've been stuck with this 280 extra feet ever since. sense which makes everything else very confusing.
02:19
PF Listen, Popper, you just sprung up with this and this this is like a put Sara and Paul on the on the spot. But Sara, you and I have this because that is a perfect example of a standardization effort that everyone has to live with. For like, the rest of their lives.
SC Yeah, like making it backwards compatible.
PF Yeah. And then also, just like they spent all that time getting the standard just right, you know, anticipating every possible reason it should be exactly like this. They were solving the wrong problem. It took until kilometers, right? [Ben laughs]
SC Well, I mean, the foot is literally some guy's foot.
PF Yeah, it's like a king's foot, or something like.
SC Just some guy.
PF Although now I'm worried that you said that. That's the sort of thing that like 5000 threads are but ''well actually not a foot, it was his dog's foot and plus his wife's was concubines foot.'' So anyway, regardless, it's all very arbitrary, right? And this is actually like, for instance, the web shows up, it was all about documents. XML, standardization was this big thing like Microsoft went to war with the rest of the world as to like what the right way to get Office style documents syndicated in XML would be, right? Then they show up, they meaning nerds show up. And they're like, ''actually, we'll just use JavaScript'' and JSON just took over the world. There was like, no, people just make fun of XML now.
SC Yeah, when you think about, someone was talking about SOAP and rest, and I was like, I have to remind myself, and then I remembered that, SOAP was jusdt XML. Is anyone doing that?
PF Let's do a quick history lesson, which was that in the 90s, object oriented programming was going to be everything. And it's one of those things where everybody's like, well, it didn't really work out that way, Java, but it did. Like we actually kind of use a lot--
SC Yeah, we still use it everywhere.
03:55
PF We use a lot of objects. So the original object fantasy was like, objects just received messages, doesn't matter where they come from, could come over the network could come from inside the computer. There's just like little mailboxes. Everybody relax, smoke a bowl. [Ben laughs] And so then there are all these formats like Corba, which it's like Cobra, but it's spelled wrong. And it stands for the ''common object request broker architecture'' I think and that was lik, yeah, and then there were others like commercial ones like Tib. So the idea was like, I'll be able to serialize and send object requests over the network or serialize them to the database. Well, obviously, you want to do that. Except that it turns out, when you do all this, you end up with all this overhead. And sometimes it's easier just to use SQL. I mean, object relational mapping is still a huge part of our life, like active record and rails.
SC It is.
PF So I mean, getting back to it, you know, this is all on fire in the early 2000s, and IBM and others got together and were like, you know, we need to make the, it was like the web services, dash asterix, you know, all these different standards, because XML is the new thing that everybody wants to use, which is like the enterprise version of HTML, they went whole hog and they published all these standards because IBM is really good at publishing standards. And in fact, they were where SGML was born. [Ben laughs]
BP They have a big team, big team dedicated to that.
PF Vast, actually, no, no, I mean, they were aware SGML was born, which was the place that the you know, that that was the format and structure that HTML came out of that was the standard that yielded other standards. So they were like, we're gonna get in here and own this, and it's just this huge hairball mess. That's impossible to comprehend. And then you look at JSON. And you go like, yeah, okay.
SC Yeah, I can work with that. It seems fine.
PF It's just keys and values. Like if you know the syntax of a little bit of JavaScript, you already know JSON. Whereas with SOAP, it was like, read the 600 page document. And, whoa, what a shocker. Nobody wanted that, right? But it does still exist. We recently at work, no actually not recently, a couple years ago, somebody showed up with the giant SOAP API for an email platform, it was like we need to build a client to talk to this, we want a new email client.
SC Oh, don't touch the API, you need to need to build the client.
05:57
PF You need to build the client. I was all SOAP. So what our team did was build a in browser graphQL layer so that you could issue graphQL queries from the client and then they would go to a proxy that would translate them to SOAP queries. So so that everybody could use the syntax they were comfortable with.
SC [Sara laughs] What an amazing thing. What a way to make work for people who are like ''this is absolute garbage so we're gonna...''
BP Paul always wants to make everyone feel comfortable. That should be Postlight's like mantra ''making everyone feel comfortable with their tech stack.''
PF You know developer experience is a big part of life and so...
SC It is.
BP Exactly.
PF But bringing that all the way back like computer standards, feet, miles, time, and so on, you're always reducing things to integers which are themselves little light switches turning off inside the computer, so we're always wrestling with that. Like time is a great example like time is muddy and real and you need, and you need these giant time zones documents.
SC Yeah, God it's awful.
PF And the same with distance. Same with everything.
BP There was another great quote that popped up in my feed, which I thought about a lot over the weekend. It says, ''In metric, one millimeter of water occupies one cubic centimeter weighs one gram and requires one calorie of energy to heat up by one degree, centigrade, which is 1% of the difference between its freezing point and it's boiling point.'
PF I know. It's so awesome.
BP How much energy does it take to boil a room temperature gallon of water, you can say, to an American, to which the answer is ''Go [bleep] yourself'' because you can't directly relate any of those quantities I just discussed. [Paul & Ben laugh]
SC That's one of my favourite things about Celsius, I just remember, 'cause like, we don't use that, Fahrenheit here. And so I, whenever I'm translating. I'm like, okay, 100 degrees is boiling. So I just have to like, move backwards from that.
PF Well, I mean, that seventh grade science class is when they blew your mind with that, right? And it was that and like, I remember more from middle school science than almost anything else, because it was stuff like ''Epsom salts makes water different.'' You're like, ''Oh, my God! Well I'm blooming as a human!''
07:52
BP The science is magic portion of your education. But like, yeah, like you're saying, Paul, what's interesting about this one is like, space, and energy, and time are all logically connected in that one little system there. I mean, like, then people immediately start arguing in the comments. Well, a calorie is really measured in a joule, and so that blah, blah, blah.
PF You know what that is thought? So that's good API design. I'm not kidding. Like that's actual good. You aspire to that and people don't think that way. They're just like, ''Ah, man. I gotta get this data in, I gotta get this data out.'' And like scientists, probably, you know, maybe it's Kelvin. I don't know who the hell it was, somebody, 'cause it doesn't matter. [Ben laughs] 'Cause all you need to know, you don't even need. It's not named Jim Celsius. It's not but no, we were named Fahrenheit. Of course, we got the guy's name and the Kings foot and a bunch of acres and hectares. Celsius are like ''Nah, man, all you need are the API docs, you want to heat up some water? Don't worry, don't worry, it's really easy. Just send one calorie to the milliliter. And you got it.'' And you're like, wow.
BP Exactly.
SC The most beautiful languages, or libraries or frameworks or any of the things. And you're like, I don't know what the syntax is, but it should work like this. And you try it. You're like, yeah!! [Ben & Sara laugh]
PF That was a conversion. That was my conversion experience for Python. A, that does not happen with JavaScript, ever.
SC [Sara chuckles] I guess...
PF I love JavaScript
SC Some JavaScript libraries, maybe. jQuery it does!
PF jQuery. Yeah. But we're not, jQuery is not cool anymore.
SC Yeah, it's not cool.
PF No, Python's really good at that. You know what I wonder and this is just crazy guessing but like if you look at this syntax is a very science friendly languages, I'll bet they have that pretty locked down. Like if you think about Fortran is hideous, and it's not good for modular programming, but it does let you express those simple scientific concepts really efficiently and kind of give them big, bulky names. Python's that way, scientists love Python.
SC You know, speaking of learning things, I found a great resource this week that maybe everyone already knows about.
PF Okay.
SC Because this week I learned about micro front ends.
PF Oh! No!
SC Did you already know about this?
PF No, tell us all about it!
09:45
SC So micro front ends is kind of like microservices and the way that you componentize sections of your front end. And instead of having front end engineers that work cross platform, you know, on random areas of your application. You do things, I know that places like big places like Twitter and Facebook, I've been doing it a long time. Like you have a whole team dedicated to your editor, or you have a whole team dedicated to X, Y, Z so that they become experts in this and you still have components and things still affect other things but you get an expertise there. So I learned about that this weekend from the Thoughtworks Technology Radar. Do you know about this?
PF Okay, so I did not know about this specific thing. But I'm a big fan of the Thoughtworks Technology Radar. That's like a great consulting product.
SC Yeah! Yeah, it's really great. I didn't know about it. And so now I'm going to check it out, like every so often, but what they do is they break down different trends and tell you, this is a great thing for managers too, who are like not really deep in the tech all the time to learn about the things that are up and coming.
PF So we should give them the pitch because it is a good resource. And you know, they give it away for free for their marketing. Thoughtworks is a big technology development firm that works with large clients to build large systems. They are a software consultancy, and they're kind of on the cooler side, right. Like, there's someone as a, as a firm that provides software and services were much much smaller than them but I definitely pay attention to them as like, Okay. They used to be very object oriented. I think they're broader now, but like, I want you to talk about microframework because I don't have a thought But like, the radar tends to tell you like, hey, should I adopt this? Should I be looking at it? Should I ignore it?
SC Should I know what this is?
BP Right. It's like a trend. It's like a cool hunting for software. They're like telling you what's up and coming, what you should know, what it means if somebody says it
PF For enterprise. So like, so no no, I mean, a good example is like, okay, adopt .net core, right. And then it's like, assess Apache pulsar. I mean, there's so many Apache projects, it's so exciting. And then it tells you what they are. So pulsar is an open source pub sub messaging streaming platform, but you never have any idea about half of the things and they are kind of real. So it's, it's, it's actually really helpful.
11:55
SC Yeah! That's what I loved about it. I just like got really deep on a bunch of stuff. Yeah, I think the microframeworks thing is really great. It's the same reason why you do microservices is because you kind of end up with a monolith on your front end. We kind of saw this, when we were doing dark mode, where you know, like, you change one thing about one page and it's gonna break a whole bunch of other things. So making everything kind of autonomous and decoupled. It's a great way to make sure that you can do upgrades. Like I guess, in this case, you'd probably have like a design systems team that would govern the entire front end or like the entire design. And then you'd have different teams, autonomous teams that would own different components.
BP I read something the other day that was kind of like the opposite of this, where you're talking about, like, Oh, you have a monolith. And you want to protect it by atomizing it, like breaking it down. It was saying that in certain places where like, they've put so much time and energy and effort into getting their system just right on the hardware end, they then cut it off from the network and just refused to update. So it's like movie studios where they have like, fine tuned everything to do some kind of Film Editing or CGI, or like MUSIC Studios, where they like have this huge interconnected rig of all these different machines. And then it's like they're running a version of Windows or you know, whatever the music program is that's like six or seven versions old but it works for them. It never breaks.
PF Same with government, same with...
BP [Ben laughs] Yeah, yeah, exactly. I thought that was really interesting. Freeze it in time. It works. It won't break, freeze it in time.
PF All it needs to do is when you touch the slider, it needs to make it louder. Right? And so it's like, don't screw with that unless you have to and the price of updating the Windows 10 could be like $12 million. [Paul chuckles] But don't, don't do it. [Ben laughs]
SC Yeah! And that's why the New Jersey unemployment system runs on COBOL.
PF Well, this is the thing. It always catches up with you eventually. Right. So you, you seem to have two choices in life, which is update constantly and perpetually and deal with the consequences or defer the consequences and pay a terrible price later.
BP Right, when that black swan comes along. Yeah, absolutely.
PF As far as I can tell, there's there's no winning. The best thing is to stay continually updated. There's no winning.
14:04
[MUSIC]
BP Sara, you dropped a link in here that I thought was interesting, because we've discussed this before. It says here ''Pinterest pays 90 million bucks, give or take, to terminate San Francisco office lease.'' Sara, we had an episode a couple weeks back, we talked about, you were hearing just anecdotally from friends. There's been a real exodus of software developers out of San Francisco in the Bay Area. You know, I think the question at the time was how big of a trend is this going to be? How long lasting? And would this eventually maybe shift the center of gravity for software development and product expertise away from San Francisco where, you know, it's been for so long? So any thoughts on this? Or is this more than just a one off with Pinterest? Is this happening at a bigger scale?
SC I mean, I think so. Paul, I'd be interested to hear what you've seen. But everyone I know right now, or like most places, I know, at Stack too, we're out until next June. And I think that people are really considering this. I think people are seeing that their employees and teams can be super productive remotely.
PF I think we've learned the lesson that remote is possible. I think what I would say is, complicated here, is that when you're looking at San Francisco companies and you're looking at companies like Stack, you're looking at places that deliver essentially a monolithic or a couple monolithic products, I'm not using that in the term of monolith, like, you do a big thing. And you work together in groups that are all focused on that big thing. The access points to the outside world already are online. So client services company, a, not even mine but like a Deloitte or McKinsey or somebody like that. But you're who are actually some of the largest IT services providers around, you just don't think about them, because you think of them as consulting and accounting. They still kind of got to get in that office and talk to people, when you're dealing with in a lot of spongy ways with the outside world, in sales often is pretty physical and in sort of requires a lot of interchange and a lot of whiteboarding and so on. When you're dealing with individuals meeting each other for the first time and trying to accomplish a shared goal together for their, on behalf of both of their organizations. It's hard to see that going fully remote anytime soon, because it's just a lot of signal and interchange and ritual and tradition. But Pinterest is building Pinterest, right, and they already know how to build Pinterest every day. So they can restructure around a remote organization without losing sight of what that is. Because that social interaction isn't key. Like if everybody didn't work for a day, for the most part, Pinterest would probably stay up. So I think that's, to me, that's the metric. If you're, if everybody went home for a day, what would happen?
16:32
BP I like what you're saying, Paul, it's like if you're having to constantly meet new clients and solve their individualized demands, whereas like, right, you're going project by project and what you're trying to solve for and the technologies you need to use to do it are constantly changing, it probably makes a lot more sense to have more of that face time, you know, to be in the room with the client to have that whiteboard. Whereas right, you're building a big system that's already up and running and you're just want to keep optimizing it and bolt on a feature here or there, you know, remote probably works really well. Also, you know, the thing about it is like, once you start a trend, this trend now for tech companies runs at least till next summer, it's hard to reverse it. Like if once everybody moves out, it's gonna be hard for folks to come back.
PF These are big battleships.
BP And you saved all this money on the office and on no snacks and you're suddenly thinking like, ''Wow, my margins are great!'' You know, like turning back the clock on this is gonna be pretty hard. I think even if we realize at the end ''Oh, we liked offices, damn, we want that back.''
PF At the same time, like, office rates in New York City remain pretty high, like people aren't, a lot of people are like hurting and so they're letting their leases go but like Facebook and Amazon are expanding in Manhattan right now, they're getting new space. If you think about it, right, that may not even be engineering like, I'm sure Google is always looking for new space, right, it might not be engineering, engineering can stay home, but the ad sales teams You know, there's there's all this stuff that happens that has a really deep culture of physical contact, or might actually involve goods being exchanged. But no, if you're working on a big old thing, and you kind of know what you're doing this year, and your job doesn't change that much, this is now an option. I mean, think about it from a raw capitalist point of view. A company is looking at not paying that rent but still getting the same roughly the same productivity from its human beings. So what are they going to do?
18:14
BP Sara, what is your, what is your gut feeling? Are you going to gonna stay in New York forever because you're a New Yorker or do you love the city? Are you, do you have now maybe an inkling that like, Oh, I could use some more space or something else?
SC Yeah, we love the city, I think we're gonna head out this winter for a bit, but like city people are city people, is what we've decided. Like city, if you love the city, you always love the city, you know, like, it's I think it's a different world to move out. But I get why people are leaving.
BP I also wonder, like, we've been talking about doing our off sites, you know, and maybe doing them a little bit more often if we don't have an office. And so there could be this kind of new work culture where it's like, everybody works remote, but once or twice a month or once a quarter, you all meet up in person and kind of go through that either the ritual stuff or you know, good bonding that happens face to face, or you work on the problems that are better done that way. And then everybody disperses again. So it's kind of like this flex arrangement. And then I could also see Paul, like you're saying like a lot of people forget, like, we own this build. This is the Pinterest building or the Twitter building, but you have a flex space where it's like, hey, if you ever want to come into the city and work, you know, we've got this sort of setup look.
PF Look, I think, it's changing, right? Like I know at work we used to be, engineering has always been remote, at Postlight, and then design and product were always in the city at headquarters essentially. And we have made product management hires that are remote, and we're considering them more aggressively now. And people are saying, Hey, I think I'm gonna move back to this city instead of staying here and we're like, okay, you know, like, like, this has been such a transformative year. So I think that what you're gonna see on the other side of this is, obviously we've learned from this, I hope to God, we've learned from this and you're gonna just see a lot of new patterns. I think what drives me bananas and this is because I spend too much time on Twitter is it there's an absolutist attitude like ''well remotes the best way ever, it's the only way to work. Everyone who's ever talked about an office has lied and open office is evil. Let me get that in there too.'' And like, okay, at the same time, then you have people who are like remote work, can't, isn't real work. It's they're not here. I can't see them. I don't know what they're doing. And then the remote people are like, well, that's just you're just trying to control me and it's just kind of this endless circle. Sometimes it's good when people are together, often it's not that big a deal.
20:21
SC [Sara laughs] Is the takeaway.
PF Yeah, I'm just like, for God's sake...
BP That's a viral tweet right there. That was a hot tweet. [Ben laughs]
PF No, exactly. It's the opposite of a hot tweet, right, like it's just, avoid all professional advice and office and management strategies presented on Twitter, just trust me. Oh, well, it says I have to do this. No, no, you don't. Says this is evil.
BP I trust, I trust trending topics. I trust them.
PF So we're gonna see, I think look, if if you didn't learn from this pandemic, you're an idiot. Right? That's about it. Right? [Ben & Sara chuckle]
SC That's a good tweet.
BP You didn't learn X from this.
PF Yeah, I mean, if it if it works, and somebody is happier and they're productive, that's right. I mean, what this means is a lot of awkward stuff like layoffs over Zoom and you know, just like there's there's a lot coming along those paths.
BP Ooosh. Ooosh. Yeah, yeah.
[MUSIC]
BP Alright, y'all, it's that time of the week I will read a lifeboat and we will say our goodbyes.
PF I love it!
BP Alright. The question is ''why is angular called a single page application? One of the most common terms associated with Angular JS is s.p.a.'' And then there's a bunch of sort of sub questions in here. ''Why is it called that?'' ''Even if the URL changes?'' ''Will it still be called an spa?'' ''Are all the sites created by it?'' ''Are really a single page application?'' And then we have a really nice answer in here breaking down all of this stuff. The advantages of an spa, why Angular is called that, so big shout out to Sravya Nagumalli for that lifeboat, if either of you want to weigh in, feel free here, I can share the link.
PF Ben butchers names is perhaps my favorite part of this, like this is...
SC Yeah, we should do a segment.
21:58
PF Yeah, just just a supercut of like, ''Oh, no, that one was awkward, that was not, hmm.''
BP Are we talking about people's names or software names, because I think I do both poorly.
SC Both. Effectively. Yeah. [Paul laughs]
PF Ben learning language. [Ben chuckles] No, what's better than, yeah, that's just, they just said it all. It's just...
SC Oh this is a great little write up, yeah.
PF Single page applications, man, it's how they ruined the web. It's wonderful.
SC Underrated. Yep.
BP No page flicker, native application feel. Mhmm, love it. Alright, y'all. Thank you so much for tuning in. If you're listening, we appreciate you. Send us any ideas or comments podcast@stackoverflow. I'm Ben Popper, Director of Content here at Stack Overflow. And you can find me on Twitter @BenPopper.
SC And I'm Sara Chipps, Director of Community here at Stack Overflow. You can find me on GitHub @SaraJo.
PF I'm Paul Ford, friend of Stack Overflow, check out my company Postlight.com.
[OUTRO MUSIC]
Paul Ford Ugh, nothing is worse than viral workplace chat. It might be...the worst. [Ben laughs] ''Everyone who uses Slack is a Nazi!'' And you're like, ''what? No. Oh my god.''
[INTRO MUSIC]
Ben Popper Nothing's more important than a great customer experience. But sometimes services get disrupted. xMatters helps teams resolve issues fast before they impact customers. Learn why millions trust xMatters to keep their digital services up and running at xmatters.com/stack.
BP Good morning, everybody!
PF Hey! Good morning.
BP Welcome to the Stack Overflow podcast. Paul, Sara, I had a question for you that I thought might introduce some good engineering stories from your time. I was reading a little thing today. The question was, ''Why are there 5280 feet in a mile?'' which does seem rather arbitrary.
SC Can I guess?
BP Yes, please.
SC Oh, miles are American. My initial thing was going to be like, it was that many miles from like a church to a guy's house.
PF Well, they're not American there. They were originally I think British.
SC Okay, then, then that's still my guess.
PF Now they're metric. Right? Like, over there. It's like us and like one, really, some other country and that's it.
BP There's not much. So the Romans did it logically, there was 1000 paces or 5000 feet in a mile. It's like 1000 paces, one mile. This is like a nice number you can work with. But then Queen Elizabeth made it 5280 because that divides perfectly into a rectangle 660 feet long as 66 feet wide, which you can divide eight ways into a square mile, which fits exactly with 640 acres or a section. So it goes backwards from like, ''Oh, we do everything in acres, acres or this. Now we want to split up, I want to give you a quarter of an acre and you a quarter of this lot. So we just got to let's just tweak the let's tweak a mile a little bit. We'll make it a few more feet.'' So yeah, I mean, the Queen was doing her best to make things simple. She's constantly giving away lands to favored patrons and she wants to divide it into acres and hectares and all these things. And so it made sense to have it all evens out just you know, tack an extra 280 feet on that mile and we've been stuck with this 280 extra feet ever since. sense which makes everything else very confusing.
02:19
PF Listen, Popper, you just sprung up with this and this this is like a put Sara and Paul on the on the spot. But Sara, you and I have this because that is a perfect example of a standardization effort that everyone has to live with. For like, the rest of their lives.
SC Yeah, like making it backwards compatible.
PF Yeah. And then also, just like they spent all that time getting the standard just right, you know, anticipating every possible reason it should be exactly like this. They were solving the wrong problem. It took until kilometers, right? [Ben laughs]
SC Well, I mean, the foot is literally some guy's foot.
PF Yeah, it's like a king's foot, or something like.
SC Just some guy.
PF Although now I'm worried that you said that. That's the sort of thing that like 5000 threads are but ''well actually not a foot, it was his dog's foot and plus his wife's was concubines foot.'' So anyway, regardless, it's all very arbitrary, right? And this is actually like, for instance, the web shows up, it was all about documents. XML, standardization was this big thing like Microsoft went to war with the rest of the world as to like what the right way to get Office style documents syndicated in XML would be, right? Then they show up, they meaning nerds show up. And they're like, ''actually, we'll just use JavaScript'' and JSON just took over the world. There was like, no, people just make fun of XML now.
SC Yeah, when you think about, someone was talking about SOAP and rest, and I was like, I have to remind myself, and then I remembered that, SOAP was jusdt XML. Is anyone doing that?
PF Let's do a quick history lesson, which was that in the 90s, object oriented programming was going to be everything. And it's one of those things where everybody's like, well, it didn't really work out that way, Java, but it did. Like we actually kind of use a lot--
SC Yeah, we still use it everywhere.
03:55
PF We use a lot of objects. So the original object fantasy was like, objects just received messages, doesn't matter where they come from, could come over the network could come from inside the computer. There's just like little mailboxes. Everybody relax, smoke a bowl. [Ben laughs] And so then there are all these formats like Corba, which it's like Cobra, but it's spelled wrong. And it stands for the ''common object request broker architecture'' I think and that was lik, yeah, and then there were others like commercial ones like Tib. So the idea was like, I'll be able to serialize and send object requests over the network or serialize them to the database. Well, obviously, you want to do that. Except that it turns out, when you do all this, you end up with all this overhead. And sometimes it's easier just to use SQL. I mean, object relational mapping is still a huge part of our life, like active record and rails.
SC It is.
PF So I mean, getting back to it, you know, this is all on fire in the early 2000s, and IBM and others got together and were like, you know, we need to make the, it was like the web services, dash asterix, you know, all these different standards, because XML is the new thing that everybody wants to use, which is like the enterprise version of HTML, they went whole hog and they published all these standards because IBM is really good at publishing standards. And in fact, they were where SGML was born. [Ben laughs]
BP They have a big team, big team dedicated to that.
PF Vast, actually, no, no, I mean, they were aware SGML was born, which was the place that the you know, that that was the format and structure that HTML came out of that was the standard that yielded other standards. So they were like, we're gonna get in here and own this, and it's just this huge hairball mess. That's impossible to comprehend. And then you look at JSON. And you go like, yeah, okay.
SC Yeah, I can work with that. It seems fine.
PF It's just keys and values. Like if you know the syntax of a little bit of JavaScript, you already know JSON. Whereas with SOAP, it was like, read the 600 page document. And, whoa, what a shocker. Nobody wanted that, right? But it does still exist. We recently at work, no actually not recently, a couple years ago, somebody showed up with the giant SOAP API for an email platform, it was like we need to build a client to talk to this, we want a new email client.
SC Oh, don't touch the API, you need to need to build the client.
05:57
PF You need to build the client. I was all SOAP. So what our team did was build a in browser graphQL layer so that you could issue graphQL queries from the client and then they would go to a proxy that would translate them to SOAP queries. So so that everybody could use the syntax they were comfortable with.
SC [Sara laughs] What an amazing thing. What a way to make work for people who are like ''this is absolute garbage so we're gonna...''
BP Paul always wants to make everyone feel comfortable. That should be Postlight's like mantra ''making everyone feel comfortable with their tech stack.''
PF You know developer experience is a big part of life and so...
SC It is.
BP Exactly.
PF But bringing that all the way back like computer standards, feet, miles, time, and so on, you're always reducing things to integers which are themselves little light switches turning off inside the computer, so we're always wrestling with that. Like time is a great example like time is muddy and real and you need, and you need these giant time zones documents.
SC Yeah, God it's awful.
PF And the same with distance. Same with everything.
BP There was another great quote that popped up in my feed, which I thought about a lot over the weekend. It says, ''In metric, one millimeter of water occupies one cubic centimeter weighs one gram and requires one calorie of energy to heat up by one degree, centigrade, which is 1% of the difference between its freezing point and it's boiling point.'
PF I know. It's so awesome.
BP How much energy does it take to boil a room temperature gallon of water, you can say, to an American, to which the answer is ''Go [bleep] yourself'' because you can't directly relate any of those quantities I just discussed. [Paul & Ben laugh]
SC That's one of my favourite things about Celsius, I just remember, 'cause like, we don't use that, Fahrenheit here. And so I, whenever I'm translating. I'm like, okay, 100 degrees is boiling. So I just have to like, move backwards from that.
PF Well, I mean, that seventh grade science class is when they blew your mind with that, right? And it was that and like, I remember more from middle school science than almost anything else, because it was stuff like ''Epsom salts makes water different.'' You're like, ''Oh, my God! Well I'm blooming as a human!''
07:52
BP The science is magic portion of your education. But like, yeah, like you're saying, Paul, what's interesting about this one is like, space, and energy, and time are all logically connected in that one little system there. I mean, like, then people immediately start arguing in the comments. Well, a calorie is really measured in a joule, and so that blah, blah, blah.
PF You know what that is thought? So that's good API design. I'm not kidding. Like that's actual good. You aspire to that and people don't think that way. They're just like, ''Ah, man. I gotta get this data in, I gotta get this data out.'' And like scientists, probably, you know, maybe it's Kelvin. I don't know who the hell it was, somebody, 'cause it doesn't matter. [Ben laughs] 'Cause all you need to know, you don't even need. It's not named Jim Celsius. It's not but no, we were named Fahrenheit. Of course, we got the guy's name and the Kings foot and a bunch of acres and hectares. Celsius are like ''Nah, man, all you need are the API docs, you want to heat up some water? Don't worry, don't worry, it's really easy. Just send one calorie to the milliliter. And you got it.'' And you're like, wow.
BP Exactly.
SC The most beautiful languages, or libraries or frameworks or any of the things. And you're like, I don't know what the syntax is, but it should work like this. And you try it. You're like, yeah!! [Ben & Sara laugh]
PF That was a conversion. That was my conversion experience for Python. A, that does not happen with JavaScript, ever.
SC [Sara chuckles] I guess...
PF I love JavaScript
SC Some JavaScript libraries, maybe. jQuery it does!
PF jQuery. Yeah. But we're not, jQuery is not cool anymore.
SC Yeah, it's not cool.
PF No, Python's really good at that. You know what I wonder and this is just crazy guessing but like if you look at this syntax is a very science friendly languages, I'll bet they have that pretty locked down. Like if you think about Fortran is hideous, and it's not good for modular programming, but it does let you express those simple scientific concepts really efficiently and kind of give them big, bulky names. Python's that way, scientists love Python.
SC You know, speaking of learning things, I found a great resource this week that maybe everyone already knows about.
PF Okay.
SC Because this week I learned about micro front ends.
PF Oh! No!
SC Did you already know about this?
PF No, tell us all about it!
09:45
SC So micro front ends is kind of like microservices and the way that you componentize sections of your front end. And instead of having front end engineers that work cross platform, you know, on random areas of your application. You do things, I know that places like big places like Twitter and Facebook, I've been doing it a long time. Like you have a whole team dedicated to your editor, or you have a whole team dedicated to X, Y, Z so that they become experts in this and you still have components and things still affect other things but you get an expertise there. So I learned about that this weekend from the Thoughtworks Technology Radar. Do you know about this?
PF Okay, so I did not know about this specific thing. But I'm a big fan of the Thoughtworks Technology Radar. That's like a great consulting product.
SC Yeah! Yeah, it's really great. I didn't know about it. And so now I'm going to check it out, like every so often, but what they do is they break down different trends and tell you, this is a great thing for managers too, who are like not really deep in the tech all the time to learn about the things that are up and coming.
PF So we should give them the pitch because it is a good resource. And you know, they give it away for free for their marketing. Thoughtworks is a big technology development firm that works with large clients to build large systems. They are a software consultancy, and they're kind of on the cooler side, right. Like, there's someone as a, as a firm that provides software and services were much much smaller than them but I definitely pay attention to them as like, Okay. They used to be very object oriented. I think they're broader now, but like, I want you to talk about microframework because I don't have a thought But like, the radar tends to tell you like, hey, should I adopt this? Should I be looking at it? Should I ignore it?
SC Should I know what this is?
BP Right. It's like a trend. It's like a cool hunting for software. They're like telling you what's up and coming, what you should know, what it means if somebody says it
PF For enterprise. So like, so no no, I mean, a good example is like, okay, adopt .net core, right. And then it's like, assess Apache pulsar. I mean, there's so many Apache projects, it's so exciting. And then it tells you what they are. So pulsar is an open source pub sub messaging streaming platform, but you never have any idea about half of the things and they are kind of real. So it's, it's, it's actually really helpful.
11:55
SC Yeah! That's what I loved about it. I just like got really deep on a bunch of stuff. Yeah, I think the microframeworks thing is really great. It's the same reason why you do microservices is because you kind of end up with a monolith on your front end. We kind of saw this, when we were doing dark mode, where you know, like, you change one thing about one page and it's gonna break a whole bunch of other things. So making everything kind of autonomous and decoupled. It's a great way to make sure that you can do upgrades. Like I guess, in this case, you'd probably have like a design systems team that would govern the entire front end or like the entire design. And then you'd have different teams, autonomous teams that would own different components.
BP I read something the other day that was kind of like the opposite of this, where you're talking about, like, Oh, you have a monolith. And you want to protect it by atomizing it, like breaking it down. It was saying that in certain places where like, they've put so much time and energy and effort into getting their system just right on the hardware end, they then cut it off from the network and just refused to update. So it's like movie studios where they have like, fine tuned everything to do some kind of Film Editing or CGI, or like MUSIC Studios, where they like have this huge interconnected rig of all these different machines. And then it's like they're running a version of Windows or you know, whatever the music program is that's like six or seven versions old but it works for them. It never breaks.
PF Same with government, same with...
BP [Ben laughs] Yeah, yeah, exactly. I thought that was really interesting. Freeze it in time. It works. It won't break, freeze it in time.
PF All it needs to do is when you touch the slider, it needs to make it louder. Right? And so it's like, don't screw with that unless you have to and the price of updating the Windows 10 could be like $12 million. [Paul chuckles] But don't, don't do it. [Ben laughs]
SC Yeah! And that's why the New Jersey unemployment system runs on COBOL.
PF Well, this is the thing. It always catches up with you eventually. Right. So you, you seem to have two choices in life, which is update constantly and perpetually and deal with the consequences or defer the consequences and pay a terrible price later.
BP Right, when that black swan comes along. Yeah, absolutely.
PF As far as I can tell, there's there's no winning. The best thing is to stay continually updated. There's no winning.
14:04
[MUSIC]
BP Sara, you dropped a link in here that I thought was interesting, because we've discussed this before. It says here ''Pinterest pays 90 million bucks, give or take, to terminate San Francisco office lease.'' Sara, we had an episode a couple weeks back, we talked about, you were hearing just anecdotally from friends. There's been a real exodus of software developers out of San Francisco in the Bay Area. You know, I think the question at the time was how big of a trend is this going to be? How long lasting? And would this eventually maybe shift the center of gravity for software development and product expertise away from San Francisco where, you know, it's been for so long? So any thoughts on this? Or is this more than just a one off with Pinterest? Is this happening at a bigger scale?
SC I mean, I think so. Paul, I'd be interested to hear what you've seen. But everyone I know right now, or like most places, I know, at Stack too, we're out until next June. And I think that people are really considering this. I think people are seeing that their employees and teams can be super productive remotely.
PF I think we've learned the lesson that remote is possible. I think what I would say is, complicated here, is that when you're looking at San Francisco companies and you're looking at companies like Stack, you're looking at places that deliver essentially a monolithic or a couple monolithic products, I'm not using that in the term of monolith, like, you do a big thing. And you work together in groups that are all focused on that big thing. The access points to the outside world already are online. So client services company, a, not even mine but like a Deloitte or McKinsey or somebody like that. But you're who are actually some of the largest IT services providers around, you just don't think about them, because you think of them as consulting and accounting. They still kind of got to get in that office and talk to people, when you're dealing with in a lot of spongy ways with the outside world, in sales often is pretty physical and in sort of requires a lot of interchange and a lot of whiteboarding and so on. When you're dealing with individuals meeting each other for the first time and trying to accomplish a shared goal together for their, on behalf of both of their organizations. It's hard to see that going fully remote anytime soon, because it's just a lot of signal and interchange and ritual and tradition. But Pinterest is building Pinterest, right, and they already know how to build Pinterest every day. So they can restructure around a remote organization without losing sight of what that is. Because that social interaction isn't key. Like if everybody didn't work for a day, for the most part, Pinterest would probably stay up. So I think that's, to me, that's the metric. If you're, if everybody went home for a day, what would happen?
16:32
BP I like what you're saying, Paul, it's like if you're having to constantly meet new clients and solve their individualized demands, whereas like, right, you're going project by project and what you're trying to solve for and the technologies you need to use to do it are constantly changing, it probably makes a lot more sense to have more of that face time, you know, to be in the room with the client to have that whiteboard. Whereas right, you're building a big system that's already up and running and you're just want to keep optimizing it and bolt on a feature here or there, you know, remote probably works really well. Also, you know, the thing about it is like, once you start a trend, this trend now for tech companies runs at least till next summer, it's hard to reverse it. Like if once everybody moves out, it's gonna be hard for folks to come back.
PF These are big battleships.
BP And you saved all this money on the office and on no snacks and you're suddenly thinking like, ''Wow, my margins are great!'' You know, like turning back the clock on this is gonna be pretty hard. I think even if we realize at the end ''Oh, we liked offices, damn, we want that back.''
PF At the same time, like, office rates in New York City remain pretty high, like people aren't, a lot of people are like hurting and so they're letting their leases go but like Facebook and Amazon are expanding in Manhattan right now, they're getting new space. If you think about it, right, that may not even be engineering like, I'm sure Google is always looking for new space, right, it might not be engineering, engineering can stay home, but the ad sales teams You know, there's there's all this stuff that happens that has a really deep culture of physical contact, or might actually involve goods being exchanged. But no, if you're working on a big old thing, and you kind of know what you're doing this year, and your job doesn't change that much, this is now an option. I mean, think about it from a raw capitalist point of view. A company is looking at not paying that rent but still getting the same roughly the same productivity from its human beings. So what are they going to do?
18:14
BP Sara, what is your, what is your gut feeling? Are you going to gonna stay in New York forever because you're a New Yorker or do you love the city? Are you, do you have now maybe an inkling that like, Oh, I could use some more space or something else?
SC Yeah, we love the city, I think we're gonna head out this winter for a bit, but like city people are city people, is what we've decided. Like city, if you love the city, you always love the city, you know, like, it's I think it's a different world to move out. But I get why people are leaving.
BP I also wonder, like, we've been talking about doing our off sites, you know, and maybe doing them a little bit more often if we don't have an office. And so there could be this kind of new work culture where it's like, everybody works remote, but once or twice a month or once a quarter, you all meet up in person and kind of go through that either the ritual stuff or you know, good bonding that happens face to face, or you work on the problems that are better done that way. And then everybody disperses again. So it's kind of like this flex arrangement. And then I could also see Paul, like you're saying like a lot of people forget, like, we own this build. This is the Pinterest building or the Twitter building, but you have a flex space where it's like, hey, if you ever want to come into the city and work, you know, we've got this sort of setup look.
PF Look, I think, it's changing, right? Like I know at work we used to be, engineering has always been remote, at Postlight, and then design and product were always in the city at headquarters essentially. And we have made product management hires that are remote, and we're considering them more aggressively now. And people are saying, Hey, I think I'm gonna move back to this city instead of staying here and we're like, okay, you know, like, like, this has been such a transformative year. So I think that what you're gonna see on the other side of this is, obviously we've learned from this, I hope to God, we've learned from this and you're gonna just see a lot of new patterns. I think what drives me bananas and this is because I spend too much time on Twitter is it there's an absolutist attitude like ''well remotes the best way ever, it's the only way to work. Everyone who's ever talked about an office has lied and open office is evil. Let me get that in there too.'' And like, okay, at the same time, then you have people who are like remote work, can't, isn't real work. It's they're not here. I can't see them. I don't know what they're doing. And then the remote people are like, well, that's just you're just trying to control me and it's just kind of this endless circle. Sometimes it's good when people are together, often it's not that big a deal.
20:21
SC [Sara laughs] Is the takeaway.
PF Yeah, I'm just like, for God's sake...
BP That's a viral tweet right there. That was a hot tweet. [Ben laughs]
PF No, exactly. It's the opposite of a hot tweet, right, like it's just, avoid all professional advice and office and management strategies presented on Twitter, just trust me. Oh, well, it says I have to do this. No, no, you don't. Says this is evil.
BP I trust, I trust trending topics. I trust them.
PF So we're gonna see, I think look, if if you didn't learn from this pandemic, you're an idiot. Right? That's about it. Right? [Ben & Sara chuckle]
SC That's a good tweet.
BP You didn't learn X from this.
PF Yeah, I mean, if it if it works, and somebody is happier and they're productive, that's right. I mean, what this means is a lot of awkward stuff like layoffs over Zoom and you know, just like there's there's a lot coming along those paths.
BP Ooosh. Ooosh. Yeah, yeah.
[MUSIC]
BP Alright, y'all, it's that time of the week I will read a lifeboat and we will say our goodbyes.
PF I love it!
BP Alright. The question is ''why is angular called a single page application? One of the most common terms associated with Angular JS is s.p.a.'' And then there's a bunch of sort of sub questions in here. ''Why is it called that?'' ''Even if the URL changes?'' ''Will it still be called an spa?'' ''Are all the sites created by it?'' ''Are really a single page application?'' And then we have a really nice answer in here breaking down all of this stuff. The advantages of an spa, why Angular is called that, so big shout out to Sravya Nagumalli for that lifeboat, if either of you want to weigh in, feel free here, I can share the link.
PF Ben butchers names is perhaps my favorite part of this, like this is...
SC Yeah, we should do a segment.
21:58
PF Yeah, just just a supercut of like, ''Oh, no, that one was awkward, that was not, hmm.''
BP Are we talking about people's names or software names, because I think I do both poorly.
SC Both. Effectively. Yeah. [Paul laughs]
PF Ben learning language. [Ben chuckles] No, what's better than, yeah, that's just, they just said it all. It's just...
SC Oh this is a great little write up, yeah.
PF Single page applications, man, it's how they ruined the web. It's wonderful.
SC Underrated. Yep.
BP No page flicker, native application feel. Mhmm, love it. Alright, y'all. Thank you so much for tuning in. If you're listening, we appreciate you. Send us any ideas or comments podcast@stackoverflow. I'm Ben Popper, Director of Content here at Stack Overflow. And you can find me on Twitter @BenPopper.
SC And I'm Sara Chipps, Director of Community here at Stack Overflow. You can find me on GitHub @SaraJo.
PF I'm Paul Ford, friend of Stack Overflow, check out my company Postlight.com.
[OUTRO MUSIC]