Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
1

Looking Out the Window

from Willem L. Middelkoop [alt+shift+b] in technology

This weekend I ran the marathon of The Hague. I gave everything, and the result was 3 hours and 40 minutes. I am satisfied, because I know there was really nothing more in it. Tired legs, maximum heart rate, and still no collapse. It is beautiful that you can look for the limit like that. But the most important part of this marathon did not happen on the road. It happened in the weeks before, at home, looking out of the window. Two marathons in four weeks Four weeks earlier I ran Köln. Two days before the start my body was fighting a virus. I slept extra, stopped working and switched the computers off. The next afternoon I wrote: "the body is winning, energy is flowing through the veins again". Köln became 3:48:27. The Hague went better in every way. The extra experience made it possible to operate longer at the maximum: eating, drinking and the mental side were better than ever. I understand very well now what makes the performance. And it is not only the training. The Hague, 1 November 2026, just before the start Work as a long run At the end of October I wrote something less cheerful in my notes. Not only sport, but work too had taken on the character of a long run. Steady, long, without an end in sight. More than ever before, the balance tipped to the negative: no sparkling fun, warmth or pleasure. "It really is a marathon. I am physically, and mentally, ready for rest." That is the trap of a pace you can hold: you can hold it so long that you forget you are running. The answer was not to stop. It was to stay pragmatic, limit the loss of energy, and focus on the things we want to influence. And nothing more. Room to breathe On 15 October I did something different. The phone on "do not disturb" and out of reach. Questions about the jam supply and the invoices came in, all very important, for later. Reachable for emergencies, but there was no emergency. I wrote: "The best in me comes up when there is room. This is not running away or hiding. It is a necessary...
21 hours ago

Stay updated

Get a weekly newsletter with the top 5 articles worth reading every week.

More from Willem L. Middelkoop

The Idea Factory

