JS Party ā€“ Episode #232

Sophisticated Cornhole

with Jerod, Nick & a taste of Ali

All Episodes

Jerod, Nick & Ali partake in a few rounds of Story of the Week, TIL, and Iā€™m Excited about $X. Oh, and is TypeScript the new Java? Nick responds and emotes all over the place! šŸ˜†

Featuring

Sponsors

Raygun ā€“ Never miss another mission-critical issue again ā€” Raygun Alerting is now available for Crash Reporting and Real User Monitoring, to make sure you are quickly notified of the errors, crashes, and front-end performance issues that matter most to you and your business. Set thresholds for your alert based on an increase in error count, a spike in load time, or new issues introduced in the latest deployment. Start your free 14-day trial at Raygun.com

Sourcegraph ā€“ Transform your code into a queryable database to create customizable visual dashboards in seconds. Sourcegraph recently launched Code Insights ā€” now you can track what really matters to you and your team in your codebase. See how other teams are using this awesome feature at about.sourcegraph.com/code-insights

Square ā€“ Develop on the platform that sellers trust. There is a massive opportunity for developers to support Square sellers by building apps for todayā€™s business needs. Learn more at changelog.com/square to dive into the docs, APIs, SDKs and to create your Square Developer account ā€” tell them Changelog sent you.

Notes & Links

šŸ“ Edit Notes

Chapters

1 00:00 Opener 01:00
2 01:00 Sponsor: Raygun 01:32
3 02:32 Intro 00:44
4 03:16 Story of the Week 21:31
5 24:47 Sponsor: Sourcegraph 01:22
6 26:09 Today I Learned 12:50
7 38:58 Sponsor: Square 01:15
8 40:14 I'm Excited About $X 12:59
9 53:13 Goodbye 00:36
10 53:49 Outro 03:09

Transcript

šŸ“ Edit Transcript

Changelog

Play the audio to listen along while you enjoy the transcript. šŸŽ§

Hello, friends. Jerod Santo here, your internet friend, and I am excited to have a fun segments show for you today. Joining me are JS Party regulars, Ali - whatā€™s up, Ali?

And Nick. Whatā€™s up, Nick?

Hoy-hoy. Glad to be here.

Glad to have the both of you. Today we are playing Story of the Week, we are playing Today I Learned, and Iā€™m excited about X, where X is literally anything. Should we hop right into it?

Definitely.

Here we go.

[03:48] to [04:02]

Just when you think that jingleā€™s over, thereā€™s a little coup de grĆ¢ceā€¦ Story of the Week. This is where we share various news stories, discuss them, and then rank them by best to worst, or ā€“ I just made that last part up. We just move on after weā€™re done. We donā€™t do the ranking part. Nonetheless, we shall judge your submissions, even if I may have collected the most of these, and just handed them out to people to talk about. So Nick, what did I hand you to talk about today?

Well, Jerod, thereā€™s this Deno project, and it raised $21 million in funding, so congratulations to them. Letā€™s discuss.

Congrats to Deno. So weā€™ve talked about Deno previously, weā€™ve had shows with Deno folks, go back in the feedā€¦ Ryan Dahl on the Changelog Podcast, andā€¦

Kitson Kelly.

Yes, Kitson Kelly on the JS Party podcastā€¦ Weā€™ve also used Deno a little bitā€¦ Iā€™ve used it a little bit. Have either of you tried Deno out?

Yes, a little bit.

I have not, but I did see a conference talk about it at Remix Conf and it was really interesting, especially ā€“ it was on Deno deploy, and the speed at which you can deploy stuff on there is like unreal. Itā€™s like basically instant to get something relatively small deployed, which is wild-wild.

That is wild. And I think that is part of their commercial offering, or their planned commercial offering, is deploy service. But then also other thingsā€¦ Maybe Iā€™m wrong on that. Is the deploy stuff part of their commercial offering, Ali?

Yeah, definitely. That to me seems like their big business model. From all that I can tell is that they have this serverless function deployment platform, and that seems to be their big business model. But it seems like people are already using it, too. I think Netlify is using them for their serverless functions.

Netlify also listed on the group of people who invested in this round of funding. So 21 million from Sequoia Capital, Nat Friedman, former CEO of GitHub on the list, Netlify on the list, Automattic, creators and purveyors of Wordpress.com, amongst other things. Tumblrā€¦ Tumblr ownersā€¦ What else? Pocket Casts?

Are they really? Thatā€™s so funny.

Yeah, Automattic owns tons of stuff.

Wait, they own Pocket Casts?

They own Pocket Casts, yes.

Interestingā€¦

Yeah. Itā€™s a conglomerate now. Weird times.

Wow, thatā€™s so funny.

So Ali, one thing you were saying before we started was that Deno kind of had the initial hype cycle and a lot of interest, because of course the pedigree, the fact that Ryan Dahl had these regrets about what he did with Node to begin with, and now it was like his chance for the big rewrite, rearrange the letters, change things up, have it be similar, but different in many crucial waysā€¦ And that, of course, generated a lot of interest and a lot of early use, and people checking it outā€¦ And it seemed like for a little while things got quiet, and people kind of quit, kind of went back to just ā€“ well, it was nice. I mean, I checked it out, but Node and Deno, at a surface level - Iā€™m not building big, complex applications; thereā€™s not too much different between the two. But here they are, theyā€™re still raising money, theyā€™re still doing stuffā€¦ So what do we think? Are people going to start to use this in real life soon, or are they? Thoughts?

It seems like the serverless thing is a compelling use case for it, and itā€™s just really fast. Iā€™m excited about that. I think that thatā€™s where they can stay afloat with things. Iā€™m also really excited about specifically the way that you can compile Deno into executables, that you donā€™t need a runtime forā€¦ Kind of like Go in that way. So itā€™s like a JavaScript solution to a runtimeless binary that you can ship. So you can write your command line scripts in it without having to ā€œHereā€™s the script. Go npm-install 10 million dependencies, and then run it.ā€

