The Stack Overflow Podcast

Goodbye to Flash, we'll see you in Rust

Episode Summary

As Adobe ends its support for Flash, we look back at its impact on gaming, graphics, and the web. And fear not, some kind folks have written a Flash emulator in Rust called Ruffle. Later, we discuss how to lay out your resume in order to get noticed and a Supreme Court case in the US that considers whether scraping data from public sites should be illegal.

Episode Notes

Gone in a Flash. Actually it took quite a while. Adobe explains its decision to stop supporting Flash here.

You can learn more about Ruffle, the Flash emulator written in Rust, here.

Here are some tips on writing a developer resume from a hiring manager who's written an entire book on the topic.

You can read more about the Supreme Court case considering the limits of the Computer Fraud and Abuse Act here and here

Our Lifeboat badge of the week goes to a user named simply 4386427, who answered the most basic and frustrating question: why does “printf” not work?

Episode Transcription

Paul Ford I want to talk to you on the podcast Slack and you know what sound you hear you hear? You hear [Paul makes knocking noise] right? 

Sara Chipps Yeah.

PF Yeah, in about a year. That's gonna be Marc Benioff going ''Use Salesforce [makes knocking noise]''

[INTRO MUSIC]

Ben Popper Are you struggling to deploy cloud native applications to a hybrid cloud? Do you want to become familiar with Kubernetes and Istio? IBM cloud has a set of free, hands on training, ebooks, and an always on free tier of services to help you learn. Visit IBM.biz/StackOverflow to learn more. That's IBM.biz/StackOverflow.

BP Hello, good morning everybody and welcome to the Stack Overflow podcast.

SC Good morning. Hello!

BP Make sure you have Flash plug-in installed, otherwise you won't be able to participate in today's podcast.

PF Ugh, Steve Jobs said we don't have to use Flash anymore. [Ben laughs]

PF Hey Ben. Hey Sara!

SC Hey Paul. Hey Ben!

BP Sara, you're calling us from the cabana, we're very jealous.

SC Cabana life!

BP Sara's cabana lifing it. There's a hammock in the background. And a really nice looking microphone!

SC Yeah, the hammock's comfortable. We're, we've escaped to warm weather for a little while. 

BP So some news I saw today it popped up on my computer as Flash does. It's going to be retired? Deprecated. 

SC Yeah!

BP No longer supported by Adobe. And this is, I feel like one of those things in the life of a computer user where, just at any moment, you could be sleeping, taking a shower, making a meal, Adobe will come and say ''Excuse me. You have to reinstall Flash now.''And you just think like, why now? Do I have to? And then if you don't, later on, you're trying to do something important and time sensitive. And suddenly you need Flash or the latest version of Flash.

SC Well, I need to Flash two days ago when I went back to Zombocom. Y'all remember Zombocom? [Ben laughs]

PF Zobocom! 

SC Yeah, that's the only time I've needed it in a while. But it was definitely worth the experience. So I'm wondering if Zombocom will also be deprecated, which would be heartbreaking.

PF Well, okay, so there's there's a lot going on around this. So first of all, the Internet Archive has figured out, and this is kind of cool, there is a a rust Flash interpreter called ruffle.

SC Wow, I didn't know that. That's so cool.

PF There's a Flash player emulator called ruffle, which means that you can compile it to WebAssembly and run Flash in the browser. Now, it doesn't support everything. But it definitely supports the kind of homestar runner style the Flash animated the sort of like that that data where you know, characters are moving around and animations.

SC What a cool website ruffle has.

PF Yeah, ruffle looks very 90s, they give it a very 90s logo. And so first of all, bless the people who wrote the Flash interpreter in rust. [Sara & Ben laugh] And then you go to the Internet Archive, and they have lots of Flash emulated and they're uploading hundreds of things and like classics, including Badger Badger Badger Badger.

SC Yeah! Very important!

PF Yeah, really good stuff and all the homestar runner. So what's not emulated fully is all of the action script because remember, they had like the full JavaScript built in. Flash is funny, because I actually think Flash was a kind of wonderful media type for the web, because it let people make they would use their pirated Flash to make little animals talk. Right. And that is so good as actually so much. What this medium is about is talking badgers.

SC Yeah, if you look at the sponsors of raffle, it's a really interesting group of gaming companies. And then the New York Times. [Ben laughs]

PF Sure. Sure.

