Discover this podcast and so much more

Podcasts are free to enjoy without a subscription. We also offer ebooks, audiobooks, and so much more for just $11.99/month.

Victor Adossi on Yak Shaving

Victor Adossi on Yak Shaving

FromSoftware Sessions


Victor Adossi on Yak Shaving

FromSoftware Sessions

ratings:
Length:
111 minutes
Released:
Jan 2, 2023
Format:
Podcast episode

Description

Victor is a software consultant in Tokyo who describes himself as a yak shaver. He writes on his blog at vadosware and curates Awesome F/OSS, a mailing list of open source products. He's also a contributor to the Open Core Ventures blog.
Topics covered:

Most people should use Dokku or CapRover
But he uses Kubernetes anyways
Hosting a Database in Kubernetes
Learning technology
You don't really know a thing until something goes wrong
History of Frontend Development
Context from lower layers of the stack and historical projects
Good project pages have comparisons to other products
Choosing technologies
Language choice affects maintainability
Knowing an ecosystem
Victor's preferred stack
Technology bake offs
Posting findings means you get free corrections
Why people use medium instead of personal sites

Victor

VADOSWARE - Blog
Awesome FOSS - Curated list of OSS projects
NimbusWS - Hosted OSS built on top of budget cloud providers
Unvalidated Ideas - Startup ideas for side project inspiration
PodcastSaver - Podcast index that allows you to choose Postgres or MeiliSearch and compare performance and results of each

Victor's preferred stack

Docker - Containers
Kubernetes - Container provisioning (Though at the beginning of the episode he suggests Dokku for single server or CapRover for multiple)
TypeScript - JavaScript with syntax for types. Victor's default choice.
Rust - Language he uses if doing embedded work, performance is critical, or more correctness is desired
Haskell - Language he uses if correctness and type system is the most important for the project
Postgresql - General purpose database that's good enough for most use cases including full text search.
KeyDB - Redis compatible database for caching. Acquired by Snap and then made open source. Victor uses it over Redis because it is multi threaded and supports flash storage without a Redis Enterprise license.
Pulumi - Provision infrastructure with the languages you're already using instead of a specialized one or YAML
Svelte and SvelteKit - Preferred frontend stack. Previously used Nuxt.

Search engines

Postgres Full Text Search vs the rest
Optimizing Postgres Text Search with Trigrams
OpenSearch - Amazon's fork of Elasticsearch
typesense
meilisearch
sonic
Quickwit

JavaScript build tools

Babel
SWC
Webpack
esbuild
parcel
Vite
Turbopack

JavaScript frameworks

React
Vue
Svelte
Ember

Frameworks built on top of frameworks

Next - React
Nuxt - Vue
SvelteKit - Svelte
Astro - Multiple

Historical JavaScript tools and frameworks

Underscore
jQuery
MooTools
Backbone
AngularJS
Knockout
Aurelia
GWT
Bower - Frontend package manager
Grunt - Task runner
Gulp - Task runner

Related Links

Dokku - Open source single-host alternative to Heroku
Cloud Native Buildpacks - Buildpacks created by Heroku and Pivotal and used by Dokku
CapRover - An open source PaaS-like abstraction built on top of Docker Swarm
Kelsey Hightower's tweet about being cautious about running databases on Kubernetes
Settling the Myth of Transparent HugePages for Databases
Kubernetes Container Storage Interface (CSI)
Kubernetes Local Persistent Volumes
Longhorn - Distributed block storage for Kubernetes
Postgres docs
Postgres TOAST
Everything I've seen on optimizing Postgres on ZFS
Kubernetes Workload Resources
Kubernetes Network Plugins
Kubernetes Ingress
Traefik
Kubernetes the Hard Way (Setting up a cluster in a way that optimizes for learning)
How does TLS work
Let's Encrypt
Cert manager for Kubernetes
Choose Boring Technology
A Linux user's guide to Logical Volume Management
Docker networking overview
Kubernetes Scheduler
Tauri - Build desktop applications with web technology and Rust
ripgrep - CLI tool to recursively search directory for a regex pattern (Meant to be a rust replacement for grep)
angle-grinder / ag - CLI tool to parse and process log files written in rust
Object.observe ECMAScript Proposal to be Withdrawn
Ruby on Rails - Ruby web framework
Django - Python web framework
Laravel - PHP web framework
Released:
Jan 2, 2023
Format:
Podcast episode

Titles in the series (56)

Practical conversations about software development.