The Changelog The Changelog #381  – Pinned

The dawn of sponsorware

Caleb Porzio is the creator & maintainer of Livewire, AlpineJS, and more. His latest open source endeavor was announced as “sponsorware”, which means it lived in a private repo (only available to Caleb’s GitHub Sponsors) until he hit a set sponsorship threshold, at which point it was open sourced.

On this episode, we talk through this sponsorware experiment in-depth. We learn how he dreamt it up, how it went (spoiler: very well), and how he had to change his mindset on 2 things in order to make sustainability possible.

Jobs jarednelsen.dev

The horrifically dystopian world of software engineering interviews

Jared Nelsen tells a story that we’re all too familiar with. Nothing new there, but the analysis and concluding thoughts are worth sticking around for. My favorite:

There is a fundamental mismatch between the public square’s claim that companies are absolutely desperate to hire software engineers and the brutal reality of being a software engineering candidate. These do-or-die high pressure coding challenges seem like more of a hazing mechanism rather than a valuable evaluation tool. Using them is like hiring a police officer by shooting at him before you ask him what he knows about the law.

Six Colors Icon Six Colors

Safari will reject long-lived HTTPS certificates starting September 1

Dan Moren writing for Six Colors:

News out of last week’s meeting of the CA/Browser Forum is that Apple has announced Safari will no longer accept HTTPS certificates older than about 13 months, as of September 1.

The rationale? Shorter certificate lifetimes are safer, for a variety of reasons. For one thing, it prevents a valid (and perhaps abandoned) certificate from being stolen or misappropriated by a bad actor, then used to trick consumers. While there is a process for revoking known bad certificates, it’s cumbersome and many browsers don’t even check the revocation lists.

This may be annoying to many of us in the short-term (our certificate here at changelog.com is a few years old), but it’s a good thing for the security of the web. Suddenly, Let’s Encrypt’s 90 day expirations look both prudent and prescient.

Heroku Icon Heroku – Sponsored

🎧 Best practices in error handling

What’s your level of understanding around proper error handling? Listen to this episode from Heroku’s Code[ish] podcast featuring Julián Duque and Ruben Bridgewater for a deep dive into error handling best practices. Errors are a fundamental part of the programming experience. Learning how to receive and react to them, as well as responding to the user who may have encountered one, is essential to building a great application experience. Ruben Bridgewater, a core member of the Node.js team, talks us through various error handling strategies, both those that are specific to JavaScript as well as those applicable to anyone building a production-grade service.

read more

logged by @logbot permalink

Practical AI Practical AI #78

NLP for the world's 7000+ languages

Expanding AI technology to the local languages of emerging markets presents huge challenges. Good data is scarce or non-existent. Users often have bandwidth or connectivity issues. Existing platforms target only a small number of high-resource languages.

Our own Daniel Whitenack (data scientist at SIL International) and Dan Jeffries (from Pachyderm) discuss how these and related problems will only be solved when AI technology and resources from industry are combined with linguistic expertise from those on the ground working with local language communities. They have illustrated this approach as they work on pushing voice technology into emerging markets.

Linode Icon Linode – Sponsored

Linode Kubernetes Engine is here!

Linode Kubernetes Engine (LKE) is a fully-managed container orchestration engine for deploying and managing containerized applications and workloads. LKE combines Linode’s ease of use and simple pricing with the infrastructure efficiency of Kubernetes. You can now get your infrastructure and workloads up and running in minutes instead of days. If you’ve been following along with the Changelog infrastructure, you’ll be pleased to know we’re rolling out LKE as we speak. We love what we’ve seen so far! Oh and be sure to use the code changelog2019 or changelog2020 (whichever works) to get our special pricing.

read more

logged by @logbot permalink

Jonathan Carter github.com

GistPad for VS Code 📘

GistPad is a Visual Studio Code extension that allows you to manage GitHub Gists entirely within the editor. You can open, create, delete, fork, star and clone gists, and then seamlessly begin editing files as if they were local.

The big idea here is to use gists to seamlessly create your “very own developer library”. The interactive playgrounds is pretty cool, too.

GistPad for VS Code 📘

JS Party JS Party #115

All the stale things

Divya leads a deep discussion with Jerod, KBall, and Nick on what’s stagnating in browsers. What has remained the same in browser tech over the last 20 years that remains a pain point in working with browsers? For example - Focus in browsers hasn’t changed much in 20 years. Why is that and how do we go about making all the stale things in browser tech better?

Go Time Go Time #118

Quack like a wha-?

Interfaces are everywhere in Go. The basic error type is an interface, writing with the fmt package means you are probably using an interface, and there are countless other instances where they pop up. In this episode Mark, Mat, Johnny, and Jon discuss interfaces at length, exploring what they are, how they are using them in their own projects, as well as tips for how you can leverage them in your own code.

CockroachDB openmymind.net

Migrating from Postgres to CockroachDB

This is a nice lessons learned post from one engineering team making a database switch.

Overall, I’m happy with how the effort turned out and with CockroachDB in general. Because it uses PostgreSQL’s wire protocol, existing PostgreSQL drivers should work as-is. But we did run into some challenges that are worth pointing out. Here’s a list of things you might want to consider…

I like the update at the end, which emphasizes the important of tests for making a switch of this magnitude:

The system that was migrated has solid tests and good coverage. While a lot of the differences we ran into are obvious (like lack of range types and triggers), others were more subtle (especially the odd on conflict behavior). Test coverage made a pretty significant impact in the speed of the migration and our confidence in pushing live.

Brain Science Brain Science #11

Competing for attention

Mireille and Adam discuss the mechanism of attention as an allocation of one’s resources. If we can think of attention as that of a lens, we can practice choosing what we give our attention to recognizing that multiple things, both externally and internally, routinely compete for our attention. Distraction can also be useful when we utilize it intentionally to manage the focus of our attention.

JavaScript github.com

An extremely fast JavaScript bundler and minifier

Why build another JavaScript build tool? The current build tools for the web are at least an order of magnitude slower than they should be. I’m hoping that this project serves as an “existence proof” that our JavaScript tooling can be much, much faster.

According to the author, esbuild is fast because..

  1. it’s written in Go
  2. much of the work is done in parallel
  3. it takes very few passes and avoids data transformations
  4. it was coded with performance in mind
An extremely fast JavaScript bundler and minifier

Erik Kennedy learnui.design

iOS 13 design guidelines, templates, and downloads

Erik Kennedy is back with an awesome resource for anyone doing iOS development.

Maybe you’ve never designed an iPhone app, and have no idea where to begin.

Maybe you’ve designed a dozen, but still want one place to reference best practices. Heaven knows Apple’s Human Interface Guidelines are awful to try and read.

Either way, this is the guide for you. I cover basically everything you need to know to create an iOS app that follows standard iOS 13 conventions.

Practices codeahoy.com

Tech debt developer survey results

Umer Mansoor’s Technical Debt is Soul-crushing made the rounds last month and he followed up by adding a survey.

117 software developers from all over the world took the survey. The majority were from the USA, followed by Canada, Australia, Germany, India, Russia , UK and other European countries.

Not a huge sample size, by any means, but the results are interesting and worth scrolling through. This pairs nicely with our episode on good tech debt.

Podcasts from Changelog

Weekly shows about developer culture, software development, open source, building startups, artificial intelligence, and the people involved.

0:00 / 0:00