BP Flash once had a large user base, Adobe stated in 2013, and more 400 million out of 100 billion connected desktops. And it says here, that's right common format for web games. That was the number one thing and animations.

PF Newgrounds, remember, like you could make something and you can upload it to new grads, it was it was a real entry way to digital work for people. And it was also a proprietary locked in heap of mess. And then Adobe went banana cakes Adobe's like, ''We're gonna have this thing called Flex it's, you know, you know, do XML configuration file, we'll have Adobe AIR, we're gonna take on Java'' like Adobe was just like, we have got to get Flash to take over the world.

SC And then JavaScript!

PF And JavaScript, they had JavaScript in Flash, and that was gonna take over, they're like, no, no. And then Steve Jobs just shut it down. He issued a memo. And it was like, ''We will not be supporting flash on the iPhone.'' Everybody's like, ''Oh, my God.'' And then they were like, ''Oh, he can do that.''

SC That's a big one. Yeah. So funny. Apple killing those things. How do we think that meeting went? Why do you think that he decided?

PF Well, here's what's tricky. Early iPhone, right? It wasn't the App Store. It was like the three Apple approved apps or the 10 Apple approved apps and the web.

BP Yeah, it's about control.

PF Well, you can get to the web, they had a really good web browser for a smartphone, that was a miracle. And so and then it didn't support Flash. So suddenly, this big part of the interactive dynamic web, which was the big thing you were gonna get out of the iPhone, along with, like, you know, the phone and the Contacts App just didn't work. And you know, Adobe's like, come on, come on, come on. two things. One is the memory management model of the iPhone. It was actually always really tight. So...

SC That makes a lot of sense. 

PF Flash just went to town, it was for desktops, right? And so I think on a practical level making Flash truly work on the iPhone where your battery wouldn't just implode in about two minutes, was probably close to a, just like Apple was not willing to create to do that work. And then you know, so then that was the death knell. And it wasn't clear that that was the death knell. But I mean, you know, as as mobile usage took over, and then there still isn't as easy a way to make animated content, Scratch actually comes close I think, when you go and you Scratch the programming environment with the little Lego blocks.

SC Yeah. Oh, really? That's wild. I actually, I think of it as like a learning tool for kids.

BP Yeah, me too.

PF If you look, people are making like talking animal sprites moving around type of stuff in that world. 

BP But yeah, that was Steve Jobs, whole thing, right, you would bring in the device, he would tear it to pieces, he'd yell at you, he dropped it in the fish tank, and like he needed to know that it was absolutely going to work the way he wanted it to work. So Flash was gonna stand in the way of that when that massive update came along, or memory management came along. Thanks for that. 

PF And so yeah, and I mean, look, this is this industry. And it's hard. I mean, Adobe did just fine. And what we have now is html5, which is that as long as the novel Infinite Jest, or five stacks of Bibles and and, and that doesn't even refer to the actual contents of the media inside.

BP But here is time as a flat circle. So future wave software, founded in 1993, was the original creator of Flash. And their first product was smart sketch a drawing program for pinpoint OS and the IE o tablet computer. They were a little ahead of their time there. But then the smartphone came along kill Flash. Wow. That's like you couldn't write it better than that. 

PF I mean, it was Macromedia, things got rolled into Adobe here, you're looking at just like the 90s accessory there are no new ideas, right? We've been talking about little tiny devices that do everything since the 70s. But this is a classic example of implementation being everything and not always in a good way. Like we always talk about that, like, ''Oh, well, you know, everybody can have ideas, but implementation is everything.'' And it's like brutal planet scale implementation with no take backs is everything you can really get a lot done if you're really really--

SC Yeah, no take backs is the hard one. Yeah, no monster companies, it's just gonna kill your kill your project. 

BP Speaking of monster companies that might kill your project. Some interesting news this morning, and thought it might be worth chatting about since it's a constant in most people's lives these days Salesforce to acquire Slack. 

SC So here's the only thing I know about Salesforce as a developer, is that anytime someone tries to sell me something, and says, ''What's the weather like in New Jersey?'' I know they're using Salesforce because somewhere in like a global sales force, my location is New Jersey, which I haven't lived there in 10 years. But that's so that's the only thing about Salesforce that it doesn't know where I live.

BP That actually protects you. Yeah, that's a good tell. So that way you know.

SC So how does that apply to Slack? Is the question. It's not going to know what device to find me on, maybe?

