The Changelog: Software Development, Open Source - Display custom maps on your website for free (News)

Episode Date: September 30, 2024

OpenFreeMap puts OpenStreetMap data on your website for free, Fatih Arslan builds a Dieter Rams inspired iPhone dock, Joseph Gentle thinks the Rust programming language feels like a first-gen product ...& the web dev community is debating the viability of Web Components once again.

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, September 30th, 2024. So the WordPress mess, aka implosion, is almost too much for me to pick a single canonical link to summarize it. But I also don't want to do an entire episode about that one story. So what's a guide to do? I know, I'll punt it entirely to the bottom of the newsletter, but make up for it with a rock solid meme plus an unordered list of links to review. We're containing the WordPress mess to today's newsletter. Link in the show notes.
Starting point is 00:00:45 The audio version remains squeaky clean. Okay, let's get into the rest of the news. Display custom maps on your website for free. Open Free Map takes map data from OpenStreetMap and serves up the necessary tiles in various styles for anyone to render them on their website or app for $0. Kinda amazing. Quote,
Starting point is 00:01:11 Using our public instance is completely free. There are no limits on the number of map, views, or requests. There's no registration, no user database, no API keys, and no cookies. We aim to cover the running costs of our public instance through donations. End quote. That sounds almost too good to be true, and it probably is unless people step up with recurring donations.
Starting point is 00:01:38 However, the service's creator, Zolt Aero, has taken a few steps to make sure it's not prohibitively expensive. Quote, there is no tile server running, only Nginx serving a ButterFS image with 300 million hard-linked files. This was my idea. I haven't read about anyone else doing this in production, but it works really well. There is no cloud, just dedicated servers. How I designed a Dieter Rams-inspired iPhone dock. I am beyond impressed by what Fatih Arslan was able to create with nothing but some old Braun catalogs, a 3D printer, and some serious iteration. Quote, I'm still astonished by what you can do with CAD software and a 3D printer at home,
Starting point is 00:02:24 even though I'm a software engineer. End quote. There's not much to say about this project that's useful without the images, so you'll have to check the chapter image or newsletter to see for yourself. You can download the 3D model for free, but he also created a Gumroad page, so you can donate as well. Rewriting Rust. Joseph Gentle thinks the Rust programming language feels like a first-gen product. Kind of like the first iPhone. Tons of potential, but so much missing. Quote, I fell in love with Rust at the start. Algebraic types, memory safety without compromising on performance, a modern package manager, count me in.
Starting point is 00:03:10 But now that I've been programming in Rust for four years or so, it just feels like it's never quite there. End quote. Sometimes Joseph lies awake at night and fantasizes about forking the Rust compiler. Quote, I know how I do it. In my fork, I leave all the Rust stuff alone, but make my own Ceph edition of the Rust language. Then I could add all sorts of breaking features to that edition. So long as my compiler still compiles mainline Rust as well, I could keep using all the wonderful crates on cargo. End quote. In the
Starting point is 00:03:44 linked post, Joseph lays out what his fork would look like in extreme detail. The subheadings are function traits, compile time capabilities, pin, move, and struct borrows, comp time, and weird little fixes. Perhaps you're thinking what I was thinking. Why doesn't Joseph get involved and help move Rust in the direction that he wants? Well, perish that thought. Quote, A few years ago, I would have considered writing RFCs for all of these proposals,
Starting point is 00:04:12 but I like programming more than I like dying slowly in the endless pit of GitHub RFC comments. I don't want months of work to result in yet another idea in Rust's landfill of unrealized dreams. It's now time for Sponsored News. Take it away, Adam. What up, nerds? Hey, I'm here with a good friend of ours, Adam Jacob, co-founder and CEO of System Initiative. And I'm pretty excited to have him here because that means System Initiative is out there.
Starting point is 00:04:41 It's GA. Adam, I heard that you launched something. Yeah. Oh, I'm stoked. We did, yeah. We launched something on the 25th of September. And yeah, you can use System Initiative now by going to a website and signing up
Starting point is 00:04:53 and three clicks and you're in. And then you can automate infrastructure. It's sick. It's the coolest thing in the universe. I'm so proud of it. Well, let's level some folks up. Let's level up the Terraform folks, the Pulumi folks, the AWS CDK folks. As of system initiative being GA, these with the kind of DevOps and operational work that we do is because the tools we're using
Starting point is 00:05:30 bring about those tough outcomes. It's a lot harder to like write static code, have your friends review it. In system initiative, what you do is you use this like living architecture diagram to put together all the different relationships between the things that you use. And then you can program that architecture diagram to do all the stuff you need it to do. So like it automatically understands how to do things like, you know, create resources and delete them or update their tags or do those things. But then you can also extend it with your own custom policy. And the whole thing happens in real time in multiplayer. So you actually get to hang out with people again and build infrastructure and see what's happening and see it evolve over time. That's a pretty transformational change in how
Starting point is 00:06:08 people spend their day. And we think that's the biggest thing that's going to level people up is that suddenly they get to actually do it together again. Well, DevOps is now multiplayer. Thanks to this awesome work, Adam. Good luck to you on this launch. Okay, friends, go to systeminit.com to learn more. They have a free tier you can play with. No credit card required. Go there and check it out. Systeminit.com. That's S-Y-S-T-E-M-I-N-I-T.com. Web components are not the future. The web dev community is debating the viability of web components once again. There's been a lot of hand-wringing and hostility on the socials about this, but I think this post by Ryan Carniato and the following story, which is a
Starting point is 00:06:51 rebuttal by Corey Levisca, are both well-written and pretty well-reasoned stances. Okay, this particular sentence by Ryan is probably over the top. Quote, web components possibly pose the biggest risk to the future of the web that I can see, end quote. But here's Ryan's major point, quote, so the fundamental problem with web components is that they are built on custom elements. Elements not equal equal components. More specifically, elements are a subset of components. One could argue that every element could be a component, but not all components are elements. That means that every interface needs to go through the DOM, some in well-defined ways that aren't a perfect fit, and some in newly defined ways that augment or change how one would deal with elements
Starting point is 00:07:41 to accommodate extended functionality. End quote. Ryan believes that this fundamental design flaw, combined with the formalization and stagnation that comes from standardization, makes web components a cost not worth bearing. Corey disagrees. Web components are the present. Here's Corey Loviska.
Starting point is 00:08:03 It's disappointing that some of the most outspoken individuals against web components are framework maintainers. These individuals are, after all, in some of the best positions to provide valuable feedback. They have a lot of great ideas. End quote. I happen to think Ryan is providing feedback, just not the kind of feedback that Corey is referring to. Setting that aside, he directly answers Ryan's fundamental problems quote from before. Corey says, quote, To be fair, I've never really liked the term web components because it competes with the concept of framework components,
Starting point is 00:08:39 but that's what caught on and that's what most people are familiar with these days. End quote. Framework components is the answer to the not all components are elements issue. So your app might have some web components that map to the DOM, and it might have some other components that don't. Those are framework components. Makes sense to me. Corey goes on, quote,
Starting point is 00:09:00 As to why web components don't do all the things framework components do, that's because they're a lower level implementation of an interoperable element. They're not trying to do everything framework components do. That's what frameworks are for, end quote. Now, Corey goes on to theorize that framework authors are against the web platform because capitalism, which is probably over the top, but he finishes with this, quote, the web platform may not be perfect, but it continuously gets better. I don't think frameworks are bad, but as a community,
Starting point is 00:09:31 we need to recognize that a fundamental piece of the platform has changed, and it's time to embrace the interoperable component model that web component APIs have given us. That is the news for now, but we have some great episodes coming up this week. On Wednesday, Pablo and Lucas from Core.py talking Gil free Python in 3.13. And on Friday, Abhinoda from DX talks developer unhappiness with us.
Starting point is 00:10:00 Have a great week. Leave us a five star review if you dig our work and I'll talk to you again real soon.

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