Lit, a way to write Web Components, looks interesting.
# Using computers more freely and safely
Interesting perspective. Video version.
# Bcrypt at 25: A Retrospective on Password Security
Niels Provos:
As one of the creators of bcrypt back in 1997, I find it somewhat surprising that, 25 years later, we still rely heavily on passwords.
# Integrating Zig and SwiftUI
One approach to building a native GUI for a cross-platform application is to write all of the business logic in a cross-platform language (C, Rust, Zig, etc.) and then write the platform-specific GUI code. This is the approach I take with my my terminal emulator and it works really well. As of the current date writing this post, 93% of my repository is business logic in Zig and C, and 4% is macOS-specific GUI code in Swift.
As a result, my terminal emulator is truly native: you get native Mac windows, Mac GUI components (buttons, text fields), etc. It looks and feels great. But its also still cross-platform: I support Linux (using GTK) while sharing ~90% of all code. In this post, I’ll share details about how this setup works and why I approached GUI programming this way.
# Mojo
Mojo is a programming language that is as easy to use as Python but with the performance of C++ and Rust. Furthermore, Mojo provides the ability to leverage the entire Python library ecosystem.
Interesting new Python superset from Chris Lattner.
# JS private class fields considered harmful
I was getting several errors and upon tracking them down I had a very sad realization: instances of classes that use private fields cannot be proxied.
I will let that sink in for a bit. Private fields, proxies, pick one, you can’t have both.
# Atoms
Atoms is a powerful and flexible atomic state management library for Swift, designed to create compact, independent global state components with seamless adaptability and composition.
# Never Write Your Own Database
Good post by Terry Crowley from 2017 on rewriting Microsoft’s OneNote app database.
# Google Bard now supports programming languages
Today, we’re updating Bard with the ability to help people with programming and software development tasks, including code generation, code debugging, and explanation.
I noticed they use highlight.js to colorize syntax, but TypeScript is not colorized even though highlight.js supports it.
# The “Build Your Own Database” book is finished
As with my other books, this book follows the step-by-step approach while covering the 3 topics above. We start from a B-tree, then to a KV store, finally to a mini database with a SQL-like query language.
Nice! The first chapter is available for free.