My mail, WhatsApp and Signal now live in one app I built myself. I called it Contact. It is not a chat app and not an AI app, it sits somewhere in between. When I tried to draw what it is in my notebook, a factory came out. This post explains that drawing, starting with a puzzle. A puzzle for the class At Jurre's school the day starts with a "binnenkomer", a small opening activity, and every child takes a turn. The message that it was his turn next came in through the WhatsApp group of his class. So one evening Jurre sat down and made his own: nine dots, and a rule. "Je moet elk stipje in een eigen vakje hebben, maar je mag maar twee vierkanten tekenen." Every dot in its own box, but you may only draw two squares. Jurre's puzzle: the rule on top, nine dots, and one of the solutions He wanted copies, a clean one for everybody. I took a photo, which lands in my own photo library at home within seconds. In Contact I opened a session and typed what I wanted: take the latest photo, make a printable page with the text and the empty puzzle, without the solution, and print it. One page first. The agent did not know where the printer was. It scanned the network, found a Canon that was asleep, told me so, and waited until I switched it on. Along the way it found the original message from the class group in Contact's own WhatsApp archive, so it knew what the page was for. The session in Contact: the agent looks for the printer, I tell it what to make Printing, on a printer that nobody had set up for this The first page came out faded, one cartridge was nearly empty. The agent found a print mode that still gave deep black, and then the copies came out. Within the hour there was a stack on the table: the empty square, the nine dots, the rule in a proper font. The next morning Jurre took them to his class. The result: the puzzle without the solution, ready to hand out in class That small evening has everything in it. Someone has an idea. It comes in, somebody decides it matters, a machine with enough context and energy turns it into a thing, and the thing goes back to the people. That is the factory. The drawing The drawing from my notebook: people, ideas, triage, the machine with its chimney, and the long arrow back On the left: people. They have ideas, and those come in every shape: a mail, a WhatsApp, a voice message, a screenshot, a sketch on a sheet of paper. Then triage, the funnel. Not everything needs me, and not everything needs me now. Contact reads everything that comes in on the machine in the homelab: my own hardware, boring Debian, offline. It sorts what needs me from what can wait, and groups messages into conversations per person or per topic, whatever app they came from. Fewer apps, less fiddling, but more context and more control. Contact on the laptop, here with sample data: what needs me, drafts, and a conversation with a draft reply waiting Then the machine itself: creation plus context. A session is an agent working on one thing, started from a conversation with one tap. What makes it good is not the model, it is the context it gets. My notes and rules. Every log line of all my apps and computers, well over a million signals a day. The photo library. Customer files and documented source code. The conversation it came from. The machine knows where it stands before it starts. On top sits the chimney: energy, in tokens, compute and memory. This is the part that is new. Context used to be a pile of documents. With enough energy it becomes fluid, you can shape it. Ask it, rewrite it, turn it into a page, a prototype or a print. The chimney, measured: tokens per model I will be honest about the chimney. Some weeks we burn millions of tokens on a single feature, and I do not always know if it was worth it. Let the record show that I spare no cost or effort to chase software feel. But a factory with a chimney and no meter is something to keep an eye on. Out of the machine come artifacts: a draft reply, a preview page, a prototype, a printed puzzle, a website, a game. Nora wanted a game too. She drew a rainbow and told me about a unicorn on a skateboard collecting colours in a fluffy world of clouds, and that became the game. Same factory, different input. Nora's input for her game: a rainbow, clouds and colours to collect Nora playing the game that came out of her drawing Another product of the same factory: the music app, native on iOS and on Android And then the long arrow at the bottom: feedback. Ideas, artifacts and products go back to the people. A draft reply goes back to the customer, after I read it and approve it on my phone; Contact never sends anything by itself. The puzzle went back to the class. What people say about it comes in again on the left, and the loop closes. Not a chat app, not an AI app There are apps for people: Teams, Slack, WhatsApp. There are apps for AI. Contact is neither. It sits between them, on them and in them, at the crossing of people and machine. It is made for making things, and for learning while you do. When it works I hardly notice it: a message comes in, a session picks it up, a draft is waiting when I look. It runs as a native app on the iPhone, the Vision Pro and the laptop, all sharing one idea of what a conversation and a session are. On the Vision Pro the sessions float next to each other, a very nice way to watch several streams of work at once. On the iPhone it is with me all day. A few weeks ago I wrote about making my own Android; that taught me how far you get without touching the operating system, if you own the data, the screens and the concept. Contact is what came out of that lesson. The hardest word When making is cheap and fast, the difficult part is saying no. At one point I asked for my lock screen to show the state of the factory: what waits for me, which session has a question. It was built, I tested it on my phone in the evening, and it worked. I looked at it and decided it was not useful to me. Back to plain notifications, the same evening, nothing left behind. The lock screen experiment: built, tested, and switched off again the same evening My personal reflection helps here. Writing in the notebook makes my norms visible: privacy, the feel of software, and the rule "das Beste oder nichts". That rule leads to "no" quite often. A not-doing choice is a real choice, and now that almost anything can be made, it may be the most important one. Conclusion Contact is a small factory. People and their ideas go in, triage decides what matters, a machine with context and energy makes something, and it goes back to the people. The trick is not the model, it is the context. And the courage to throw away what you made when it is not good enough. So if your inbox feels like a pile of messages, maybe it is a pile of ideas waiting for a factory.

1st Oct 2026 • 4 votes
Twenty Times Faster