Right. So you just install all the dependencies first, and then ship those to them as one big blob.

[08:03] Yeah.

Yeah. I think it says a lot that the Twitter hype cycle doesnā€™t really mirror everything, right?

Yeah.

People arenā€™t tweeting about it 24/7, so it falls out of the front of your brain, I guess. But then theyā€™re still doing stuff, theyā€™re still building a tool thatā€™s clearly going to help in some facet of the industryā€¦ And maybe itā€™s not going to be overnight that everybodyā€™s moving from their Node Express apps to Deno, but it seems like for building really complex things, that need to be really performant, like deployment pipelines, maybe Denoā€™s a really great option.

Noteworthy that Deno did just receive one of its first big full-stack frameworks in the open source world, Fresh. A next-gen web framework for Deno. So some of the stuff that Node has, of course, because of the years and years of community building things, itā€™s just like all these tools that you can just get going with. Anytime you start brand new, fresh, you have to go ā€“ oh, I didnā€™t mean to call it fresh again, but itā€™s called Fresh. Anytime you start fresh, you need some fresh tooling, and so people are starting to build things, and get inspired by Deno, and do frameworks etc. So thatā€™s a starting place.

What was interesting to me is like in this tech scene, which you all talked about recently with Kball - the downturn, right? All of a sudden money is expensive and scarce, and here comes $21 million thrown at Deno. So thatā€™s kind of impressive. They convinced people to invest in them now. My guess is what Iā€™ve learned a lot with these startups and announcing rounds is that a lot of that - maybe all of it, Iā€™m not sure; this is just conjecture - was probably locked up, an already invested. A lot of times these rounds are closed for a while, but the companies just wait for like a strategic moment to make their announcement. So quite possibly, this money was all dedicated prior to the downturn. Maybe not, but likely.

Yeah. Thereā€™s a pretty good chance, I would say. Normally, these announcements come after they get all the legal approvals and all that, and it was already on paper quite a few months ago. At least thatā€™s been my experience working at different startups, is that you hear about these things way after they happen internally.

Which is great timing for the team, and it hopefully gives them a good runway to continue to build new stuffā€¦ Because they are consistently putting stuff out, and so thisā€™ll probably carry them through.

Alright, there you have it, Deno raising money, building cool stuff, and time will tell. Are you using Deno? Are you checking it out? Holler at us, @JSPartyFM on Twitter, or reply in the comments. Weā€™d love to hear from people who are actually using it. Maybe theyā€™ve left Node, and now they just reach for Deno every time. Weā€™d love to hear from you.

Alright. Ali, what have you got? Story the week.

GitHub Copilot is no longer just a free beta type of product; they introduced the pricing model, so itā€™s a real thing now. Itā€™s going to be $10 a month, or $100 per year. And they do have free tiers for big open source projects and for students.

I think this is interesting in making waves on the internet, because itā€™s basically a model thatā€™s trained on the code thatā€™s hosted on GitHub. So all the code thatā€™s kind of uploaded by not GitHub themselves, but all these different contributors. And then theyā€™re charging for it.

So I think in general, Iā€™m a very big proponent of like charging for developer tools, because I think people get locked into this like free open source model, and then it becomes that ā€“ open source is just something that people do on nights and weekendsā€¦ But there are actually a lot of companies doing this. But then on the other hand, thereā€™s this kind of ethical, weird, gray area of ā€“ itā€™s basically just a model trained on everybody elseā€™s code, and theyā€™re charging for it.

[11:58] Yeah. Well, I think you probably win this time, because I think this has been the story, as we record, June 23 - this has been the biggest story of this week, with everybody commenting and sounding off their thoughts, whether or not they think itā€™s worth the money, whether or not they think itā€™s ethical of what GitHub/Microsoft have done here etc. Nick, where do you stand?

Yeah, it is also kind of an interesting place, because this is a tool that is ā€“ itā€™s not really behind the scenes at all for a developer. Itā€™s right there, in your face, all the time, suggesting things to you once you get it set up. So theyā€™ve been pretty much auto-approving everyone who wants to join the betaā€¦ And I think that itā€™s free until August, sometime, as well. Itā€™s the classic like drug model - you get a free taste, and itā€™s right thereā€¦

Yeah, the first oneā€™s free.

Yeah. And thereā€™s still a 60-day free trial, even after they start billing for it.

And free for students, I think.

Oh, yeah.

Yes, students and big open source projects are gonna continue to be free.

Itā€™s something that once you get used to it, and you get used to the way that it suggests things to you, or like how to prompt it in certain waysā€¦ For me, it solves the blank canvas problem of just like I need to do something, I donā€™t really know how to do it, Iā€™ll start at Stack Overflow and maybe think about how I do this. I can just write a comment, see if it gives me anything goodā€¦ But itā€™s something; itā€™s not a blank canvas to go from. Itā€™s something.

So on the whole training on open source codeā€¦ So go back in the feed, we have a whole episode; we asked a lawyer about GitHub Copilot, so we have like the legal ramifications coveredā€¦ And itā€™s very fuzzy in that regard. He doesnā€™t actually think theyā€™re doing anything thatā€™s illegal. That was my summation of Louiseā€™s take on that. But definitely go listen to the detailed conversation.

In terms of just like ā€“ I mean, thereā€™s legal and then thereā€™s ethical. And these things overlap, but theyā€™re not one-to-one.

