JavaScript github.com

What if React's API and Svelte's compiler had a baby

Million makes creating user interfaces as easy as React, but with faster performance and smaller bundle size for the end user. By computing the user interface beforehand with a compiler, Million reduces the overhead of traditional Virtual DOM.

Okay cool… but why should I use Million if I can just use Preact if I need something a bit more lightweight?

While alternative libraries like Preact reduce bundle sizes by efficient code design, Million takes it a step further by leveraging compilation to make a quantum leap in improving bundle size and render speed.

Watch the video or get started with the docs.

Go Time Go Time #240

What's new in Go 1.19

Go 1.18 was a major release where we saw the introduction of generics into the language as well as other notables such as fuzzing and workspaces. With Go 1.19 slated to come out next month, one has to wonder what’s next. Are we in store to be blown away by new and major features like we saw in 1.18? Not exactly but there are still lots of improvements to be on the lookout for.

Joining Mat & Johnny to touch on some of the most interesting ones is Carl Johnson, himself a contributor to the 1.19 release.

Sourcegraph Icon Sourcegraph – Sponsored

“Shift left”—wtf does it mean?

logged by @logbot permalink

Everyone’s telling us to “shift left” these days. This raises some questions. What’s being shifted? Who’s doing the shifting? How far left should we be shifting it?

To be honest, we’re not quite sure ourselves. It can be quite befuddling trying to sift through the reams of “shift left” content, trying to separate the ad copy from the nuggets of truth. But what we do know is…

The Changelog The Changelog #499

Long live RSS!

This week we’re joined again by Ben Ubois and we’re talking about RSS. Yes, RSS…the tech that never seems to die and yet so many of us rely on it daily. Ben is the creator of Feedbin, which is self-described as “a nice place to read on the web.” Ben is also the maker of a new app on iOS for people who like podcasts. It’s called Airshow and you can download it at airshow.fm. Ben catches us up on the state of Feedbin, we discuss the nine lives of RSS and its foundational utility for the indie web, the possibilities and short-comings of RSS, we get deep in the weeds on the Podcast 2.0 spec and the work being done on <podcast:chapters>, and Ben also shares the details on his new app called Airshow.

TypeScript github.com

A compiled-away, type-safe, readable RegExp alternative

This isn’t the first attempt at making regular expressions more approachable, but it’s the first one I’ve seen that also brings type safety to the table. Example code:

import { createRegExp, exactly, oneOrMore, digit } from 'magic-regexp'

// Quick-and-dirty semver
createRegExp(
  oneOrMore(digit)
    .as('major')
    .and('.')
    .and(oneOrMore(digit).as('minor'))
    .and(exactly('.').and(oneOrMore(char).as('patch')).optionally())
)
// /(?<major>(\d)+)\.(?<minor>(\d)+)(\.(?<patch>(.)+))?/

Knock Icon Knock – Sponsored

How we onboard engineers at a devtools startup

logged by @logbot permalink

Chris Bell on how Knock onboards engineers:

Onboarding engineers to a devtools company sounds like a no-brainer. After all, when developers are your customer, great engineering hires join the team with an inherent empathy for the customer and the tools they use everyday. But to build a truly great developer tool you need to go beyond the default empathy that new engineers have for developers at large. You need to use the tool itself, exactly as a customer would. That’s the only way to understand it completely and to find ways to improve it.

We designed our onboarding experience with this principle in mind. Every new engineering hire builds an onboarding project that integrates Knock into a sample application, exactly as a new customer would.

JavaScript partytown.builder.io

Partytown runs 3rd-party scripts from a web worker

Partytown is a lazy-loaded library to help relocate resource intensive scripts into a web worker, and off of the main thread. Its goal is to help speed up sites by dedicating the main thread to your code, and offloading third-party scripts to a web worker.

Even with a fast and highly tuned website following all of today’s best practices, it’s all too common for your performance wins to be erased the moment third-party scripts are added. By third-party scripts we mean code that is embedded within your site, but not directly under your control. A few examples include: analytics, metrics, ads, A/B testing, trackers, etc.

I learned of this library during our fascinating discussion with Miško Hevery on (next week’s) JS Party.