On 11 August I wrote in my notebook: the speed at which we move is about twenty times the old top speed. In one day I do what I used to do in twenty. This post is about that speed, what it does to the human in the loop, and the counterweight I found. It is the first post of September, written on a day of deliberately doing less. Twenty times The number is not a boast, it is a measurement. In August two problems on the cloud were analysed and fixed on the day they appeared, work that used to be a week of digging. It is mentally draining, this speed. Still I find it beautiful, because you shoot with precision and power. Last week was a normal week. A complete restaurant site. A proof of concept for an event venue, promised online within the week. The final touches on a bar site. New sections on two local news sites and a full site for a city square. A site and a members area for a medical publication. Printer support in the shop app, through Apple's review. Analyses of four competitors. A video call setup on the new laptop. And on Sunday evening a prototype for writing by hand, which is how these notes were written. In the same week: three customer visits, two video calls, school runs, football training and a match, a birthday present for my wife built as a little game, a sleepover guest. It is not surprising that we sometimes feel a bit full. Saturday night, 5 September: the terminal on the laptop, one of the sites of the week in the making The human in the loop Mid August, after a week of full throttle, I wrote: I am at my max. Head and body at the limit. The gear worked fantastically, and I was the limiting factor. That is the honest state of things in 2026: the agents do not tire, the logs do not sleep, the builds run at night. The bottleneck has moved, and it moved to me. On a campsite in France I had already written the paradox down: post AI, the challenge is simple to use, less is more. Ship less. A contradiction with agents that can make everything. And the people around you do not always keep up either. The pipelines give you speed, enough to ship at eighty percent and learn. But a customer will look at the breakthrough tomorrow, and a partner needs a week. I have to learn to accept that not everyone switches at light speed. Sometimes that delay is a gift: a quieter period, a little more time for a delivery. The partial eclipse over the trees on 12 August, an evening walk in the busiest week of the month The counterweight The answer I found is not slower agents. It is a routine for the body. We must not see sport as not working: the ideas, the space and the energy are crucial. So there is a shake before the coffee, a run on the odd days, the gym three times a week, and no more finishing the leftovers. A 10K alone on a Friday morning is a relief, clarity of mind through real silence. The best runs of the summer, along the Seine at dawn and on the coast of Brittany, were not fast or strong. They were where the thinking happened. And at the end of August the sharpest note of all: the overload creates the wish for rest and space. That space has to be protected. Sleep matters, and working late at night maybe not. With school, sport and football there is not enough left over to sustain that. I have known this since my first marathon: you can push the limit, but you cannot move it by wanting. The Seine at sunrise on 6 August, the run where the thinking happened The Eiffel tower from below at the turnaround, not fast or strong A marathon, not a sprint Something else happened this week. Sites that generate themselves are becoming common, I see comparable techniques appear around me. The distinguishing factor is no longer the public endpoint, it is the stack behind it: a customer who is happy with the app in her pocket, another who bounces because of his charts. That is much harder to replicate. And there is a harder question still, also for the big AI companies: how do you carry the responsibility of keeping an engine running well, for years? Generating something neat once is easy. Keeping it running, maintaining it, over the long term is another matter. This is a marathon, not a sprint. One of the week's deliveries on the phone: a site for a city square, fresh every day This week So this week we do it differently. Mandatory time for sport and away from the keyboard. A week of rolling out cannot hurt: ninety-nine percent reactive, an empty inbox, and some polish on our own tools. No new websites without a customer's mandate. No customer contact on my initiative. This morning I slept an hour and a half longer and ran five kilometers. The plan had been a half marathon. The body really needed the extra sleep, and I feel a lot better now. The things that are in motion can roll out on their own for a while. Sunday 6 September: sleep 86 percent, recovery 94 percent, strain 0.4, a day off by design Conclusion Twenty times faster is real, and so is the bill. The agents do not tire, I do, and that makes the pace mine to set. A run, a night of sleep and a week of doing less are not a break from the work. They are how the work stays good. Sunday evening: the prototype for writing by hand on the new laptop, these notes were written with it

6th Sep 2026 • 2 votes
Innovation Is Software