And so weā€™re talking about whether or not itā€™s ethical. So from my perspective, I think they should have limited it to permissive licenses. I think they opened up a can of worms by training against GPL licenses. That being said, I donā€™t personally have a problem with ā€œLetā€™s train a model on all the open source code and create a cool tool around that.ā€ I feel like theyā€™re adding a lot of value. Theyā€™re not simply reusing. And as an open source denizen, I canā€™t get worked up about this. I know, thereā€™s lots of people that are worked upā€¦ It just doesnā€™t really bug me that much.

I kind of agree too, especially since so many GitHub projects are on the free tier, that people are not paying for GitHub to host their code in the first placeā€¦ So I think thatā€™s another argument as well.

Iā€™ve worked at companies that have had like GitHub Enterprise, or a professional GitHub instance, or whatever, and I think that thatā€™s something that a lot of companies are doing, but a lot of these projects that itā€™s training off of might not to fall under that, too.

Right. And something I learned from Natalie Pistunovich on Go Time is that because itā€™s OpenAIā€™s model, and GitHub is creating the tooling using OpenAI Codex, a bunch of other companies can build their own Copilots, and are building them, using the same data, the same models. And so that is not going to be like a GitHub/Microsoft competitive advantage. Thatā€™s like, everybody can have that, build from there, and then compete on integration, compete on the way it works, etc. And so we should be seeing maybe compete on price, come out with free/cheaper. And so I think thatā€™s going to be good for all of us, is to have that competition.

Yeah. Itā€™s probably not that hard to build either, to be honest.

I could do it in a weekend. [laughter]

I feel like youā€™re teeing up my next one there, Jerod.

Alright, go.

Along those lines, AWS has announced now in preview Amazon Code Whisperer, an ML-powered coding companion, as of today.

Thatā€™s just fresh today. I havenā€™t heard of this.

Yeah.

So disclaimer, Ali works for AWS, so put that out thereā€¦ Opinions all your own, I assumeā€¦

Yeah. And Iā€™m also very removed. This is the first time Iā€™m hearing about it too, soā€¦

[16:08] So youā€™ve just found out about it on this show. [laughs] You didnā€™t get the memo, okay. So Nick, is this using a OpenAI Codex as well?

I donā€™t know. I didnā€™t see that as I was scamming ā€“

You were scamming? Why are you out there scamming people, Nick?

Scanning the articleā€¦ [laughs] As I was scanning it. I scanned quickly to see if it would support my workflow, which it does not, because unlike Copilot, it does not support Vim, or Neovim, so I wonā€™t be trying it anytime soonā€¦ But the prompts and the way that it responds does look very similar.

So quite possible. We will try to follow up. Maybe if somebody knows the facts on that, let us know for a follow-up. One thought I had about for the people who are super-mad that all of this stuff is trained against open source publicly available code is couldnā€™t you react to that by creating some sort of a subterfuge campaign where you just upload thousands and millions of really bad programs to GitHub? Maybe write a bot that would just write bad code. Or you know, hire me. I can crank it out.

Iā€™m Pretty sure thatā€™s happening.

And then just upload all that and be like ā€œTake that, Codex! Train on this.ā€ And then youā€™re just tanking the tool, arenā€™t you? I mean, couldnā€™t you do that?

Iā€™m pretty sure that they donā€™t need a bot for that. Thereā€™s plenty of bad code out there.

That would be awesome.

Bad code.

I prompted, I was writing a shell script just two days ago, and in the shell script I wrote a comment like ā€œNow Iā€™m going to clean up the home directoryā€, with like all of the extra files added in there, and it suggested a function that was literally rm/rf$home So thereā€™s lots of bad code out there.

So you ran that, and then what happened?

I started seeing the matrix. It was amazing.

That reminds me of that episode of The Office where Michael and Dwight are driving directly into that lake. Have you guys watched The Office? And the AI assistant, the car GPS was telling him to go straight. And Dwightā€™s in the passenger seat, yelling like ā€œStop, stop!ā€ and Michael just drives directly into a lake because the turn-by-turn directions just told him toā€¦ So kudos to you for not actually running that thing against your home directoryā€¦

Alright, moving onā€¦ We have our third story. This one I thought was kind of cool. The Brave search engine ā€“ the Brave browser now has a search engine. Thatā€™s not news. Theyā€™ve had it for a little while; itā€™s been kind of experimental, trying to compete with Google, DuckDuckGo and friendsā€¦ And I used it for a little while, it was kind of like ho-hum, itā€™s thereā€¦ Itā€™s I think maybe the default in Brave now, but you can switch to the other onesā€¦ Until I learned of Brave Search Goggles, which is a brand new offering, an open source deal where you can actually modify and filter and apply some sort of goggles, so to speak, to all your Brave searches. And not only can you create these filters, but then you can package them up, share them with the community, and then have like single-click buttons where you search Brave search function with these filters on. And so the examples that they have on the homepage is you can create a Brave search, where itā€™s called ā€œNo Pinterest.ā€ So you can basically rerank the results to remove all pages or threads hosted on Pinterest. Thatā€™s just one example. You can have a search thatā€™s focused around left-leaning sources, if you want to just continue an echo chamber. You could also do that on the right side, and you can only have right-leaning sources, by ranking results to boost content from one of these new sources.

Thereā€™s another one that focuses in on tech blocks. Thereā€™s one called One Case Short, where instead of showing like the 1000 biggest sites that it hits, it shows you the 1000 smallest sites.

And so all these different ways that you can tweak and change the results, and then save those off as sort of like bookmarks, to kind of invent your own little search engine each timeā€¦ Which I thought was kind of interesting. What do you think about that?

[20:17] Yeah, thatā€™s really cool.

Yeah. I have solved this in many ways, not like by tweaking what it returns, but just by hiding what gets returned in other search engines, with like extensions and such. I donā€™t want to name any websites, I guess, that start with W, or 3, or a combination of thatā€¦