BP I feel like this is one of those things where, you know, the sales people that we have have all kinds of automated things that they do to like keep their funnel flowing, their prospects warm, you know, all that great language that they use. And so this is gonna be like, just from Slack and Salesforce is gonna pop up like, ''Do you want to ping Sara and just reminder, the software is still available?'' [Ben laughs]

PF Relax. Okay, so first of all, we have to talk about Salesforce because Salesforce started as a CRM, customer relationship management tool, which is you know, I'm gonna move the cards along and you know, this is a hot prospect, and this is oh, sale, you know, contracting. I live in a CRM I don't we don't use Salesforce because it's exhausting and huge, but it's pretty good for that use case. It also includes like its own programming environment, I think it's called Apex like it is a whole world, it's got API's. It does all the stuff. That's just Salesforce, but what's clear is like Salesforce lives in a world where Oracle and nips are their heels and Microsoft nips at their heels, and it nips at their heels. And so it has bought more companies than I have bought like Little Debbie snack cakes in the course of my life. [Sara & Ben laugh] Like it has, absolutely like, I mean, literally, it's like you go to the store and you're like, ''Ooh, those peanut things are good man'' and that that's how Salesforce use companies. 

BP Well Tableau is the big one I remember that, you know, obviously you get a lot more software and data analytics and things baked in that happened a year ago.

PF Yeah, it was a mass I was 15 billion good ones. That's what that was. No, I mean, my favorite is that they bought Kenlet January 2007, and original product called Crispy news. But that was used at Salesforce idea exchange and Dell idea of ideas to me now they relaunched that at Salesforce ideas, if that made any sense to you, like there is--that's really in the Wikipedia page. They buy kind of big enterprise e business e things. They're truly trying to get in there. So it's like, hey, you know, eventually like today, you're a giant company and you say, ''I need enterprise resource planning, sales and all these things.'' And Oracle just like, hears you and sends a satellite to be over your house and just be like, ''Hey, hey, what you doing, what you do with that?'' Salesforce wants to get in there and wants to make sure that it owns the whole process. Microsoft is interesting here too, right? Because they've got Teams and they've clearly, I'm sure they're like, ''Should we buy Slack? Nah we'll just make our own.'' So I think what Salesforce is saying is like, ''Yeah, we're gonna have the whole thing. Like, eventually, it'll all live together, but we're gonna have the whole thing so that when you need to turn on your giant mega corporation, for sales and resource planning, and accounting and all those things, and data analysis, we're gonna, you're gonna turn on Salesforce, and we're going to upsell you.'' So now everybody who has Salesforce can pay money to have Slack with Salesforce integration.

SC I think that makes a lot of sense.

BP I do think that Slack, yeah, has become, you know, the like, day to day operating system for a lot of people. That's where you're doing most of you're communicating, you're sharing your files, I'm getting pings about things that are updating, so it doesn't make sense that they'd want to just yeah, be where the action is. Right?

PF That is correct.

SC It's a big sale.

PF It's gonna be a big deal. I don't think it probably won't be Tableau big but it'll be big, this would be a big deal. So this is this is probably going to happen as we're recording.

SC Yeah, becomes official right on this podcast is released tomorrow. 

PF It doesn't mean much I think to anyone using Slack, like I don't, I don't just don't see a lot--like Slack's already commercial products. It's nor like everyone's gonna like be like ''Oh, well, I guess I have to leave Slack now because it's Salesforce.'' I don't know, if I'm Slack, what are my other options? Oracle could buy me, that's bad. Microsoft could buy me. Eh.

BP I think my joke about opinion was probably wrong. But for the Salespeople who do use it, right, like it's gonna make it easier to do all that stuff.

PF It's already deeply integrated, like our CRM, it's every you know, emails, go to the CRM that go into slack. And, you know, it pings all the time. So absolutely. slack is workflow tools for a lot of people. I love Slack, and it's not great, great for workflow. So that part drives me a little bananas, because it's just like this endless. It's all the bad things about IRC, but now you have to do it at work.

BP Did you guys ever roll your own IRC? We did that when I first started The Verge, we were rolling our own IRC, and we would like update it every six months.

PF Yeah, that's a bad scene too. Chats great for like ambient stuff where computers are telling people things like bots, you know, like when your bot's like ''Code pushed!'' That's cool. But then it's actually a really bad for keeping track of things.