In August my computer setup changed more than it had in years. And yet the lesson of the month was the opposite of new hardware: the existing gear has stretch, innovation is software. This post is about one brain, the machine in the homelab where my files and my agents live, the machines around it, and why infrastructure has become subordinate to concept. One brain On 2 August, from a campsite in France, I got remote control over the router at home. The plan was to set up a direct connection to the machine in the homelab in Limburg: one brain, one login, one place where files and agents work. Two days later the workshop server that hosted my projects was phased out. Every project moved home, checksum verified, and the homelab took over the full role through a direct mosh link. From the campsite I steered it from my phone, with speech to go faster. That machine in the homelab is the anchor. It holds the platform, the customer projects, the photo library, the backups of the cloud and the agents that work on all of it. The cloud servers run the sites, the agents work from home. Everything else is glass: a screen and a keyboard to look at the brain with. 2 August, from the campsite: a mosh session on the phone into the machine in the homelab, the one brain Logs are readable On 11 August two problems on the cloud, one in mail and one in the web server, were analysed and fixed on the same day. That is only possible through the integration of the anchor in the agentic flow, plus an understanding of the relevant logs and signals. The speed at which we move is about twenty times the old top speed. In one day I do what I used to do in twenty. It is mentally draining, but you shoot with precision and power. The agents do not all live in the cloud. A local model runs on the homelab with no data leaving the house. On 24 August it watched the footage of the doorbell and described, frame by frame, a man walking barefoot to the front door. It was me. Local agents, with access to the network, the files and the protocols, nothing in the way, and a local shell: that is what makes the anchor more than a computer. 24 August: the local model on the homelab describes the doorbell footage frame by frame, no data leaves the house Glass Mid August I watched the introduction of the new Omarchy release. Beautiful work, and the most important features I already had for years: a window manager and integrated tooling. The agent integration is nice, but not fundamentally different from what I do myself. Eye candy is nice, but not a money mover. The existing gear has stretch, innovation is software. Sixteen months ago I explained why I chose a Framework laptop for that gear. So why is there a second Framework on my desk, a twelve inch one? Because of a strict job description. It is not a second brain, it is the agentic workbench: persistent split screens for several agents at once, closed and reopened with one keystroke, and no local computing on it. Glass never becomes anchor. It runs Omarchy, it booted with a green W, and it cost a fraction of the machine it looks at. The Framework 12 open on the table: modular, repairable, and deliberately just glass First boot after setup on 25 August: a green W on the workbench The twin On 22 August I ordered a backup computer and an internet line for Amsterdam. Yes, a fixed line: nine years after the day I killed my LAN and went mobile only, the cable is back, because a machine that receives backups every night needs a connection that is always there. Although I am no fan of clutter, this was a smart step, crucial even, for the data. The anchor has become so important that we must do this. It became a Framework mainboard in a small case with an eight terabyte disk, built on the kitchen floor on 26 August and ready to travel to Amsterdam. From its first night there, the anchor pushes its backups to it. Two houses, two copies, one brain. 26 August, the kitchen floor: the Amsterdam twin being built, a mainboard in a small case with the console on a monitor Infrastructure becomes concept The future? Infrastructure becomes subordinate to concept. Control over routers, devices and connections is scriptable. Logs are readable and concepts are translatable. The artefacts were there before: my own tablet OS on a Surface, the Gran Fondo app. They were not good enough, and I abandoned them. Now it is different, because I can realise things much faster. A custom launcher for my phone, with all its compliance, I would never have built for fun. This month I did. That is the next post. Conclusion One brain, a few pieces of glass and a twin in Amsterdam. The hardware decisions of this month were the small part. The big part is that a machine with agents, logs and a local shell does in a day what used to take weeks, and that the same setup now stands in two houses. Innovation is software. So before you order a faster machine: give the one you have some agents and a look at its logs. It has more stretch than you think, ha! Back at work: the workbench with the mechanical keyboard, the brain out of sight

25th Aug 2026 • 1 votes
Counting Agentic Traffic