[laughs] Youā€™re pretty close now. Do you want to just close the loop on that?

W3schools.

Thank you.

Or Experts Exchange.

Expert Sex Change. I mean, sorry, Experts Exchange. Thatā€™s literally how itā€™s spelled; I mean, talk about a domain hackā€¦ Itā€™s like hacking yourself. Alright, so thatā€™s Brave search goggles, check it out. We will link to the GitHub page that explains how it works, how you can create your own syntax, how you can share the goggles with the worldā€¦ Itā€™s kind of cool. Itā€™s just like a custom URL that you pass in in front of the actual search query into the URL. So these things are very web friendly, the way they built this, which I think is kind of neat. You know, nobodyā€™s really been able to chip away at the dominant search engine, even though their results are like demonstrably worse.

Iā€™ve used DuckDuckGo for yearsā€¦ Itā€™s just kind of been like ā€“ itā€™s there, itā€™s just not Google, so I appreciate it, but itā€™s not like it wows me with its results. And I end up having to do the ~g quite a bit to get to a Google result, because I just know itā€™s gonna be the first hit, and then it isā€¦

So there hasnā€™t been much innovation. Like, that was privacy-focused, this oneā€™s also privacy-focusedā€¦ It feels like thatā€™s becoming a thing thatā€™s going to be needed to go up against Google search. But it seems like this, like hyper-customization, hackery, providing like a completely different experience than what Google is providing might be a way that we can get better searches in our lives. So I thought it was cool.

Okay. Should we do one more? Letā€™s do one more. Ali, close us out here.

Yeah, so one fun oneā€¦ Or I guess itā€™s more nostalgic than anything, is that the Atom text editor is shutting down. I havenā€™t used it in the years and years since VS Code took over, but I used to use it as my primary text editor for years. And so itā€™s a little bit bittersweet, it makes me feel old that my first text editor ā€“ or it definitely wasnā€™t my first text editor either, but an old one is shutting down.

Yeah, this was kind of one of those things where itā€™s obviously eventually going to happen, but the day it did, we are kind of like ā€œOh, no.ā€

Yeah, as soon as Microsoft acquired GitHub, it seemed inevitable that they werenā€™t going to keep developing VS Code and, at the same time. But Atom did lead the way for VS Code and for Atom Shell, which became Electronā€¦ And Tree-sitter is another thing that came out of Atom, which is like a syntax tree for source code for like a single fileā€¦ And thatā€™s now built into Neovim. So the fruits of that labor have expanded beyond just that editor, which is fantasticā€¦ And it was a great project.

Yeah. Super-innovative, leading the way, especially in like browser, or web tech-based native tools, and the fact that it gained a lot of interestā€¦ It was used by many people. I used it for a little while. It was never quite as fast as Sublime Text, just like VS Code isnā€™t either. So it never stuck, but I super-appreciated all the work there. And I agree with you, Nick, as soon as we knew that Microsoft owned GitHub and VS Code was so, so dominant in terms of developer interest, it just didnā€™t really make sense to continue both.

[23:57] Yeah. But it does look like the team behind Atom have started a new editor written around Rust, and itā€™s called Zed.

Yes. Zed is not dead, despite what hope fiction might tell youā€¦ Itā€™s also not ready for primetime yet. We had Nathan Sobo on the Changelog years ago talking about Adam, and heā€™s agreed to come back on to talk about Zed when heā€™s ready. And he says Zed is not quite ready yet, soā€¦ Thatā€™ll happen, but weā€™re always interested for people who are innovating in the editor space, because even if you donā€™t use it, that innovation ends up pushing other people to change, adapt, improve their editor, so it will be interesting to watch.

[24:43] to [26:23]

Alright, weā€™re back. Ali had to hop off during the break because she wasnā€™t feeling well, so feel better, Ali. I hope youā€™re not too sick, and if you can shoot Ali some kind words, sheā€™s @aspittle on Twitter. See how sheā€™s doing.

Nick and I are going to power through and weā€™re going to share things that weā€™ve learned.

[26:41] to [26:54]

Do you wanna go first, or do you want me to go first?

You go first.

Okay. So today I learned - technically, yesterday - by way of Simon Willison, who actually shared this on his TIL subdomain of his blog, where he shares things heā€™s learnedā€¦ This is really cool. Itā€™s a one-liner for running queries against CSV files with SQLite.

So Iā€™m not going to share the entire one liner, but basically, as long as you pass to SQLite 3 the command line tool this argument for the mode to be CSV, and then take a CSV file and import it, you can then pass that in; without any sort of modifications, just pass the CSV file, and then just run an in-memory version of SQLite that will just store it in memory until the command executes and then disappear immediatelyā€¦ And run arbitrary SQL queries against it. Just like it was a database.

And so it goes and makes all the tables in memory, and stuffā€¦ And I donā€™t know, itā€™s fancy-fancy. And then it just all disappears when youā€™re done, and it just gives you your results of running that query.

So Simon found that out, itā€™s super-cool. Iā€™ll share the actual link in the show notes, so you can see the one-liner itself, butā€¦ Itā€™s one of these things where I was like ā€œDang, I wish I knew that before.ā€ Iā€™m glad I know that now.

[28:16] Yeah, thatā€™s awesome.

One thing I do often for ā€“ is it JS Danger? No, itā€™s for Frontend Feud, is we get all of the responses in via Typeform. And then Typeform allows you to export to CSV, or .xlsx, or whatever. Actually, I think it is a CSV. And then Iā€™ll open that up with numbers, and I will clean it up and normalizeā€¦ Because weā€™re trying to aggregate - in the case of a survey like that for Frontend Feud, weā€™re trying to aggregate the top answers. But itā€™s always a text field. It has to be. Like if we say, ā€œWhere do you go to code when youā€™re not at home?ā€ we canā€™t provide dropdowns. It has to be free text. And so we get back ridiculous differences. So thereā€™s like this normalization step, where itā€™s like maybe you said, ā€œI go to the beachā€ and then somebody else just wrote ā€œbeach.ā€ Itā€™s like, well, those are both beach. But one of them said, ā€œI go to the beachā€, and the other one said ā€œBeachā€, right?

