The Changelog: Software Development, Open Source - Load testing a $4 VPS, TOML for .env files, counting unique visitors sans cookies, the Arc browser & a love letter to Deno (News)

Episode Date: February 13, 2023

Alice Girard Guittard finds out how much she could you really get out of a $4 VPS, Brett Cannon wonders if using TOML for .env files is a good idea, Nic Mulvaney details how they count unique visitors... to a website without using cookies, UIDS, or fingerprinting, after a few months, Chris Coyier is still using the Arc browser & Alex Kladov pens a love letter to Deno.

Transcript
Discussion (0)
Starting point is 00:00:00 What up nerds, I'm Jared and this is Changelog News for the week of Monday, February 13th, 2023. My favorite nerdy artifact from last night's Super Bowl was Twitter user Paddymo taking a picture of Rihanna floating above the field on her platform and overlaying Bowser, Kirby, and Captain Falcon from Smash Bros. on it. The tweet's text was in all caps, Rihanna, look out! But I digress, let's get into the news.
Starting point is 00:00:38 How much can you really get out of a $4 VPS? That is what AliceGG was wondering when she decided to perform her own load test to figure out if the promise of running your own production app on such a low budget is realistic. So, she coded up a simple CRUD app in Go, hooked
Starting point is 00:00:57 it up to MongoDB because relational databases weren't built for web scale. MongoDB handles web scale. You turn it on and it scales right up. And deployed it all to a $4 VPS of an unnamed provider using Docker with Docker Compose. She then used K6, an open source load testing suite that generates virtual users who continuously run test scenarios defined in JavaScript to see what the machine was capable of. I'll leave out the gory details. You can read them if you'd like,
Starting point is 00:01:35 but her final conclusion is this, quote, as long as you don't plan on building the next Twitter, a very cheap VPS might be fine for the start of a project, end quote. She goes on to say your mileage may vary. Do your own research and hooks you up with the source code to her app, the K6 scenarios and analysis script. Brett Cannon asked an interesting question on his blog the other day. Should we use Tommel for.env files? He's specifically asking in the context of the Python extension for VS Code, which Brett helps to maintain, but it might be a good thing to consider across the broader developer ecosystem. If you aren't familiar with.env files, they are a very common way of defining configuration settings outside of your app code so you can keep them out of the
Starting point is 00:02:25 source control and easily load them as environment variables at runtime. But they do have their problems. The two that Brett lists are that.env files don't have a standard and they aren't cross-platform. His proposed solution to this? Use TOML, which is a widely supported config file format for humans, as the format for.env files. Brett wants to know what you think. Is this a good idea or a bad idea? Do people like the idea of, for example,.env.toml, or just a.env with an assumption of toml syntax? Is this worth trying to get various tools to support? What do you think? You can message Brett on Mastodon at brettcannon at fastodon.org or hit him up in our Slack community where he often hangs out. That's
Starting point is 00:03:19 changelog.com slash community. Nick Mulvaney and his team at normally.com developed and wrote about a super cool hack. So here's the deal. The chosen contest. Count unique visitors to a website without using cookies, UIDs, or fingerprinting. The duel will last until we declare a winner. Use only the dial-ups, access codes,
Starting point is 00:03:47 and passwords in your collection. Can't ask for any help from us. Privacy is why they're doing this, and how they're doing it is the following. Quote, when the browser pings our server from a website for the first time, we send back a response with a header set to cache control, no cache,
Starting point is 00:04:04 telling the browser to store the request in its cache, but revalidate it with the origin server before each use. But most importantly, we send a header which is a date set to the beginning of each day. From now on, every time this request is made again, the server receives the date and adjusts it by one second and returns it to the browser. This way, the server can calculate the distance in seconds since midnight to give us a visitor count. If that sounds confusing to you, check out the blog post, which has a nice image of the process. I'll also embed it in the chapter data, so take a look there if your podcast app is cool like that.
Starting point is 00:04:41 Cool like that. I'm cool like that. I'm cool like that. I'm cool like that. I'm cool like that. I'm cool like that. I'm cool like that. Chris Coyier says after a few months, he's still using the ARC browser. I wish I knew how to quit you. Here's Chris's take on it. Quote, it's Chrome under the hood. So any extension will work. It has the exact same platform features. It has the same dev tools, etc. But the UI and UX are pretty different. That could put it at risk for a switchback, but so far I find nearly every choice Arc makes an improvement, end quote. Things that Arc does that Chris likes include syncing tabs between computers,
Starting point is 00:05:26 providing easily editable user style sheets, building in a split view, which he says is great for writing, moving tabs to the side, which he's convinced is the future, and a whole lot more. That's a lot of praise from a web dev whose opinion is highly refined after decades of doing this stuff. Unfortunately for many of us, Arc is Mac only for now, and you can't just go and download it. Instead, you pop your email into a type form and wait.
Starting point is 00:05:59 You don't have an appointment, do you? Well, we didn't know how to make one. Appointment for what? What do you want? We need some help. You'll have to wait if you don't have an appointment, do you? Well, we didn't know how to make one. Appointment for what? What do you want? We need some help. You'll have to wait if you don't have an appointment. Number 54, 601, Ferndog? Last up for today, Alex Kladoff is loving Dino
Starting point is 00:06:20 and wrote up all the reasons why on his blog. It's a long post covering many aspects of Dino that he appreciates, but here's Alex's main point. Quote, historically, the domain of scripting and glue code was plagued by the problem of accidentally super gluing oneself to a particular Unix flavor at hand. Dino finally seems like a technology that tries to solve this issue of implicit dependencies by not having said dependencies. End quote. Deno is a fascinating project and one I've used just briefly, but want to sink more time into when I get the opportunity.
Starting point is 00:06:55 If you missed my recent interview with Ryan Dahl on JS Party, you really should take a listen. We covered a lot of ground. Here's one moment from it. With Deno being like your big restart, right? Your opportunity to rearrange the letters and have a clean break from Node and some of the mistakes that you made with Node.
Starting point is 00:07:14 Did you have like a push and pull in your heart as like Ryan, the CEO of Deno versus Ryan, the lead dev of the Deno project? Like we're kind of going back and bringing some of the legacy with us, whereas you had this fresh break prior. Was that a tough decision to wrestle with? Or was it a no brainer? The reason I even work in JavaScript in the first place is because it's the default programming language in a very real sense. And this is where the vast number of programmers are. And, you know, I'm not making Deno
Starting point is 00:07:46 for a small subset of enthusiasts. You know, this is software meant to be used by millions of developers, just like Node. And so we're trying to push JavaScript forward. You know, we're trying to introduce TypeScript. We're trying to get people to use ECMAScript modules. We're trying to get people to use Async Await instead of callbacks.
Starting point is 00:08:06 You know, there's all these pressures that we're introducing to kind of push people forward. But at the end of the day, I mean, this is software for people and needs to solve their problems. And I think we found a good way to do this with this kind of portal where we're not really compromising on our principles here. We're just introducing kind of a way to reach into the NPM ecosystem. That is the news for now. If you were looking forward to our Nathan Sobo interview last week, sorry about that. It got rescheduled last minute, but it sounds like our Get With Your
Starting point is 00:08:39 Friends episode with Matt Reier was a hit. So that's cool. We have some amazing guests coming down the pipeline. Rachel Potvin this Friday, followed by Evan Prodramu, talking Activity Pub in Macedon, Bridget Murtaugh on dev containers, Nathan Sobo, of course, Sarah Drasner, Cory Doctorow,
Starting point is 00:08:57 and a whole bunch more. So if this is your first time listening, subscribe, why don't you, at changelog.fm. I'll leave you with this amazing quote from the one and only Grace Hopper. The most damaging phrase in the language is, it's always been done this way. Have a great week, and we'll talk to you again next time.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.