$ ls writing
Agentic Workflow – Mid July 2026
Updated recommendations for mid July: fewer human threads, Grok orchestration, Beads for agent task graphs, and cheaper Sol via PI.
My Job Is Becoming Cost Engineering
Writing code is now only a small part of my job. Much more time goes into getting the most useful work from AI without losing control of the bill.
Is Working While Walking Finally Becoming Practical?
Rapidly improving coding agents and a remote Cursor server are making serious software development from a phone while walking feel practical for the first time.
Random Thoughts — July 10
Today, AI was mostly about money.
My Money-Saving Cursor Workflow in July 2026
How I use Cursor Ultra, Composer, and LiteLLM to keep my AI inference costs well below $300 per month.
Working around Ionic's broken swipe to go back on iOS PWA
On an iOS PWA, Safari's native swipe-to-go-back fights Ionic's stack animations. This post shows how we stopped double animations, page flashes, and fragile edge cases.
I Don’t Trust Long-Running AI Agent Loops (Yet)
Agent loops are too expensive and too dangerous.
Good While It Lasts
Three things I'm genuinely enjoying in June 2026 that won't exist or be special anymore soon.
Running Many Agents in Parallel is a Bad Idea
Multitasking is exhausting and makes you less productive
Cursor 3 Is a Step in the Right Direction
Cursor 3 looks more like Codex, and that fits better with how I work now.
Plentiful, High-Paying Jobs in the Age of AI by Noah Smith
Even if AI agents can do everything better than humans, comparative advantage ensures humans remain economically valuable.
Cybersecurity in the Age of Instant Software by Bruce Schneier
Bruce Schneier explores what AI means for cybersecurity.
Three Things That Changed in My Workflow After AI Agents Took Over Writing Code
How my work shifted from writing code to designing AI agent workflows, multitasking across conversations, and managing model costs
Something Big is Happening by Matt Schumer
Most people still think the LLM revolution will not affect them. It will. Matt Schumer explains why.
Even in the Agentic Coding Era, Maintainability Beats Fast Performance
LLMs can generate code fast. That makes architecture more important, not less.
I Have Been Sloppy
I used to believe I could stay authentic while letting an LLM write my posts.
The Final Bottleneck by Armin Ronacher
AI shifts the bottleneck from writing code to reviewing it. Code generation outpaces human review; accountability stays with humans.
The Fall of the Nerds: From Elite to Factory?
Software engineering followed the same pattern as weaving: high wages create incentive for automation. Are we witnessing the next industrial shift?
The Rise of Personal Sideloaded Apps
How AI agents are making it possible to build and deploy personal iOS apps in minutes—without ever touching the App Store.
How LLMs Excel at Localization
Internationalization was never a technical problem—it was a context problem. LLMs have transformed how we approach localization.
Walking While Working Is No Longer a Gimmick
How AI coding assistants have made it possible to do serious programming work while walking, not through better hardware, but through a fundamental shift in how software is made.
Please Summarize Your Own Content
With LLMs it is now trivial to be more respectful with other people's time.
Why Coding with LLM Agents is More Fun Than Ever
How working with Opus 4.5 has completely changed my relationship with coding—and made it more enjoyable than I expected.
My Top 4 Personal LLM Workflow Tips
Simple tips to improve your workflow when working with AI coding assistants like Cursor, Copilot, and others.
How to Include Version, Git Commit, and Build Date in AnalogJS Builds
Learn how to use Vite's define feature to inject version information into your AnalogJS app - a cleaner approach than file replacements.
Protect Resources with Ory Keto in NestJS
Build a clean authorization layer with Ory Keto and NestJS using guards, decorators, and relationship-based access control.
Separating Transport from Business Logic in NestJS: Easy Exception Mapping
Learn how to map business exceptions to HTTP errors in NestJS without coupling your business logic to HTTP concerns.
Dockerizing an Angular SSR App for Production (Single Origin + /api Proxy + Working Transfer Cache)
Step-by-step guide to containerize an Angular SSR app with a single origin, a runtime /api reverse proxy, and working HttpTransferCache.
How to Avoid Forgetting to Secure Your NestJS Endpoints
A simple pattern to prevent accidentally exposing endpoints by requiring explicit @Public() or @Permissions() decorators on every endpoint.
Keep <html lang> in Sync with ngx-translate (Signals + a Directive)
Create a signal from ngx-translate's current language and use a tiny directive with an effect to keep <html lang> updated.
Make an AnalogJS app a PWA with Angular Service Worker (NGSW)
Add NGSW to an AnalogJS (Vite) build: why ng add @angular/pwa is not enough, the missing build step, and the small Vite plugin that makes it work.
A Simple Feature Flag System with Runtime Config + @defer
Put feature flags in runtime config, keep usage type-safe, and lazy-load flagged features with @defer.
Runtime Config in Angular: Load a JSON File Before Bootstrap
Load environment-like config at runtime from a public JSON file using provideAppInitializer, then reuse it throughout your app.
How to Easily Notify Users About Task Progress in Angular
Reduce boilerplate by using a TaskStatusNotifierService for loaders, success toasts, and error alerts in Angular/Ionic.
How to Dockerize an Angular App for Production
In this article, we will learn how to containerize an Angular app for production. Our goal is to use...
How To Easily Expand or Collapse All Accordion Items in IonAccordionGroup at Once Without Adding Complexity
The Ionic Accordion Group and the ion-accordion are awesome. Accordions provide collapsible sections...
Stop Pretending The Error Never Happened! Be Explicit About Loading State
We all need to stop using placeholder values that look like correctly resolved values in RxJS streams...
Stop Overloading Your Angular Components: Start Using Host Directives!
When we build Angular apps, sometimes our components do too much. Take an AppComponent, for instance,...
How to Include Version, Git Commit, and Build Date in Your Angular Builds
Knowing the exact version of your Angular app can be really helpful. This article will teach you how...
Reactive Loading State Management with RxJS and Angular: Loading Stuff Based on Changes to Other Stuff
When you build apps with Angular, you often need to get data when something changes in your app....
Angular Guide for Beginners: Fetching Data from an API, Handling Errors, and Efficiently Managing Loading State
In this guide, we'll learn how to get data from an API using Angular, show a loading indicator while...
Why Both Subscribe and *ngIf with Async Pipe Fall Short (and What You Should Use Instead)
Handling data loading from observables in Angular templates can be a tricky business. Two commonly...
Uncluttering Angular Templates: Simplifying Asynchronous Data Loading with ngxLoadWith
When it comes to Angular development, creating well-structured, readable templates is a fundamental...
The One Mistake Every Angular Developer Makes: Overusing *ngIf
Almost every Angular developer knows this scenario. You've got your Observable all set up for data...
Production-Ready Asynchronous Data Loading: Implementing Pull-to-Refresh in Angular + Ionic 7 with Ion Refresher and NgxLoadWith
In the previous post, we learned about the IonRefresher component and how to integrate a...
An Introduction to *ngxLoadWith: Simplifying Observable Data Loading in Angular
Hey there! If you've been working with Angular, you've likely had to handle Observable data loading....
Simplify Asynchronous Data Loading in Angular with ngx-data-loader
Asynchronous data loading is a common task in Angular applications, and it often involves handling...