So thereā€™s like this data cleansing process that I go through and just kind of like manually massage things into right order. And then I want to query it. Well, now itā€™s a stinking numbers file, right? So I export that to CSV, and now I have everything clean in a CSV file, but I want to query it with SQLite. And so then I take the CSV and I convert it to a SQLite database, and then I open it in the SQLite command, and then I run my queries. And then I do this over and over for each column, because each column is a question. And so itā€™s just too many steps. And TIL I donā€™t have to do all those steps. I can just take that CSV, I can run this one-liner and put my queries in there, and it just can immediately spit out the answers without having to go through conversion, enter a program, run a query, exit the program, conversion. So Iā€™m kind of excited.

Yeah, thatā€™s really cool. I love tools like this, that just make it easier to work with data in different ways.

100%. And SQLite is so versatile, and so old. I mean, itā€™s been worked on for so many years that thereā€™s all these little hidden features in it that you would never know, because theyā€™re hidden behind this command line flag, you know?

Yeah.

Thatā€™s neat. So Iā€™m very thankful for Simon Willison for exposing that to the world and teaching all of us, so that we can do things a little more productively, and share that with you all as well. Hopefully, itā€™ll help you. So thatā€™s mineā€¦ What about you?

Mine is kind of along the same linesā€¦ Tell me, Jerod, have you ever used a command line utility called fzf?

Fuzzy File Finder?

Yeah.

Yes, I have.

Fuzzy Finder. Yeah, I integrate that into everything. So I can hit anywhere to get like command ā€“ as Iā€™m typing, if I want to autocomplete like a path to a file, I just hit Ctrl+T, and then I just start typing the file name, and itā€™ll fuzzy-find a list down to exactly what I want. And then just, once I hit Enter, paste the path to that file in right there. Or I can hit Ctrl+R, to search through my history, fuzzy-find through my history and find things.

Oh, okay. So you replace like where grep would be, or ā€“ itā€™s not even grep, because grep goes into files. Does fzf search inside the files, in this context, or just the file names?

It doesnā€™t do any of that, and it also kind of does all of that, because it doesnā€™t do any of thatā€¦

Okay, Iā€™m intrigued. [laughter] It does nothing at everything.

Yeah. [laughs] You can just take anything and pipe it to fzf and then fuzzy find through that.

So you can take your grep results and fuzzy-find through that.

So if you take a directory list or a list of directories and then fzf it, youā€™re basically doing a file name search, or directory search. Gotcha.

Yeah, exactly.

But if you take the contents of your file, like if you cat a .ts file and send that to fzf, now youā€™re searching word for word, or whatever.

[32:14] Yeah, exactly. I do do that through ā€“ I use a tool called ripgrep to find things. Itā€™s like a Rust based, you know, ack, or Silver Searcher, or one of those variants; like a beyond grep, not better than grip. And you just pipe the results.

Well, theyā€™re trying to be better than grep though, right? Otherwise whatā€™s the point.

Yeahā€¦ I think xurl used to be better than grep.com, or something like thatā€¦ And now itā€™s beyond grep. Just aā€“

Yeah. Itā€™s a little nicer.

Because it doesnā€™t need to have that rivalryā€¦

Right.

Anyway, thatā€™s just so cool. And my TIL is not fzf, because Iā€™ve been using that for yearsā€¦ But I was teeing that up as a way to visualize what Iā€™m about to show you. Have you ever heard of another tool called jq ?

jq for searching in JSON?

Yeah.

Itā€™s like a query language, so it kind of ties into what you were talking about a little bitā€¦ But itā€™s for JSON files. And so you can type the syntax and search through a JSON file, and get out like a specific piece of ,that you could modify in the JSON file in different waysā€¦ But when I use that, I constantly have to have the reference open to figure out what Iā€™m actually doing. Thereā€™s also online tools that let you like paste some JSON in one side, and then write a query, and itā€™ll show you the results on the other side. Kind of like a tool that youā€™d use for doing regular expressions. And thatā€™s really cool, but kind of marrying the two of those together is a tool that I just found the other day called jqq. And it is a visual wrapper around jq, that kind of does the fzf type thing where as youā€™re writing out your query, itā€™s live showing you like a preview in like virtual text of exactly what would get returned by what youā€™re querying as you go. So you can kind of use that as a nice tool to build out your jq syntax, or your jq query, and in real time get that feedback.

That sounds super-useful, because Iā€™ve never found jq syntax to be good for meā€¦ Or how do I say itā€¦?

I didnā€™t want to say itā€¦

Easyā€¦? Well, just for me; itā€™s not like blaming anybody. It just doesnā€™t make sense in my head. Iā€™ll just cat my JSON and pipe it into grep and find what Iā€™m looking for. Or open it up in Sublime Text, which handles JSON files quite easily, and do Command+F inside of there.

Yeah.

Because every time I have to use jq, I have to feel like Iā€™m learning the query language for the first time, because I use it infrequently. I think if I used it daily, it would be less so. So it sounds like this is really great for discovering how that query language works more in a tactile way.

Absolutely.

