In short
The Changelog: Software Development, Open Source
Episode Title
Display Custom Maps on Your Website for Free (News)
Episode Overview In this episode, the hosts discuss several key updates in the software development and open-source community, focusing on new tools and debates that may impact developers. The main topics include:
- OpenFreeMap: a service offering free access to OpenStreetMap data.
- Fatih Arslan's Dieter Rams-inspired iPhone dock.
- Joseph Gentle's thoughts on the Rust programming language.
- Ongoing debates in the web development community regarding the future of Web Components.
---
Key Discussions
OpenFreeMap
- What is OpenFreeMap?
- A service that allows users to display custom maps on their websites using OpenStreetMap data for free.
- Offers various styles for map rendering without limits on views or requests.
- Key Features:
- No registration or API keys required.
- Operates on a donation model to cover running costs.
- Utilizes a unique architecture with Nginx serving from a ButterFS image.
- Quote from Creator, Zolt Aero:
- "There is no tile server running, only Nginx serving a ButterFS image with 300 million hard-linked files."
---
Fatih Arslan's iPhone Dock
- Project Overview:
- Fatih Arslan creates a 3D-printed iPhone dock inspired by designer Dieter Rams.
- Uses old Braun catalogs and CAD software for design and prototyping.
- Quote from Fatih Arslan:
- "I’m still astonished by what you can do with CAD software and a 3D printer at home."
- Contribution:
- The 3D model is available for free download, with the option to donate via Gumroad.
---
Joseph Gentle on Rust
- Perspective on Rust Programming Language:
- Describes Rust as feeling like a "first-gen product" with significant potential but lacking completeness.
- Expresses frustration with the evolution of Rust after four years of experience.
- Quote from Joseph Gentle:
- "I fell in love with Rust at the start... but now it just feels like it’s never quite there."
- Idea for a Fork:
- Gentle fantasizes about creating a fork of Rust with additional features while maintaining compatibility with existing crates.
- Challenges of Contributing:
- Prefers programming over engaging in the lengthy GitHub RFC process.
---
The Debate on Web Components
- Current State of Web Components:
- The web development community is reevaluating the viability of web components, with mixed sentiments expressed.
- Arguments Against Web Components (Ryan Carniato):
- Claims the fundamental design flaw lies in the reliance on custom elements, suggesting a mismatch between elements and components.
- Asserts the cost of adopting web components may outweigh the benefits.
- Counterarguments (Corey LaVisca):
- Emphasizes that web components are crucial to the current ecosystem and that frameworks provide a solution to some of the inherent limitations of web components.
- Suggests that framework components exist alongside web components to enhance functionality.
- Quote from Corey LaVisca:
- "The web platform may not be perfect, but it continuously gets better."
---
Upcoming Episodes
- Wednesday: Pablo and Lucas from Core.py discussing Gil and FreePython 3.13.
- Friday: Abhinoda from DX on developer unhappiness.
---
Conclusion This episode highlights innovative projects and ongoing discussions in the software development community, emphasizing the balance between open-source initiatives and the challenges posed by evolving technologies. The hosts encourage listeners to engage with the tools discussed and contribute to the ongoing conversations in web development.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Transcript
Automatic transcript. May contain errors.0:28What up nerds? 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. 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 Open Street Map and serves up the necessary tiles in various styles for anyone to render them on their website or app for$0. Kinda amazing. Quote, Using our public instance is completely free.
1:14There 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. 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.
2:00There 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 brawn 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. Even though I'm a software engineer, it allows me to experiment with other arts and skills in my spare time. 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.
2:40You 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. 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.
3:24Quote, 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 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?
4:04Well, perish that thought. Quote, A few years ago, I would have considered writing RFCs for all of these proposals. 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. 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, is GA. Adam, I heard that you launched something.
4:44Yeah, 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 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 folks are kind of doing things the old way, right? Yeah, I mean, that's what I hope is true. Okay. I think, look, here's what it is. We figured out part of the reason that it's so hard for us to achieve the outcomes we're looking to achieve with the kind of DevOps and operational work that we do is because the tools we're using bring about those tough outcomes.
5:31It'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 needed 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.
6:06That's a pretty transformational change in how 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.
6:42There'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 rebuttal by Corey LaVisca, are both well-written and pretty well-reasoned stances. Okay, this particular sentence by Ryan is probably over the top. Quote,
7:07But 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 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.
7:57Corey disagrees. Web components are the present. Here's Corey LaVisca. 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, but that's what caught on and that's what most people are familiar with these days.
8:44End 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, 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.
9:24Quote, the web platform may not be perfect, but it continuously gets better. I don't think frameworks are bad, but as a community, 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, FreePython in 3.13. And on Friday, Abhinoda from DX talks developer unhappiness with us. Have a great week. Leave us a five-star review if you dig our work. And I'll talk to you again real soon.
From the publisher
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.

