Flatpak is not the future of desktop Linux apps

A fascinating look at the state of packaging apps for the Linux desktop:

The stability of the Linux desktop has dramatically improved in recent years. Core library developers are finally seeing the benefits of maintaining compatibility. Despite this, many developers are not interested in depending on a stable base of libraries for binary software. Instead, they have decided to ignore and override almost all libraries pre-installed on the user’s system.

And why the author thinks Flatpak (which some believe is the future) is not the way to go.

I am not a fan. I’m going to outline here some of the technical, security and usability problems with Flatpak and others. I’ll try to avoid addressing “fixable” problems (like theming) and instead focus on fundamental problems inherent in their design. I aim to convince you that these are not the future of desktop Linux apps.

Josh Comeau

A modern CSS reset

Josh Comeau:

Recently, I’ve been using my own custom CSS reset. It includes all of the little tricks I’ve discovered to improve both the user experience and the CSS authoring experience.

Like other CSS resets, it’s unopinionated when it comes to design / cosmetics. You can use this reset for any project, no matter the aesthetic you’re going for.

In this tutorial, we’ll go on a tour of my custom CSS reset. We’ll dig into each rule, and you’ll learn what it does and why you might want to use it!

It has 9 rules and unlike previous resets, the goal is not to create a ‘blank slate’ that is uniform across browsers. Josh walks/talks you through each rule and why they made the cut.


Remix is now open source

The much-anticipated (and admittedly much-hyped) full stack web framework for React has opened its source (MIT license) to the public. What’s interesting about Remix? Here’s some marketing copy from the homepage:

Remix is a seamless server and browser runtime that provides snappy page loads and instant transitions by leveraging distributed systems and native browser features instead of clunky static builds. Built on the Web Fetch API (instead of Node) it can run anywhere. It already runs natively on Cloudflare Workers, and of course supports serverless and traditional Node.js environments, so you can come as you are.

Okay that is pretty sales-y (hit up the homepage for more like that), so you might prefer jumping straight over to the docs instead and check out the example Jokes app to see what’s what.


An open source alternative to Cloudflare Workers

Blueboat aims to be a developer-friendly, multi-tenant platform for serverless web applications. A monolithic approach is followed: we try to implement features of commonly used libraries (in the web application context) natively in Rust to replace native Node addons, improve performance and reduce duplicated code. Blueboat’s architecture ensures the security of the platform, prevents code duplication and keeps the overhead low.


Modern websites, JavaScript optional (Django + HTMX + Alpine)

Building a modern front end in Django without reaching for a full-blown JavaScript framework. Choosing the right tools for the job, and bringing them into your project.

This is as close to a tutorial as you’ll see on Changelog News. I’m linking to it not for the step-by-step bits like talking to your “Django backend without a full-page reload”, but for the decision making bits like “when you might choose low-JavaScript.”

James Sinclair

How not to write property tests in JavaScript

Property-based tests give us more confidence in our code. They’re great at catching edge-cases we may not have thought of otherwise. But this confidence comes at a cost. Property tests take more effort to write. They force you to think hard about what the code is doing, and what its expected behaviour should be. It’s hard work. And on top of that, running 100+ tests is always going to take longer than running 3–5 example-based tests. This cost is real, and it raises the question:

How do we keep ourselves from over-specifying or writing unnecessary tests?

Square Icon Square – Sponsored

Square's "Build What’s POS-sible" hackathon

logged by @logbot permalink

Square’s latest hackathon — Build What’s POS-sible — is now live! While Square is well known for its payments and point-of-sale solutions, there’s so much more. Today, they have APIs that span across every aspect of a business, including customer solutions such as Customers, Invoices, Labor, Loyalty, Team Management, and Gift Cards.

Build your app using at least one of the customer point-of-sale APIs between October 5, 9:00 a.m. Pacific Time to November 22, 1:59 p.m. Pacific Time. Submit before their deadline!

With the Build What’s POS-sible hackathon, developers can utilize one or more of our customer point-of-sale APIs to build useful tools that help sellers scale and grow their business. Plus, you’re also free to use a wide array of the APIs available within the Square developer platform to build more robust apps and integrations–as long as you’re building with at least one of our customer point-of-sale APIs to be eligible for the hackathon. Build what’s possible for a chance to claim your part of $100k in prizes–including a $20k grand prize.

Mention @squaredev and let them know what you’re working on using the hashtag #BuildWhatsPOSsible. Good luck!

Eric Bailey

Your CSS is an interface

Eric Bailey’s take on CSS is certainly counter to the direction most are headed:

Human-friendly CSS is an interface that prioritizes people. It allows someone using your website or web app to easily make modifications to get what they need. This is huge because we can’t know who the person is, or what circumstances they’re experiencing.

Humans reading/modifying your CSS may seem like an edge case, but it’s more common than you think:

Stylus on the Chrome Web Store has more than half a million users. Stylish has over three million. That’s a lot of people modifying the web to get what they want.

He goes on to point out that even if it weren’t that many people, it’s still worth considering for other reasons. Lots to ponder.


elfshaker is version control fine-tuned for binaries

elfshaker is a CLI tool written in the Rust programming language. It stores snapshots of directories into highly-compressed pack files and provides fast on-demand access to the stored files. It is particularly good for storing lots of similar files, for example object files from an incremental build.

They’ve had phenomenal results when using this with clang builds.

Bozhidar Batsov

Firefox is the only browser alternative

Bozhidar Batsov on the sad state of Chrome’s web rendering hegemony:

We’ve gotten to the point that Chrome-based browsers are so common that developers just stopped to bother supporting other browsers… Soon Google are going to be in complete control of web standards, unless something drastically changes. Do you want the future of browsing to lie solely in the hands of the biggest advertising business on Earth? I’m pretty sure that I don’t.

0:00 / 0:00