So thatā€™s cool, jqq. Alright, in lieu of Aliā€™s TIL, I have another idea, which is today I responded to Mikeal Rogersā€™ tweet. So Nick, I would like a live response from you, an admitted TypeScript fanboy, from a tweet by Mikeal Rogers, former JS Party panelist - maybe even future JS Party panelist, but he hasnā€™t been on a while - when he today said ā€œTypeScript is the new Java. If that makes you happy, itā€™s because itā€™s true. If that makes you angry, itā€™s because itā€™s true.ā€ So first question is, does that make you happy or angry? Second question is do you agree or disagree? Hot takes. TypeScript is the new Java.

You put me on the spot like thisā€¦

Your thoughts.

You know, when I first started learning TypeScript, or being forced to learn TypeScript, I thought the exact same thing. I was like ā€œThis is Javafying my code, and I donā€™t like it, because itā€™s too verbose, and Iā€™m not being productive.ā€ And I was especially salty on it because you spend a lot of time writing this type of code that doesnā€™t actually get run, and it doesnā€™t have any effect.

Right.

But that said, I donā€™t know, I donā€™t have a healthy relationship with Java, if Iā€™m honestā€¦ So I donā€™t like comparing those, because I love TypeScript.

So this makes you angry.

It does.

The answer to the question is angry. Heā€™s angry.

[36:16] Yeah. [laughs]

Because you like TypeScript, but you donā€™t have a healthy relationship with Java.

Yeah. My only Java experience is working on a struts 1 application, which was not fun. I quickly went over to the JavaScript side, because I didnā€™t want to ā€“ I just did not like it at all.

I used Java just enough to know that I never want to use this language again, and I quickly went to other things, and stayed elsewhere, and have managed to avoid it my entire career since that point. And so thatā€™s also my tactic with TypeScriptā€¦ [laughter]

Okay, so thatā€™s your hot take, it makes you a little angry. But you thought that yourself, so you think his comparison ā€” do you think him saying ā€œTypeScript is new Javaā€, do you think thatā€™s inappropriate, or do you think that heā€™s onto something there? Whether you like it or not, is there something to it?

I mean, I donā€™t knowā€¦ You donā€™t have all of the baggage of Java, right? I donā€™t knowā€¦ I donā€™t know.

Okay, so thereā€™s your hot take. He doesnā€™t know. Heā€™s angry, he doesnā€™t know.

You get the benefits of ā€“ like, to write TypeScript, what do I have to know? I have to know how to use Node a lot. I have to know JavaScript. Itā€™s not going to save you from learning JavaScript. You know what I donā€™t have to know? I donā€™t have to know Maven, I donā€™t have to know Gradle. I donā€™t have to public static void main, args string arrayā€¦ I donā€™t have to know any of that. I just start writing a script, and if I want to add some types to it, I add some types, and it makes it better for me when I come back to it, for sureā€¦ But all of those bad things arenā€™t there, soā€¦ Iā€™ve come around; I also think that TypeScript has gotten a lot better with its tooling. It was pretty rough in the 1.0 days, for sure.

Can you tell me what youā€™d have to type in TypeScript in order to export a default function that has a certain return value, or something? What would that be?

It would be export default function, and then you can name it, or not name itā€¦ And then you could just implicitly let it figure out the type of the return based on what you return. You donā€™t necessarily have to give it a return type.

So export default function main and then some sort of ā€“ doesnā€™t that sound a lot like public static voidā€¦

You forgot the in thereā€¦ [laughter]

Yeah, yeahā€¦ Alrightā€¦

[laughs] But that public static void main is inside of some class that you have to have, right? Because everything has to be a class in Java.

Truth.

Alright, youā€™ve acquitted yourself quite well. Take that, Mikeal Rogers. Theyā€™re different, okay? Nick Nisi says so. Alright, letā€™s take the next break. Weā€™ll be right back.

[38:49] to [40:25]

Alright, weā€™re gonna close up this conversation with a fun little segment where we just share things that excite us currently. So we call this ā€œIā€™m excited about Xā€, where X is literally anything. Nick, what are you excited about these days?

Well, I just got back from Amsterdam, and the JS Nation and React Summit conferences, where I was there for JS Partyā€¦ And one thing that was introduced there that was really cool - and itā€™s out on YouTube now - is the Svelte Origins documentary. I think that itā€™s a fantastic watch. These types of documentaries that are just like really high quality, interviewing people that weā€™ve had on this showā€¦ You know, Swyx is prominently interviewed in there, Amelia Wattenberger is also interviewed in thereā€¦

So thatā€™s really cool. And itā€™s just super well done, and it gets you excited about these things. And Iā€™ve never used Svelte, but Iā€™m excited about Svelte, and Iā€™m happy that it exists, and I want to use itā€¦ But even though Iā€™ve never used it before, I was fascinated by watching this half-hour documentary, and I think you should check it out.

Yeah. Is this by the Honeypot team, or is this a different one?

So I donā€™t know the story, but yes, itā€™s OfferZen, and I think that itā€™s like theyā€™re now doing those documentaries for OfferZen instead of Honeypot, or something like that.

Yeah, super cool. I have been very impressed by these documentaries. I know there was one about Elixir, I think there was one about ā€“ was it Node.js? I know theyā€™ve done a handful. Vueā€¦ Iā€™m pretty sure Vue has one. Vue.js, the documentary.

So they are practiced at this. Itā€™s like a professional video team. This is like a documentary, right? I mean, you could throw it on Netflix. Netflix for programmersā€¦ which is basically YouTube, I guess. [laughs]

And they go like all over the world for these, to put these together. As far as YouTube videos go, itā€™s a high budget YouTube video. They went and interviewed Orta Therox, formerly of the TypeScript team, and they interviewed him in his office at home, and you could see how he works, you could see how other folks in their offices work, and itā€™s just a really high-quality documentary.

And they take a long time to produce as well. I know when we had Rich Harris on the show last, which Iā€™m just frantically searching to find out when it wasā€¦ Back in December, episode 205, ā€œSo much Svelty goodnessā€, Amelia and Amal were on that episode. And when we were recording it, Amelia had already been interviewed for this.

