Marko Živanović markozivanovic.com

Screw it, I'll host it myself

Marko Zivanovic has had enough of letting other people own his data:

Owning your data is more than just having backup copies of your digital information. It’s also about control and privacy. It’s about trust. I don’t know about you, but I don’t trust a lot of services with my data (the ones I do are few and far between).

How does he replace all those hosted services?

I created a simple diagram to roughly show how my personal setup works. Before you say anything – I’m aware that there’s a group of people that wouldn’t consider my self-hosting as pure self-hosting. I’m using Vultr to host my web-facing applications and not a server in my house. Unfortunately, the current situation doesn’t allow me to do that (yet).

This all looks like a lot of work to pull off, but maybe it’s worth it?

Screw it, I'll host it myself

Practices ericlathrop.com

Idempotence now prevents pain later

Idempotence is the property of a software that when run 1 or more times, it only has the effect of being run once. I’ll describe a process I’m making at work, and describe the problems that idempotence will help avoid.

This is a nice, simple example (charging dormant customers a monthly fee) of how a slight change to the way you tackle a feature can make it idempotent, which is most definitely something you want your software routines to be.

Coronavirus github.com

A bot to notify you when vaccine appointments are available

Supports checking Hy-Vee, Cosentino’s stores (KC), Ball’s stores (KC), Rapid Test KC, and locations checked by VaccineSpotter (including Walmart, Walgreens, CVS, Costco).

Supports sending notifications to Slack, Discord, Microsoft Teams, Twilio, and Twitter.

Notifications are sent when a location has appointments. No more notifications are sent for that location until it becomes unavailable again.

O'Reilly Media Icon O'Reilly Media – Sponsored

The Manager's Path (free book chapter)

logged by @logbot permalink

Get Chapter 3 from The Manager’s Path free. If you’re a tech lead—or are responsible for promoting someone to fill that role—this chapter’s for you. It dives into what a tech lead does, how the job should be structured, how to manage projects, and most importantly, what makes a tech lead successful.

Oh, and that weird trick we mentioned? It’s on page 4 of this free download.

Productivity github.com

Calendso – an open source Calendly alternative

Let’s face it: Calendly and other scheduling tools are awesome. It made our lives massively easier. We’re using it for business meetings, seminars, yoga classes and even calls with our families. However, most tools are very limited in terms of control and customisations. That’s where Calendso comes in. Self-hosted or hosted by us. White-label by design. API-driven and ready to be deployed on your own domain. Full control of your events and data. Calendso is to Calendly what GitLab is to GitHub.

We’ve been happy Calendly users for years, but I do like the idea of white-labeling and hosting on our own domain. Calendso is built with Next, React, Tailwind, & Prisma.

Calendso – an open source Calendly alternative

Go github.com

A Go backend framework for rapidly creating APIs and distributed systems

Encore uses static analysis and code generation to reduce the boilerplate you have to write, resulting in an extremely productive developer experience.

The list of superpowers is impressive, to say the least. I know gophers tend to be skittish when they’re approached by a framework, though, so I’d love to hear more about this project on Go Time

Retool Icon Retool – Sponsored

Running a safe database migration using Postgres

logged by @logbot permalink

From Peter Johnston on the Retool blog:

A few weeks ago, I unintentionally took Retool down for 2 minutes when an out-of-control database migration tried to rewrite a mission critical data table. As my teammate and I cleaned up the mess—caused by incorrectly using transactions in the migration—I reflected on my last few years working with Postgres (officially PostgreSQL) and the different lessons I’ve learned when it comes to writing a safe database migration.

Database migrations aren’t easy; a migration that runs totally fine on your laptop may cause problems in production due to increased data and traffic volumes. And every time your app goes down, so does customer trust and revenue.

Over the last 3 years, our team at Retool has navigated a few pitfalls and fixed major issues related to migrations in Postgres. This post will highlight key lessons learned and what you can do to avoid making the same mistakes.

Try Retool’s FREE tier ~> retool.com/changelog

Tooling tinytools.directory

A collection of open source, experimental, tiny tools

700+ hand-selected tools across a range of categories such as writing, productivity, pixel art, and more. The headline link goes to the web interface, but you can also get at in rendered Markdown on the GitHub Repo.

Although I’ve mostly also included ‘standards’, this list has a focus on artful tools & toys that are as fun to use as they are functional.

The goal of this list is to enable making entirely outside of closed production ecosystems or walled software gardens.

Go Time Go Time #175

