All notes
Notes
Snippets, fixes and experiments from over the years.
2026
- Build the thing that builds the product
Agents are moving from your terminal into pipelines that run on their own. What a software factory looks like, the pieces it needs, and why the engineer’s job becomes running the line.
- The requirements a screenshot can’t show you
REA lets a coding agent open up the apps on your computer and explain how they work. An X-ray for non-developers, an accelerator for developers, and a way to find the requirements you didn’t know you had.
- Skills AI makes more valuable, not less
As AI gets more capable, taste, agency, focus, resourcefulness and follow-through gain leverage. What each looks like now, and why it’s worth revisiting the projects you ruled out.
- A 10× developer isn’t a 10× team
AI coding tools often buy a bigger queue, not a faster team. Six principles for turning individual speed into work that actually ships.
- Local agents that don’t keep you waiting
Coding agents keep invalidating the model’s cache, so every big prompt means another long wait. How oMLX keeps that cache on SSD, and how to set it up on a Mac.
- Old emails won’t teach an AI your job
Google bid $10 million for a bankrupt airline’s work emails to train agents. Why records of work aren’t the work, and who decides what “done” means.
- Leaderboards don’t ship products. Customers do.
A model at the top of a benchmark that almost nobody can use. Why customer obsession, not leaderboards, is the test that matters for AI products.
- Turning a few Macs into an AI cluster
How MLX spreads models across several Macs over Thunderbolt: the stack, mesh versus ring, pipeline versus tensor parallelism, and faster local fine-tuning.
- Running AI agents entirely on your Mac
How MLX runs the whole agent loop on Apple silicon: the four-layer stack, a three-step setup, and what makes local agents fast enough for real work.
- When the agent does the work, what are you paying for?
Agents make the app easier to leave and the agent harder to replace. How data, workflow and agent layers decide what software is still worth buying.
- Opus 5.5 and the real cost of a task
Price per token tells you little about what work costs. What Opus 5.5 shows about counting the whole job, steering, long runs, and testing a model on your own tasks.
- Redesign the work before you pick the model
Better agents can make AI bills grow fast. Remove the work that no longer needs to exist, then match what is left to the right model.
- Jev: a model that only picks from a list
Jev is a fast and very cheap general-purpose classifier. Where it fits alongside code and LLMs, what it costs, and how to try it.
2017
2016
- PHP Debug to console
- Downgrade Node.js to a Specific Version Using Homebrew
So here it goes, Install Homebrew versions:
- The 100+ Best Slides From Cannes Lions 2016
- This certificate has an invalid issuer keychain
This issue stems from having a copy of the expired WWDR Intermediate certificate in both your System and Login keychains.
- Error compiling an application on iOS and Mac OSX Flash Builder
Error occurred while packaging the application:
2015
- Shape detection using motion gestures
Press down, drag, and release when your doodle is done. Try to draw the 4 shapes and test out its accuracy.
- Configuring App Transport Security Exceptions in iOS 9 and OSX 10.11
If your app (a third-party web browser, for instance) needs to load arbitrary content, Apple provides a way to disable ATS altogether, but I suspect it’s wise for you to use this capability sparingly:
- Game On
- Install an IPA on iOS directly from a URL
Upload your IPA on a FTP. Then create a plist file with this format:
- Google Cloud Storage Cross Domain Policy Access.
There are times when you have a Flash application, and you'd like that Flash application to access the files in your Google Cloud Storage, but we all know that accessing Google Cloud Storage files would violate…
2012
- Mario Mushroom: Now with 80% less awesome
tl;dr: Don’t use the Mario Mushroom Operator if you don’t want your setter to be invoked more than once.
- iCloudANE
iCloudANE is a native extension that enables the use of iCloud storage service. The extension supports String Key-Value Stores, that can be combined with JSON to store complex data. The iCloud service allows iOS…
- GameKit
GameKit is a native extension that allows the use of iOS GameKit framework. The extension allows your game to setup real time Game Center matches for up to 4 players, send and receive custom data between players, and…
- Hungry Hero goes Open Source
Hungry Hero is an open source Flash game built on Starling Framework. This game is built to give developers an idea of how a typical Starling based game looks like. The basic idea is to showcase how easy it is to build…
- Success is a catalyst for failure
Why don't successful people become really successful? Greg McKeown explains in The Disciplined Pursuit of Less.
- Restart an AIR application
It takes an application ID and a publisher ID of the currently running application (that is, of itself), then attempts to launch the application with these IDs (that is, another instance of itself) and closes itself.…
- FlashBuilder Error: Ant Compiling in FlashBuilder “Error: Java heap space”
To resolve this misconduct, follow the following steps: 1. Open Adobe FlashBuilder 4.5 2. Go to Window -> Preferences 3. From the menu select Java -> Installed JREs 4. Select the VM and click the edit button. In the…
- Open-sourcing imagination
- Device Shake - Accelerometer
Heres a small snippet to detect shakes on mobile devices with accelerometer:
- Happy BirthDay SAbi!
- InfoAdditions AIR for iOS
Compiling an iOS app using Flash requires an application descriptor file. Within this XML file, you can tell the app to compile for High-Res iPhones, iPad 2 as well as remove the default gloss on an icon and even change…
- Jane McGonigal: Gaming can make a better world
Awesome to see we are not the only ones who believe that games and the power of play can change the world. Check out this amazing Ted talk by Jane McGonigal located at http://goo.gl/505QS
- Minimum or Maximum value from an array of numbers
First, note that Math.min() and Math.max() can take any number of arguments. Also, it's important to understand the apply() method available to Function objects. It allows you to pass arguments to the function using an…
- Flash Player 11.2 and AIR 3.2 SDK
Flash Player 11.2 with playerglobal.swc and AIR 3.2 SDK final versions are now available for download at the official release pages.
2011
- Tile based / Object based Scrolling engine
This is just the very basic idea, but it's general enough to work as a platform for a wide range of games. Depending on the requirements you can add all sorts of things. Why is this method fast? The reason is that we…
- ActionScript 3 : Get a Class Reference by Class Name
If you need to get a reference to a class in ActionScript 3, but only know the class name, then you can use the flash.utils.getDefinitionByName to create an instance of the class. For example:
- BSUHLILT