BP We have a great piece on the blog this week is from Gergely Orosz, it's a How to write an effective developer resume: Advice from a hiring manager as someone who's reviewing hundreds of resumes a year and was actually just researching a book on this, along with pieces of advice from other folks in similar positions. So we'll put that in the show notes. But yeah, let's discuss a little. Sara, what do you think about the advice in here?

SC I think that this is great advice. I was looking through this. And I think the using the quick scan template, I really appreciate, I've gone through a lot of resumes as well. And that's one thing that I always talk to folks about is make sure it's really easy to get your story on a quick scan. Because usually people are you know, when you have a open, roll open, you're going through resumes, you might be going through 50 resumes in an hour, right. And so you don't have the time to sit there and look. And so setting up your resume in a way that your experience can be quickly garnered by a scan is great. I always advise people to put their the languages that they are proficient in and a quick grid at the top of the resume so you can quickly see the places that people have expertise.

PF I mean, Sara, Sara, what you're saying is, think about the user, which you're supposed to do. But it's really hard when you're doing a resume because you feel that there's something magical that like if you just say the right magic words, it'll be okay. But that advice, right? Put your stuff at the top. Be mindful people do love to do these little charts now where it's like, they rate themselves with circles from like, one to 10. And I think there's some like Resume Builder tool that does them. Don't overdo it, because then it's like, Well, okay, great. You rated yourself really well. Like, I don't know who you are. Right. So yes. Like, that's nice for me. Just tell me what the things are. Don't try to add a lot of metadata. 

SC Yeah, yeah, I think that's a good point.

PF But yeah, it's it's incredible scanability. And the reality is that you're looking for one hit out of many. Sometimes people will get really interested in in my company, and they'll want to come work there and I and they will have been somewhere else for 10 years. And I'd be like, Yeah, no, like that's a, you're looking for a natural transition here where you actually probably need to go poke around and apply a lot of places and those people get back in touch and be like, you ''You were totally right, I would have been miserable working for you.'' Yeah, I know, right? Like, we're an agency, you don't want it right, you didn't want to do that you wanted to go, you want to go to a startup, or you want to go to a big company or just sort of, but you really you should, if you're not thinking of yourself as like, if you're not sending out like 30, 40 resumes, you're not gonna get the signal back that you want. And resumes should, you should feel that those are like, pings. Like it's just the cheapest network ping that you can possibly send.

BP I do think that what you're saying makes a lot of sense. To me, it's kind of like everybody wants to write that anecdotal lead for their article that's like that sweet story with the perfect quote, what you really need is the great headline, the subhead and the image and that if somebody's scanning the page is what they're gonna see, right? Like that beautiful poetry, it's not going to get you where you need to go, unless they decide to look and you know, read a little deeper.

PF I work hard and can do the work. 

SC Yeah.

PF Think about the first filter. And the second filter. First filter is like simply did the person apply for the correct job? Right? Like, I'm not like, it sounds very reductive. No, most people apply for the wrong job. They just, because you're up against everybody pinging. Right? So this is the flip side.

SC And then what's that second filter? 

PF Well, so first filter is just like, you know, it's like routing. And then the second filter is, well, actually, the true first filter is like, do I see tremendous variety? Because that's a risk. I mean, to see somebody who can kind of do the job and has done it for a couple years somewhere, ideally, unless they're, they're new, or I need to understand why like, sometimes if you see four startups in a row, you're like, alright, well, this person did a run of startups. Yeah, startups imploding after a year isn't isn't actually a very powerful signal on a resume. It's like, oh, maybe they're a good engineer, like that's fine. Working for four big companies in a row is a very powerful signal of like, oh, what's happening here doesn't mean that you're done. For me, it just means like, I might want to tell a story there.

BP I sent an interesting tweet this morning, the Supreme Court will hear arguments today about an outdated anti hacking law, the CFAA. And so I don't think we can dive deep into this, because there's a lot of nuts and bolts to it. But one part that I thought was interesting was hashtag scraping is not a crime. So I guess what's happening here is that there are people who for one reason or another, want to gather data, for example, this is from the Markup, which is like an investigative journalistic outfit. And apparently, you can sort of twist and turn the CFAA to go after people as hackers just for scraping information from a public site, which I thought was pretty, yeah, sounds ridiculous on the face of it.