Linux diziet.dreamwidth.org

Upgrading from Debian Jessie i386 to Bullseye amd64 after ~30 years

chiark is my “colo” - a server I run, which lives in a data centre in London. It hosts ~200 users with shell accounts, various websites and mailing lists, moderators for a number of USENET newsgroups, and countless other services…

chiark’s last major OS upgrade was to jessie (Debian 8, released in April 2015). That was in 2016.

A harrowing tale of planning and peril. Surprisingly, it went quite well!

Ship It! Ship It! #63

KubeVelo 2022

We know that many of you listen to this podcast while running 🏃‍♀️ or cycling 🚴‍♂️ Hey Dan!

How many of you cycled to a conference? Gerhard knows a single person that cycled 764 miles for 8 days straight from Switzerland to Spain for this year’s KubeCon EU. His name is Johann Gyger, a CNCF ambassador & a cloud consultant at Peak Scale. Johann is a cloud engineer at heart that is all in on sustainability. He is the main reason why Gerhard is super excited to talk about electric cars & Dagger at the Swiss Cloud Native Day this September.

Shekhar Gulati shekhargulati.com

My notes on GitLab’s Postgres schema design

Reading other people’s code is a sure-fire way to improve as a developer. But what about as a database designer? The same process applies!

This post by Shekhar Gulati is him sharing what he learned by applying that principle to GitLab’s schema.

I learnt a lot from the GitLab schema. They don’t blindly apply the same practices to all the table designs. Each table makes the best decision based on its purpose, the kind of data it stores, and its rate of growth.

More posts like this, please!

Sean Moriarity dockyard.com

Elixir versus Python for data science

Sean Moriarity:

A common argument against using Nx for a new machine learning project is its perceived lack of a library/support for some common task that is available in Python. In this post, I’ll do my best to highlight areas where this is not the case, and compare and contrast Elixir projects with their Python equivalents. Additionally, I’ll discuss areas where the Elixir ecosystem still comes up short, and using Nx for a new project might not be the best idea.

Sean is a prominent member of the Elixir community, so that’s the perspective on display here, but it’s a thorough and well-reasoned comparison. He concludes:

While there are still many gaps in the Elixir ecosystem, the progress over the last year has been rapid. Almost every library I’ve mentioned in this post is less than two years old, and I suspect there will be many more projects to fill some of the gaps I’ve mentioned in the coming months.

Ben Johnson github.com

A distributed SQLite replication system

Ben Johnson is at it again.

LiteFS is a FUSE-based file system for replicating SQLite databases across a cluster of machines. It works as a passthrough file system that intercepts writes to SQLite databases in order to detect transaction boundaries and record changes on a per-transction level in LTX files.

I believe Ben was alluding to this (then unreleased) tool on his recent Ship It! appearance

Practical AI Practical AI #186

The geopolitics of artificial intelligence

In this Fully-Connected episode, Chris and Daniel explore the geopolitics, economics, and power-brokering of artificial intelligence. What does control of AI mean for nations, corporations, and universities? What does control or access to AI mean for conflict and autonomy? The world is changing rapidly, and the rate of change is accelerating. Daniel and Chris look behind the curtain in the halls of power.

Command line interface lifehacker.com

I raised my kids on the command line... and they love it

John Goerzen built a computer for his 3yo, installed Debian on it, and set up a GUI for it.

The looks of shock I get from people when I explain, as if it’s perfectly natural, that my child has been able to log in by himself to a Linux shell since age 3, are amusing and astounding. Especially considering that it is really not that hard.

It’s not that hard, but it is so foreign to people that they’re quickly impressed by such things. Still, John decided to introduce his kids to a GUI eventually:

Jacob mastered the basics of xmonad really quickly. Alt-Shift-C to close a window. Alt-Shift-Q to quit back to the “big black screen”. Alt-Shift-Enter to get a terminal window.

We launched thunar (the XFCE file manager) and plugged in his camera. He had a good deal of fun looking at photos and videos from it. But then I dropped the true highlight of the day for him: I offered to install Tuxpaint for him. That’s probably his favorite program of all time.

Tux Paint!

0:00 / 0:00