The ultimate guide to crafting your GopherCon proposal

The Call for Proposals for GopherCon 2021 is open from Monday, April 5th to Sunday, April 25th. Kris Brandow, an experienced GopherCon speaker, has published a series of guides to assist Gophers as they craft their proposals and think about submitting.

In this episode Kris reads through his guide, discussing the four parts with a GopherCon newbie, Angelica Hill, who spoke for the first time at GopherCon last year, and is a first time CFP reviewer this year.

Learn a16z.com

The NFT Canon

The NFT Canon is a go-to resource for artists and creators, developers, corporations and institutions, communities and other organizations seeking to understand or do more with non-fungible tokens.

It’s a curated list of readings and resources on all things NFTs (inspired by the a16z Crypto Canon), and is organized from the big picture of what NFTs are and why they matter, to how to mint, collect, and do more with them — including various applications such as art, music, gaming, social tokens, and others.

We will continue to update this as more people try out new things, share their work, or publish resources for learning about NFTs. If you have suggestions for quality pieces to add, let us know @a16z.

A good resource and primer for our upcoming NFT episode of The Changelog with Mikeal Rogers.

JavaScript github.com

A form validation library that borrows its syntax from unit testing

You may have heard my little rant about WET form validation logic on the latest episode of The Changelog. Well maybe you didn’t, but Evyatar did. It prompted him to reach out and let me know about Vest, his declarative validation framework:

The idea behind Vest is that your validations can be described as a ‘spec’ or a contract that reflects your form or feature structure. Your validations run in production, and they are framework agnostic - meaning Vest works well with React, Angular, Vue, or even without a framework at all.

I dig the syntax! Here’s a taste:

import vest, { test } from 'vest';

export default vest.create('user_form', (data = {}, currentField) => {
  vest.only(currentField);

  test('username', 'Username is required', () => {
    enforce(data.username).isNotEmpty();
  });

  test('username', 'Username is too short', () => {
    enforce(data.username).longerThanOrEquals(3);
  });
});

Now all we need is a tool that will inspect our server-side logic and generate the equivalent Vest code. 😉

Amazon Web Services aws.amazon.com

Introducing OpenSearch (renamed from Amazon Elasticsearch Service)

From the AWS open source blog:

Today, we are introducing the OpenSearch project, a community-driven, open source fork of Elasticsearch and Kibana. We are making a long-term investment in OpenSearch to ensure users continue to have a secure, high-quality, fully open source search and analytics suite with a rich roadmap of new and innovative functionality. This project includes OpenSearch (derived from Elasticsearch 7.10.2) and OpenSearch Dashboards (derived from Kibana 7.10.2). Additionally, the OpenSearch project is the new home for our previous distribution of Elasticsearch (Open Distro for Elasticsearch), which includes features such as enterprise security, alerting, machine learning, SQL, index state management, and more. All of the software in the OpenSearch project is released under the Apache License, Version 2.0 (ALv2).

Did you listen to our epic Elastic vs AWS episode on The Changelog? I’d really love to hear from the community on this subject…is this a good thing or a bad thing for open source at large? Why didn’t AWS just work with Elasticsearch (the company)?

We plan to rename our existing Amazon Elasticsearch Service to Amazon OpenSearch Service.

The New Stack Icon The New Stack

How I built an on-premises AI training testbed with Kubernetes and Kubeflow

This is part 4 in a cool series on The New Stack exploring the Kubeflow machine learning platform.

I recently built a four-node bare metal Kubernetes cluster comprising CPU and GPU hosts for all my AI experiments. Though it makes economic sense to leverage the public cloud for provisioning the infrastructure, I invested a fortune in the AI testbed that’s within my line of sight.

The author shares many insights into the choices he made while building this dream setup.

How I built an on-premises AI training testbed with Kubernetes and Kubeflow

GitHub blog.arkency.com

Disadvantages of Pull Requests

In this post, Tomas Wróbel lays out 10 potential drawbacks to the typical PR flows:

  1. More long living branches, more merge conflicts
  2. The reviewability of a change decreases with size
  3. Short feedback loop makes programming fun
  4. Reviews tend to be superficial
  5. Merging is blocked by remarks that shouldn’t be blocking
  6. It’s easier to fix than to explain the fix
  7. Developers are slower to adapt the responsibility mindset
  8. PRs discourage continuous refactoring
  9. Negative emotions and outright pathology
  10. How do you switch to branches with migrations

Podcasts from Changelog

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

0:00 / 0:00