This month I brought Lemmid Count back: the website statistics of my platform, rebuilt from scratch without AWStats and without a database. Its party piece is the dimension every other analytics tool throws away: the bots. In the agentic era the question "what did AI agents read on my site" matters as much as "how many humans visited". This post is about counting what pretends not to be there, and about putting the answer in your customer's pocket. Google Analytics is blind here Google Analytics works by placing a piece of JavaScript on your pages. A browser runs it, the script reports home, and that report is your statistics. I explained the difference with log-based tools back in 2018. In 2026 that difference has become the whole story. GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot and their friends fetch your HTML and read it. They do not run your JavaScript. They never appear in Analytics. If the agentic web is where your next customers come from, your dashboard is showing you a shrinking world. The web server sees everything. Every request, every user agent, every status code, JavaScript or not. In July my site hartvaat.nl served 114,883 pageviews. 2,187 of them were humans. Analytics would have shown you the 2,187 and called it a quiet month. hartvaat.nl in July 2026: 114,883 pageviews, 2,187 by humans, 112,696 by bots; Analytics would have shown the small number Logs, not scripts Lemmid Count v3 reads the per-site logs of the web server directly, every hour, and folds them into small JSON files per site per day. No database anywhere, no tracking script on the pages, no third party at runtime: the visitor is never touched. That also fixes what killed the previous version: AWStats pumping a near-raw copy of the logs into MariaDB forever. Now the rotated logs are the raw store and the summaries are the product. Two principles. Pages, never people: no visitor counts, no uniqueness tricks, no IP addresses on disk, the browser language instead of geo. And auto configuration: a site with a log file has statistics, nobody has to register anything. Every site on the platform runs along automatically. Classify, do not filter Every request becomes either human or bot, and a bot gets a family and a group: search, ai, social, seo, monitor, feed, lib, scraper. Declared bots are named by their user agent. Instead of filtering them out, Count shows them as first class citizens: a "read by AI agents" card with the agents by name, and a toggle between all, humans and bots. That is new, and it makes people look up. On a restaurant site, in the first days of July, ChatGPT had read 75 pages and Claude 51, next to 185 human pageviews. All, humans or bots: one restaurant site in the first days of July, 185 human pageviews next to 1,171 by bots The humans view: top pages of a cafe site, filtered in one tap The pretenders Labeling is difficult, because some bots pretend to be human. A current Chrome user agent, HTTP/2, a plausible language header, one page per IP address, thousands of addresses from cloud providers. The user agent is worthless there. Behaviour is not. Real browsers load images. Real visitors arrive from search and links, and go to the same popular pages. A crowd that visits thousands of distinct pages, each exactly once, is not a crowd, it is a harvest. Hosting more than a hundred websites is the structural advantage: a signature that shows up on many sites within one hour is not a person. Add honey pots, pages no human would ask for, and address space from datacenters as a hint, never as a verdict. The classifier is versioned, and after every upgrade the last two weeks of history are recomputed. That matters, because the other side moves. One fleet answered a new rule within a day by fetching a single CSS file as an alibi. The next version asked for images. I will not list every signal here, that is the point of a honey pot. Read by AI agents, by name: chatgpt-user, claudebot and the stealth group of pretenders on the same site Full circle: in your pocket Here is the thing: detailed statistics are not unique. Anyone with logs and patience can count. The other half of the job is translating it back into something friendly, pocketable and actionable. Count is an app my customers carry in their pocket, next to the other Lemmid apps: one screen per site, the month in one chart, the top pages, the sources, and the agents by name. No login rituals, no setup, it simply appears for every site you own. The feedback is the best part. A customer showing the stats during the coffee round, exactly the use I had in mind years ago. A cafe owner seeing that ChatGPT read the menu seventy times this month, and drawing the obvious conclusion: put the menu where the agents read it. That is a statistic turned into an action, on a phone, in ten seconds. The pocket app: Manager, Count, Handler, User and Bill, one home screen for every site you own Conclusion The share of humans on the web will keep falling, and a tool that only counts humans will keep telling you the wrong story. Count the agents, name them, and hand the answer to the person who can act on it. High tech in the log parser, low tech on the screen. The bots read. You had better make sure they read the right thing, ha! Midnight on 6 July, the night Count came back, terminal on the iPad

6th Jul 2026 • 1 votes

More in technology

TIL: Detaching Action Text Images

