Drop #127 (2022-10-27): ɑ β ɣ
Turbopak; Freeform; Planet Hulk or Supernova?
For $REASONS it's a crazy $WORK week, which impacted my ability to get a drop in on Wensday (deliberate spelling as I've been on a ranty protest against, of late, regarding the silent 'd' in the traditional spelling of yesterday's day name).
When you're developing a webapp, you tend to want to test it — manually or via browser orchestration — as you go, and some build tools, such as Vite cheat a bit by relying on modern browser capabilities to handle ES Modules, and end up serving individual files in a local development-server mode. This is quite clever, and is generally — but not always — performant. It also isn't truly representative of how users of the application will experience the in-browser code, since Vite in release mode does (essentially) what Turbopak does and bundles all the resources up into individual files.
How is Turbopak even a a remote speed contender for local webapp development? Here's their pitch:
There are two ways to make a process faster: do less work or do work in parallel. We knew if we wanted to make the fastest bundler possible, we’d need to pull hard on both levers.
We decided to create a reusable Turbo build engine for distributed and incremental behavior. The Turbo engine works like a scheduler for function calls, allowing calls to functions to be parallelized across all available cores.
The Turbo engine also caches the result of all the functions it schedules, meaning it never needs to do the same work twice. Put simply, it does the minimum work at maximum speed.
The fledgling docs are well-written, and the tool is open-source, so even if you may not be a frontend developer, you may want to peek at some very clean code in a well-organized, large Rust (multi-lang, really) project.
As many readers know, I live on the bleeding edge, which means I'm already on the latest macOS Ventura beta release which dropped yesterday (along with similar xOS beta drops of) and with it came Freeform, a "great place to bring your ideas to life. Sketch out a project, design a mood board, or start a brainstorming session on a flexible canvas that supports almost any kind of file. And with iCloud, all your boards stay in sync, whether you’re on your Mac, your iPad, or on your iPhone."
You can add photos, video, audio, documents, PDFs, web links, stickies, (pretty much any macOS 'object') anywhere on a gridded board. There's also support for dropping in the usual lines/shapes (including SF Symbols). Furthermore, Freeform has Apple Pencil support on glowing rectangle-laden touch-based xOS devices, and the key is to eventually support collaborative/shared boards (though this feature is not present yet) via iCloud/FaceTime.
These "Boards" live in
~/Library/Containers/com.apple.freeform/Data/Library/Freeform/Boards on macOS, and appear to be a combination of a SQLite database with filesystem serialized copies of the assets from the boards:
. ├── Assets │ ├── 02EF537A-32D6-5E2A-ADB7-6B9BCA324253 │ ├── 3C5B88D0-9482-5D94-A22B-ADC0EC4DF1A4 │ ├── 4F558E92-B6BB-53CF-B435-853CBC04165B.py │ ├── 5CE0CF78-EC84-575F-9894-B155BDA4D04F.html │ ├── 5FE37E56-C2EE-5E7A-ABC7-8DEA6DDF5DEF.jpeg │ ├── 86939086-8040-5D10-AF1B-5273F0F42991 │ ├── 9533AB12-C4D7-527F-B445-43F39952222A │ ├── A3B90721-5F7E-5180-908C-D94AF9F02643.png │ ├── BE8B32F9-5C3E-5657-974C-806B3AA67A63.png │ ├── C2DEFFEF-0FA6-582B-9D60-76174583006D.svg │ ├── C56A88FF-421E-5505-A962-DB0CDF6DFCD8.png │ ├── CC1C4CB1-2A4B-57FF-99C4-54C66BB2935D │ ├── E608C6DA-295D-5838-9C53-883E334AB05C.heic │ ├── EE0B7ECF-95B1-527A-9CB1-EBC068363469.jpeg │ ├── EF4D5399-1EC2-5A5B-9EAB-7442265FA7C7.pkg │ └── F9C8C222-D091-5EB2-B878-F29F7987E1BC.pdf ├── DeletedAssets ├── boards.db ├── boards.db-shm └── boards.db-wal
The extension-less UUID-named files are macOS property list files, and you can view them with
plutil -p FILENAME, and the SQLite database has the following tables:
So, while not an "open" format, Freeform Boards are at least grokable. (It is somewhat annoying it doesn’t come with ‘dark mode’ support yet.)
Saner folks than me will have to wait for the
.# proper drop to play with Freeform, though you can use one of dozens of similar xOS apps to perform the same tasks (yes, this is another Sherlocking by Apple). If Apple makes a proper API to make Freeform content programmatically accessible outside the app itself, I might just consider using it.
Planet Hulk or Supernova?
Earlier this month, stargazers were enthralled by an unusually bright and long-lasting pulse of high-energy radiation that swept over our fragile blue marble. The emission came from a gamma-ray burst – the most powerful class of explosions in the universe – which generated one of the most luminous events in recorded history. The image in the section header was captured by the instruments of the Fermi Gamma-ray Space Telescope, which is under the watchful eyes of the Neil Gehrels Swift Observatory
We've been able to capture supernova events for some time, but rarely coinciding with such a gamma-ray burst. This co-incidence made the supernova far more visible than other supernova events, and scientists are crowdsourcing data captures from professional and amateur astronomers across the globe.
I had a phenom time at NYC Data Hackers last evening! Source and output for/from the Quarto RevealJS slides is up at GH. ☮