A very compact representation of an image placeholder. Store it inline with your data and show it while the real image is loading for a smoother loading experience.
# Something Pretty Right: A History of Visual Basic
Great article on the rise and fall of Visual Basic.
Run a fast ChatGPT-like model locally on your device.
This combines the LLaMA foundation model with an open reproduction of Stanford Alpaca a fine-tuning of the base model to obey instructions (akin to the RLHF used to train ChatGPT) and a set of modifications to llama.cpp to add a chat interface.
# Port of Facebook’s LLaMA model in C/C++
Impressive. It runs fine on my M1 MacBook Air with 8 GB RAM.
Simon Willison wrote a post on how to use it.
# Fastmail: Announcing Squire 2.0
Squire is our rich text editor that powers the mail composer in Fastmail, providing support for formatting and WYSIWYG text editing in all modern browsers.
Now, there are a good number of rich text editors. However, most have the luxury of strongly limiting what the person can enter to ensure the data model doesn’t break. We can’t use those because we must be able to handle arbitrary HTML because it may be used to forward or quote emails from third parties and must be able to preserve their HTML without breaking the formatting. This is Squire’s advantage.
# GPT in 60 Lines of NumPy
In this post, we’ll implement a GPT from scratch in just 60 lines of numpy. We’ll then load the trained GPT-2 model weights released by OpenAI into our implementation and generate some text.
The result is PicoGPT. Very cool. I’m a fan of simple educational implementations.
# After Alaska Airlines planes bump runway, a scramble to ‘pull the plug’
On the morning of Jan. 26, as two Alaska Airlines flights from Seattle to Hawaii lifted off six minutes apart, the pilots each felt a slight bump and the flight attendants at the back of the cabin heard a scraping noise.
As the noses of both Boeing 737s lifted skyward on takeoff, their tails had scraped the runway.
Caused by an update to the software that calculates thrust and speed settings for takeoff:
That morning, a software bug in an update to the DynamicSource tool caused it to provide seriously undervalued weights for the airplanes.
A concurrency bug?
Peyton added that even though the update to the DynamicSource software had been tested over an extended period, the bug was missed because it only presented when many aircraft at the same time were using the system.
Good procedures overall for noticing, stopping all airplanes, and fixing the system.
The dilemma of safety-critical systems: update the system and suffer new bugs or never update and end up with an and old barely usable system prone to mistakes.
# React.js: The Documentary (video)
Nice documentary on how React was created.
# How a Zig IDE Could Work
After parsing, the Ast is converted to an intermediate representation, Zir. This is where Zig diverges a bit from more typical statically compiled languages. Zir actually resembles something like Python’s bytecode — an intermediate representation that an interpreter for a dynamically-typed language would use. That’s because it is an interpreter’s IR — the next stage would use Zir to evaluate comptime.
Ast and Zir infra is good. It is per-file, so it naturally just works in an IDE.
# The evolution of Facebook’s iOS app architecture
After years of iteration, the Facebook codebase does not resemble a typical iOS codebase:
- It’s full of C++, Objective-C(++), and Swift.
- It has dozens of dynamically loaded libraries (dylibs), and so many classes that they can’t be loaded into Xcode at once.
- There is almost zero raw usage of Apple’s SDK — everything has been wrapped or replaced by an in-house abstraction.
- The app makes heavy use of code generation, spurred by Buck, our custom build system.
- Without heavy caching from our build system, engineers would have to spend an entire workday waiting for the app to build.
- FBiOS was never intentionally architected this way. The app’s codebase reflects 10 years of evolution, spurred by technical decisions necessary to support the growing number of engineers working on the app, its stability, and, above all, the user experience.
It must be either brilliant to work on or an absolute pain.