A Pika author was editing the same post in two browsers. They added six images in Browser A, then later they referenced an old tab editing the post in Browser B. That copy of the editor did not include those images. Browser B saved and removed all six images from Active Storage. A short time later, Browser A saved its newer copy of the post and put the image references back, but at that point the originally uploaded files were gone due to Browser B saving the post without the images. This exposed two separate problems: Missing images produced uncached 404 responses that the editor requested repeatedly. Action Text purged an image as soon as one save removed it from the body. Here’s how we fixed those problems. Why Action Text deleted the images Action Text keeps a rich text record’s embeds synchronized with the attachments in its body. When a submitted body no longer contains an image, Action Text removes its ActiveStorage::Attachment. Active Storage then purges the dependent blob, deleting both its database record and its file. That behavior makes sense when there is only one current copy of a document. It is unsafe when the same post can be open in multiple tabs, browsers, or devices. One stale save can delete an image that another editor is still using. Why the missing images flooded the server Browser A still had the six images in its editor, each pointing at an Active Storage redirect URL: /rails/active_storage/blobs/redirect/:signed_id/:filename Pika uses the ProseMirror-based Rhino editor. Rhino rebuilt an image’s DOM node when its caption or selection changed. Each new <img> element requested its URL again. Healthy images did not cause trouble since Active Storage makes its redirect cacheable. For a purged blob, Rails returned a 404 without Cache-Control, so the browser kept sending the request to Rails instead of reusing the failure. In a gallery, typing could re-request several missing images per keystroke. In these scenarios, this issue led to hundreds of requests hitting our servers. Fix 1: Cache permanent Active Storage 404s A purged blob’s redirect URL can never start working again. Blob IDs are not reused, and uploading the image again creates a new blob with a new signed URL. Sinc there is no concern of a 404 becoming stale, we made a specific 404 cacheable for the same period as a successful redirect: # app/controllers/concerns/active_storage_missing_blob_cache.rb module ActiveStorageMissingBlobCache extend ActiveSupport::Concern included do rescue_from ActiveRecord::RecordNotFound, with: :render_cacheable_not_found end private def render_cacheable_not_found expires_in ActiveStorage.service_urls_expire_in render file: Rails.public_path.join("404.html"), layout: false, status: :not_found end end We included the concern only in the controller serving these blob redirects: # config/initializers/active_storage_missing_blob_cache.rb Rails.application.config.to_prepare do ActiveStorage::Blobs::RedirectController.include(ActiveStorageMissingBlobCache) end (We also offered an update to Rhino that avoids it being so aggressive re-requesting images.) Fix 2: Detach dropped images instead of purging them When a save removes an image from an Action Text body, we now remove the attachment while temporarily keeping its blob. Another browser can save the image again and reattach that same blob. If nothing brings it back, a cleanup job purges it later. First, we added a timestamp for when the image was dropped: class AddDetachedAtToActiveStorageBlobs < ActiveRecord::Migration[8.1] def change add_column :active_storage_blobs, :detached_at, :datetime end end We then intercepted the private callback Active Storage uses to purge a dependent blob: # config/initializers/detach_dropped_embeds.rb module DetachDroppedEmbeds private def purge_dependent_blob if dropped_from_rich_text? blob&.update_columns(detached_at: Time.now) else super end end def dropped_from_rich_text? record.is_a?(ActionText::RichText) && !destroyed_by_association end end ActiveSupport.on_load(:active_storage_attachment) do prepend DetachDroppedEmbeds end The destroyed_by_association check preserves intentional deletion. Removing an image from a saved body detaches it, but deleting the post and its rich text still purges its images normally. Purge detached blobs after a grace period The cleanup query considers both when the blob was created and when it was detached: ActiveSupport.on_load(:active_storage_blob) do scope :unattached_since, ->(time) { unattached.where( created_at: ..time, detached_at: [nil, ..time] ) } end That scope handles both kinds of unattached blobs: A new upload that has never been attached becomes eligible based on created_at. An image removed from an old post becomes eligible based on detached_at. Pika gives both a 30-day grace period: class PurgeUnattachedUploadsJob < ApplicationJob GRACE_PERIOD = 30.days def perform ActiveStorage::Blob.unattached_since(GRACE_PERIOD.ago).find_each do |blob| blob.purge_later end end end If another browser saves the image during that period, it is attached again and the unattached scope excludes it from cleanup. The result Replaying the original two-browser edit now works safely: Browser B saves a body without the six images. The attachments are removed, but their blobs are only marked as detached. Browser A saves its newer body and reattaches the existing blobs. The images remain available and do not need to be uploaded again. If no editor brings a detached image back, the cleanup job eventually purges it. Much better! Reply by email

31 minutes ago • 1 votes
Machines building machines

Yesterday, a group of MIT researchers released an article titled “Sparks of Weight-Space Programming: LLMs can natively read & write neural network weights”. The piece describes a set of experiments which convincingly show OpenAI’s latest Astra model is able to understand and successfully alter raw weight data. Wowzers! It’s a rough analogy, but an LLM’s weights are sort of like its brain. A set of weights is a large pile of numbers generated during training, and an LLM’s output is derived by running input through the weights using some matrix multiplication and a bit of randomization. While the steps to generate weights are well understood, the weights themselves are extremely opaque. There’s ongoing work to try and explain how weights work, but researchers currently have a limited understanding of what these numbers do. Based on this, I was quite surprised to learn that LLMs are able to act on raw weight data — even if it’s still just in limited cases. It’s unclear if OpenAI’s model was trained on weight data. Even if it was, I still find these results surprising. The article shows the model accurately predicting what a never-before-seen set of weights was built to do, fixing another model by updating its weights, and creating new sets of weights that performed simple tasks. I would not have guessed any of that would be possible a couple of days ago. This whole thing is slightly unnerving. The whole “weights as a black box” thing has always felt a bit sketchy to me, even when I was working with much simpler machine learning models. Now these experiments hint at a future where LLMs could be self-improving in ways that aren’t human-verifiable. Machines building machines, and we can only hope that they’re not doing anything weird. I don’t know if this strategy is scalable, but I’d guess that it’s something more people will be exploring very soon. More and more often these days, I wish we were living in less interesting times.