PF Well, no, this has always been the case, man, like people remember, somebody scraped a public endpoint from I think it was at&t and got in big trouble. It's the burden is always on the hacker if they're doing something kind of sketchy. Like it's assumed it would be on the person who put them out the information up in public. I mean, look, I'm looking at the as you're telling me this, I'm like, ''Uh oh, 18 US code 1030 fraud related activity in connection with computers on law.cornell.edu.'' It's a lot about scraping financial, or hacking in getting financial information. I wouldn't expect everything to go the way we were hoping here at the super cyber freedom club that we belong to. [Sara & Ben laugh]

SC I love super cyber freedom club. But it's really, man, this stuff always scares me. I always think about senate meetings where you have Zuckerberg in the front of the room saying ''We sell ads, Senator'' and just being generally concerned about do you understand all the applications of scraping before you're going to make this decision? Because there are a lot of bootcamp final projects that use scraping, you know what I mean? Like it's like, how able are they to fully under comprehend the consequences of a big decision like this, which I imagine there, I have a process for.

PF It's no longer a series of tubes, right? Like there are good technical advisors in the Senate and Congress, in the White House. Much better than there used to be. But the problem is that like the fundamental libertarian ethos, or the very fundamental nature of the way that the internet works, often, like that can be really confusing to the law, like they're just like, well, a good example is in the 1930s, the idea of the clipper chip, which would be like you could kind of always have a backdoor for any encryption algorithm, and we're back there now. We're having that conversation again. And it's just like, yeah, you can't do it. Like it's not gonna work, because then we'll go make our own and someone will get the PGP key tattooed on their body, like, you cannot litigate math, but boy, did they try? I mean, look, I think the counter argument is like, ''Well, look, we you know, we litigate, you know, what people can do with plutonium'' you're like, yeah, but that's just that's not in people's brains, like things in people's brains are really hard to litigate.

BP Sara, you made a good point about that boot camp, I think a lot of stuff that I've been following during the pandemic, they were talking about how they were gathering data from all these different sources. And often, yeah, it wasn't an API. They're like scraping public websites of, you know, health departments and things like that. And then aggregating in this really useful information, right. So that's like a use case, you could do defend.

PF Well you who's always trying to protect themselves is LinkedIn, that database, that public database is incredibly valuable. And they have all sorts of policies. And there have been multiple suits from people just go into town on LinkedIn and LinkedIn saying no, and the courts going like, on the web, and you know, they were all cool. We're cool. And Google does it. Right. So then there becomes out like, it's Google's like, the bad meme where there's like, the handsome guy, and then the goofy guy comes up and is like, ''Hey, can I spider your site?'' And, and she's like, ''Nah man, get out of here'' right? But everybody's all cool when Google shows up, like, ''Hey, you mind if I just spider around here?'' And everybody's like, ''Oh, wow, yeah, he just looks rich.'' [Sara laughs] I mean, what's really going on is that for better for worse, we know a Google is going to do with our data, you're gonna give it to Google, and then they're gonna put it into their search engine, and then people will be able to find the data. Other people show up the spider and and you like, what are you gonna do with it? It's like, ''Well, actually, we're gonna make a complete competitive product.'' And you're like, well, don't do that because I made this. Yeah. But they're like, well, it's cool when Google does it. And you're like, yeah. And then now the courts get involved, and they're literally like, ''How do I turn on my flip phone?'' And so that's why we have the system we have.

[MUSIC] 

BP Alright y'all, it is that time of the episode that time of the week. I'm gonna read you some lifeboats. Sara, I think I remember you asking this on an earlier episode. Why does print f not work? Awarded November 26.

SC This is a real 'I can't print'

BP This one is a classic. 

PF It's lazy is why.

BP Yeah. Many systems it is buffered, but definitely a classic from four years ago, I'm learning programming in C can you explain when nothing is printed here? Yes. Yes, we can. We can help you out with that. 

Oh, that is a brutal, that is a brutal baby programmer problem, when can't figure out why it's not printing. Because, yeah, it's sort of--

SC How do you fix it?

PF Yeah. How do you fix it? Because it doesn't it's sitting there and memory. You just like streams, streams will wreck your mind. [Ben laughs]

BP Well, thanks y'all for coming in. Alright. I'm Ben Popper, Director of Content here at Stack Overflow. You can find me @BenPopper on Twitter or email us podcast@stackoverflow.com. 

SC And I'm Sara Chipps, Director of Community here at Stack Overflow. And you can find me at @SaraJo on GitHub.

PF I'm Paul Ford, friend of Stack Overflow, check out my company Postlight.

PB Sweet. Alright. Thanks, y'all.

[OUTRO MUSIC]