Oh, really?

Yeah. So I just know that it takes a long time for these to finally get put together, especially if youā€™re traveling around the world getting these interviews. And I think Rich had already been interviewed for it back then as well, and that was like six months ago.

Oh, wow.

So who knows how much effort, time and thought have been put into these? A super-cool thing. How fun would it be to have an open source project thatā€™s so beloved that somebody makes a documentary about it? It has to feel pretty good?

Absolutely.

We should start one. What should we do?

Iā€™m thinking of something funnyā€¦ [laughter]

Okay, letā€™s not start one. That was our big chance, Nickā€¦

Yeah, I knowā€¦ [laughs] Kind of along these lines though, Iā€™ll throw out another YouTube channel that does similar things, but not like developer-focused, although it is kind of very adjacentā€¦ Itā€™s Noclip. Have you ever watched any Noclip documentaries?

No, I donā€™t know about this.

These are video game documentaries, and they are fantastic. I watched one about Doom. Itā€™s just called Doom Documentary, and thereā€™s a couple of parts to it.

[44:05] But they also have one thatā€™s like the story of CD Projekt, Red, or a Half-Life documentaryā€¦ And itā€™s not just like them documenting themselves playing a gameā€¦ For the Doom one, they went to id Software, and they interviewed John Romero, and talked about what went into it. And they talked to the composer of the music. I think Mick Gordon is his name. And just talked about what went into that.

And as Iā€™ve been playing games, because Iā€™m very late to the video game scene, Iā€™ve been watching these Noclip documentaries for these games that have been out for years that Iā€™m just now getting around to, and itā€™s just a fun supplemental to it. And Iā€™m just fascinated by the stories that go into how those games get made, how they get the voice actors that they wantā€¦

Totally.

ā€¦or things like that. And so, yeah, some of my favorites are the Doom one, the Hitman oneā€¦ And thereā€™s a fun paranormal game called Control that they have one on as well.

Definitely weā€™ll have to check that out. Link that up for us, weā€™ll get it into the show notes for folks. Noclip video game docs. Very cool. Well, I brought a couple of things that Iā€™m excited about - one online, one offline. Letā€™s start in meatspaceā€¦ Iā€™m excited about Kan Jam. Have you ever played this game?

Kan Jamā€¦ Yes. Is that with a frisbee?

Yes. And the trash cans?

Yeah.

Itā€™s so much fun.

I have that in my garage right now. Itā€™s super-fun.

Yeah. Itā€™s summertime here in the States, and people are starting to have barbecues, and here comes the 4th of July, so itā€™ll be a lot of outdoor activities going on. And this Kan Jam game couldnā€™t be any simpler. Itā€™s effectively two trash cans - theyā€™re not actual trash cans, theyā€™re just like plastic. But you could make it with a couple of trash cans. With a kind of a mailbox-looking slot cut out of the side of each, and you set them anywhere from like 15 to 25 feet, depending on how good you are frisbee, apart from each other, with the mailbox lats facing each other. And itā€™s two teams, you stay on either side of the of the cans, and you have a Frisbee that youā€™re just throwing, and youā€™re trying to throw it either into the slot, which is an instant win, or into the top of the deal, the trashcanā€¦ [laughs]

The canā€¦

The canā€¦ [laughter] I just forgot how to use wordsā€¦ Which is like three points or something, or hit the outsideā€¦ Anyway, thereā€™s a point system. On the other side, youā€™re trying to work with your teammate to help direct it to the can. So like if the person misses with a Frisbee - because itā€™s not very easy - you can like slap at the can to get points as well. Just one of these games that are so simple that you think ā€œWhy didnā€™t I think of that?ā€ and yet so brilliant that youā€™re like ā€œI want to play this all day long.ā€

And so Kan Jam - weā€™ll link up the main website, if you havenā€™t heard of it. Itā€™s cheapā€¦ Itā€™s actually easy to travel with, because the plastic cans just like unconnect, and they can lay flat, and then youā€™re basically just carrying a Frisbee with you. So itā€™s really portable. Take it to the beach, take it camping, what have you. Kan Jam, so fun. So exciting.

The sophisticated cornhole.

Yes. For people who prefer to throw at trash cansā€¦

Yeah. [laughter]

The sophisticated folks. So Kan Jam is my offline, and Iā€™m excited to play that here over the summer break. And then my online is lofi.co. Have you heard of this website, lofi.co?

I have not.

So if you are into LoFi music while youā€™re coding or while youā€™re writing or while youā€™re studying, or whatever youā€™re doing, thereā€™s always playlists on Spotify, and thereā€™s YouTube channels that are just like 12 hours of LoFi, right? Well, lofi.co is an in-browser experience where you can set up different circumstancesā€¦ So itā€™s like a cool coffee shop, and itā€™s all hand-drawn and kind of animated, or itā€™s like a street cornerā€¦ And you can play LoFi music, as well as like turn on rain, and traffic, and people typingā€¦ And just right there in a browser tab craft your own environment for productive work in the browser. You can also upgrade for like 20 more scenes, and sign up, and blah, blah, blahā€¦ I havenā€™t done any of that. I just load up lofi.co, hit Play, turn on the rain, and forget about it. Very exciting.

[48:25] I think potentially they can turn this into a money-making endeavor. Pretty cheap, itā€™s like three bucks a month, or $100 for lifetime access. It gets you like wallpapers, a Pomodoro timer, a notepadā€¦ Stuff that I donā€™t really care about, but like cool add-ons to support their work. And itā€™s just a really cool in-browser little web app that plays LoFi music for you.

Yeah, thatā€™s really cool. I have never really coded to LoFi musicā€¦