2 hours ago • 1 votes
Traction Heroes Ep. 48: Visions

Harry threw me off course in episode 48 of Traction Heroes. At first, I thought was reading from a book about mind mapping. Soon, it became clear it was about something else: how to define a clear vision for a team or organization. Visions are notoriously hard to articulate. Drawing a picture — especially a picture of the whole forest, plus the trees — can help. The passage Harry read from Cameron Herold’s Vivid Vision explores this idea: So to visualize something a little more tangible, think about a tree trunk in the earth, inner core with its branches stretching out into the sky. Each of those branches contains twigs extend further out. The mind map works in a similar way, a core that branches out into smaller components. Now, apply this to the world of business. As the leader of an organization, you’re firmly planted at the center, and the various areas that contribute to the business branch out: marketing, sales, engineering, and so forth. With that in place, build off that by describing those branches in about three or four bullet points each. In other words, describe what your marketing looks like and sales and so on until you’ve captured every idea. Remember too that among the branches of your business, you want to consider every aspect of the organization: the vibe, informal codes of conduct, the fiscal environment, the scenery, all of that. Deliberately leave out numbers and data. Get a feel for the place. When you step out of your time machine three years from now and walk around the office, what’s happening? What can you say that is typical of the business three years from now? The mind map is an initial foray into the vivid vision and will act as an outline for the rough draft that you, the leader, will then write. I’ve sketched diagrams before when outlining articles, workshops, and presentations, never in service of aligning around a company’s vision. Harry’s done it several times and found it easier than trying to write it out. Seems useful — check out our conversation for more: Traction Heroes episode 48: Visions

12 hours ago • 1 votes
Anecdata: running shucked WD My Book/Easystore 8TB hard drives for over 5 years

Sharing a few data points because some people did not expect these drives to last that long.

16 hours ago • 1 votes
Prove you are not a child

I'm 100% for banning social media for children. I would even extend it to banning it all together in its current form. But I am also against the methods for enforcement. The problem with banning social media for one group and not another is that you have to differentiate the different groups somehow. And right now, in an age where information and personal data means everything, there are several entities that are salivating to get this data. I've written before about all the problems that come from uploading sensitive data online. It doesn't even matter if they delete the data afterward, as long as the data goes through the wire in the first place, there is a chance for a leak. What appears to be the same simple request "please verify your identity", becomes fundamentally different when mediated by technology. The question isn't whether these digital systems will be compromised, but when. And unlike that movie theater clerk who can't perfectly recall my birthdate minutes after seeing it, computers have perfect memory. They store, copy, backup, and transmit our most sensitive information through networks we don't control, to companies we've never heard of, under policies we'll never read. When kids are not allowed to use social media, it's the adult who pays the price. It's the adult who has to prove that they are not children. They have to risk uploading their government ID to a third party, or biometric data that may be saved and backed up forever. I reject this method. I also reject the method where I have to provide my age to the operating system. No system should compel me to provide personal data in order to use it. Especially if this feature is intended to provide the information to a third party. And what happens if I don't provide this information to my freebsd machine? Or worse, what if I provide false information? Am I going to get punished? How does that protect children in any way? Breaking news: Grown up arrested when OS reported forged identity in his laptop. One question I asked myself was what happens when a minor circumvents the ban. What are the consequences? At least in Australia, a country that has implemented a social media ban for those under 16, there are no consequences. The law places legal responsibility on platforms, not children or parents, and it currently applies to Facebook, Instagram, Kick, Reddit, Snapchat, Threads, TikTok, Twitch, X and YouTube. This almost sounds reasonable. Why should you care, if it becomes facebook responsibility when you don't even own a facebook account? But there is always a caveat. When facebook becomes a tool your school uses to communicate with parents. When Google classroom is the service students use to do their homework. When you are required to login on a system to receive government service. You may not care about a particular social media, but they raise the bar for every other entrant in the game. Every website frequented by a large number of people inherently become social media, and demand data you didn't need to provide before. Technology is not a magical thing that can just solve every problem. It is especially weak when it comes to social problems. However, society can use technology to solve their problems. The responsibility of children falls onto their parents. And there are great tools for parents that their kids access on their devices.

20 hours ago • 1 votes
📚 BoredReading

You seem to be enjoying this.

Join free to unlock everything.

Create free account

Already have an account? Sign in