No? How about like rain sounds, and lightning, and stuff?

Yeah, occasionallyā€¦ Although, I donā€™t knowā€¦ Iā€™m very random with my music. Lately, it seems like Iā€™m ā€“

Iā€™m never out of a meeting long enough for me to turn on anything like thisā€¦

Thatā€™s kind of sad. I have a similar struggle where, you know, Iā€™m editing or producing podcasts so much that it requires me to actually be playing those sounds. So like Iā€™m playing our music, or Iā€™m listening to conversations and Iā€™m editing and stuffā€¦ And so thatā€™s like very workflow similar to coding, in that you zone and get into it, and youā€™re engrossed, only it completely requires your ears to be the entire timeā€¦ Whereas coding is kind of the opposite, right? You can disengage your ears if you want to. And so when I do have a coding session set up, Iā€™m like ā€œIā€™m ready for somethingā€ because I miss my music. I donā€™t get to listen to music as often anymore because Iā€™m so often producing a podcast that when it comes time to actually code, Iā€™m ready for something like this.

Yeah, I love it. It seems worth checking out just for the wallpapers alone, even if youā€™re not going to you use that. You said that you can get these as wallpapers?

Yep. If you sign up, you can download them as wallpapers. Whatā€™s cool about it is itā€™s completely ad-free. Itā€™s unlimited music streaming. So itā€™s not the kind of thing where they really hold you hostage right away. I found another cool one a while back called maybe brain.fm, or something. And thereā€™s a lot of studies that like this stuff actually does help you be productive and get in the zone. This kind of background noises, and music like thisā€¦

Yeah.

And so brain.fm I think was like one that gets you ā€“ but it was so much like always upselling you on buying the thingā€¦ And I like how this oneā€™s like ā€œHey, just chill, listen to itā€¦ā€ I mean, theyā€™re competing with ā€“ thereā€™s YouTube channels thatā€™s just this all day long. Itā€™s completely free. Maybe with ads. And then Spotify also free, but with ads, unless youā€™ve upgradedā€¦ This one is just like completely free, completely unlimitedā€¦ Come, come hang out, listen to our tunes, and then like ā€œHey, want some wallpapers?ā€

You know, occasionally I listen to other podcastsā€¦

How dare youā€¦?

I know. [laughs] But one thing I did learn from one of them was like somebody ā€“ I canā€™t remember exactly. Iā€™ll try and find the link for the show notes, but on the podcast she mentioned that she puts on like a four-hour video from YouTube that is just a guy working at his desk. And itā€™s just like if you were on a Zoom call.

They donā€™t talk. He doesnā€™t talk, she doesnā€™t talk to him, but when he gets up to take a break, she stretches, or takes a breakā€¦

So she takes a break when he takes a break?

Yeah, yeah. Itā€™s just like theā€“

Like theyā€™re co-workers.

You know, theyā€™re working from home, but feeling like youā€™re actually there.

Gotcha.

Youā€™re maybe working with ā€“ working alone, but with someone else, if that makes sense.

Yeah. What if you have to use the restroom and heā€™s not ready to get up yet? I mean, you just kind of ā€“ you donā€™t want to be rudeā€¦ Hold it?

Yeah. Thatā€™s the benefit, you can just pause.

Pause the video, yeah.

I wish I could do that in real meetings. [laughs]

Thatā€™s kind of interesting. A little weird, Iā€™m not gonna lie, a little bit weirdā€¦ But you know, whatever floats your boat, whatever gets you productive, I guess.

[52:01] Thatā€™s the thing though. I love that thereā€™s so many different ways to, likeā€¦

ā€¦fight the procrastination or the sense of feeling isolated or alone. Thereā€™s different ways to do that, and thereā€™s different ways to help you with your focus, whether thatā€™s brain.fm, whether thatā€™s LoFi, whether thatā€™s heavy metal video game music. I mentioned Doom beforeā€¦ Iā€™ve been listening to the Doom 2016 soundtrack, which is like ā€“ itā€™s okay. Thereā€™s a lot of cutscenes with like demons speaking, which is not super-great, butā€¦

That might ruin your flow. I canā€™t go really high BPM when Iā€™m thinking, because they tend to get me agitated, or too excited. I think I kind of need it a little bit more mellow.

Yeah, yeah.

And the demons - that I donā€™t like the demons while Iā€™m trying to think either.

Yeah, yeah. Iā€™ve mentioned it before, I know I have, but like my go-to soundtrack is the Westworld TV show soundtrack.

Oh, you have mentioned that, yeah.

Itā€™s like piano versions of popular songs.

Yeah, thatā€™s super-cool. Have you ever listened to the String Quartet?

Yesā€¦

Itā€™s the same thing, only itā€™s all strings. Theyā€™re always doing popular songs. Very cool. Plus, most of the good songs, you take the lyrics out and the songā€™s actually better. Thatā€™s just my thatā€™s my opinion.

Absolutely.

Very cool. Well, we will link up all the things. Kan Jam, LoFi, jqq, Svelte Documentary, other thingsā€¦ I canā€™t remember, weā€™ve talked about so much. And thatā€™s what weā€™re into right now. If you are excited about something thatā€™s an X, where X is literally anything, you can tell us about it. Weā€™d love to hear from you. Let us know in the comments. You can tweet at us as well at jsparty.fm. Nick is @nicknisi, Iā€™m @jerodsantoā€¦ And thatā€™s all Iā€™ve got. Nick, do you have anything else?

Thatā€™s it.

Alright, on behalf of Nick Nisi, Iā€™m Jared Santo, this is JS Party, and weā€™ll talk to you all next week.

Changelog

Our transcripts are open source on GitHub. Improvements are welcome. šŸ’š

Player art
  0:00 / 0:00