daily

2026-07-07
1

Wexford Chamber pre-Budget 2027 submission

Wexford Local · original → · 8/10 · Local Wexford: Chamber pre-Budget 2027 submission on economy
[image →]Pictured at the launch of the County Wexford Chamber Pre-Budget 2027 Submission at the Chamber’s head office, Hill Street, Wexford, are (l-r): Chamber President Ed Murphy, CEO Paula Roche,…
[image →]
Pictured at the launch of the County Wexford Chamber Pre-Budget 2027 Submission at the Chamber’s head office, Hill Street, Wexford, are (l-r): Chamber President Ed Murphy, CEO Paula Roche, and Vice President Ben Radford.

By Dan Walsh

County Wexford Chamber has launched its pre-Budget 2027 Submission, calling on the Government to prioritise strategic investment, strengthen business competitiveness, and build the foundations for Wexford’s future economy.

The submission, developed following extensive engagement with Chamber members, stakeholders, and public representatives, sets out a clear roadmap to unlock County Wexford’s economic potential through targeted investment and policy reform.

The Chamber’s recommendations are centred around three strategic priorities:

  • Unlocking Growth through Strategic Infrastructure
  • Making Wexford a Competitive Place to do Business
  • Building Wexford’s Future Economy

Among the key recommendations are accelerated delivery of the M11 corridor to Rosslare Europort; continued investment in Rosslare Europort and offshore renewable energy infrastructure; upgrades to water, wastewater and electricity infrastructure; measures to reduce the cost of doing business; reforms to improve workforce participation; and investment in entrepreneurship, innovation, skills and the SETU Wexford campus.

County Wexford Chamber CEO Paula Roche said the submission reflects both the ambition of Wexford businesses and the challenges they continue to face.

“County Wexford has all the ingredients needed to become one of Ireland’s leading regional economies. We have ambitious businesses, a strategic international port, significant opportunities in offshore renewable energy, a growing population, and enormous entrepreneurial talent. What we need now is delivery of measures so that County Wexford can fulfil its potential.

“The challenge is no longer one of ambition, but of execution. Businesses are telling us they need investment in infrastructure, action to improve competitiveness, and a stronger focus on developing the entrepreneurs, skills, and innovation that will drive our future economy. Budget 2027 provides Government with an opportunity to deliver on those priorities.”

The Chamber said investment in strategic infrastructure must be viewed as an investment in Ireland’s future competitiveness, rather than simply a capital cost.

“Projects such as the M11 corridor and investment in Rosslare Europort, utility infrastructure, and the SETU Wexford campus are not just regional priorities – they are investments that will strengthen Ireland’s economy, improve connectivity, support housing delivery, create employment, and enhance national competitiveness,” Ms Roche said.

The submission also highlights the significant economic opportunity presented by offshore renewable energy, calling for greater Government investment in the infrastructure, skills, and enterprise supports needed to ensure Irish businesses capture a greater share of the jobs, contracts, and long-term economic value generated by the sector.

County Wexford Chamber will now begin engaging with Ministers, Government Departments, local Oireachtas members, and key stakeholders to advance the recommendations contained within the submission ahead of Budget 2027.

2

OpenWrt One – Open Hardware Router

Hacker News · original → · 7/10 · Networking: OpenWrt open hardware router with WiFi 6 specs
OpenWrt One OpenWrt One is based on the MediaTek Filogic 820 SoC and has WiFi 6, dual-band, 3×3/2×2, 1x 2.5Gbit WAN, 1x 1Gbit LAN, 1GB DDR4 RAM, 256 MiB NAND, 16 MiB NOR (for recovery), M.2 SSD,…

OpenWrt One OpenWrt One is based on the MediaTek Filogic 820 SoC and has WiFi 6, dual-band, 3×3/2×2, 1x 2.5Gbit WAN, 1x 1Gbit LAN, 1GB DDR4 RAM, 256 MiB NAND, 16 MiB NOR (for recovery), M.2 SSD, USB-C Serial console and USB 2.0. Power Over Ethernet (POE): an IEEE 802.3af/at compliant device can power the device via the RJ-45 2.5 Gbps WAN connector. Supported Versions Hardware Highlights Note that recent (2025-10) batches of the OpenWrt One have an M.2 slot with a detached post at the 2230 position and the shipped product contains no way to attach the post. Schematics and datasheets for the OpenWrt One can be found at https://one.openwrt.org/hardware/ The OpenWrt One HowTo can be found at https://one.openwrt.org/hardware/OpenWrtOne-HowTo.pdf Installation What to Expect When You First Power Up Your OpenWrt One Each Openwrt One comes flashed with the most current OpenWrt Release Firmware available based on the current manufacturing batch date. LuCI GUI will be installed, and the device is ready to run Out Of the Box using standard default settings. - before powering up the device make sure the NAND/NOR switch is set to NAND - connect to the 1G port of the device via Ethernet through 192.168.1.1 - power on the device and wait for the green led to go solid indicating the device has booted. - point your browser to 192.168.1.1 to use the LuCI GUI or from a terminal session via ssh root@192.168.1.1 Note: If you upgrade to the SNAPSHOT Branch from the original OOB factory default, the LuCI GUI will not be installed by default. Follow the Quick Start Guide to configure the unit for your use. Upgrading the Firmware Upgrading the firmware from USB - prepare a FAT32 formatted USB drive that contains a file named openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb -- renamed from the fully versioned file from either the SNAPSHOT or Release repositories - remove power - insert the USB stick in the Type A USB Port. - make sure NAND boot switch is selected. - press and hold the button on the back side labeled Reset - power up the device. Release the Reset button as soon as all LEDS turn off. - wait for the middle LED to go green. The device will boot from NAND and the bootloader will reflash the kernel and root filesystem on the NAND. Note: You may have to try other USB drives formatted to FAT32. There are observations that some USB drives have incompatibility issues. Try using a MBR partition table. If you get a Bad device specification usb 0 error from u-boot, increasing the delay may help: | U-Boot Shell | |---| OpenWrt One> setenv usb_pgood_delay 4000 OpenWrt One> usb reset resetting USB... scanning usb for storage devices... 1 Storage Device(s) found | Note: Early OpenWrt One's (which shipped with a SNAPSHOT from before the 24.10.0 release) had an issue Green LED doesn't turn on at end of OpenWrt One USB-based sysupgrade. The upgrade still succeeds in this case. This anomaly was resolved with https://github.com/openwrt/openwrt/commit/5ef71eaafd4e128ec3708a66b5633214427da373 Upgrading using other options (ASU, Owut, Generic Sysupgrade, or Firmware Selector) Follow the relevent wiki articles: - https://firmware-selector.openwrt.org select/customize your firmware Release version or current SNAPSHOT and select REQUEST BUILD Upgrading from Booting the initramfs NAND Recovery Mode This is similar to the Upgrading the firmware from USB but differs such that the front button is held instead (and no USB stick is needed to be prepared). - remove power - make sure NAND boot is selected - press and hold the button on the Front panel. - power up the device. Release the Front panel button as soon as all Front Panel LEDS turn off. - wait for the middle LED to go green. The device will boot a recovery initramfs image. You can use any of the Upgrading using other options detailed above. Recovery For installation the factory.ubi , sysupgrade and raw kernel image are offered. In addition, the uboot bl31-uboot.fip FIP 1), factory.bin and preloader.bin are offered in NAND and (stripped down recovery) NOR variants for flashing the respective memories for recovery purposes (see relevant section). Boot into NOR/full recovery mode: Flash NAND from USB For when the unit does not boot from NAND anymore, there is a failsafe recovery method to boot from NOR. This can be used even if the TF-A 2) or bootloader on the NAND are broken. The process is similar to the the NAND recovery boot, except for the NAND/NOR switch being on NOR (and the USB flash drive needing to be prepared): - prepare a FAT32 formatted USB drive that contains the NAND preloader and the factory image from the SNAPSHOT or Current Stable Release Download Pages: - openwrt-mediatek-filogic-openwrt_one-snand-preloader.bin - openwrt-mediatek-filogic-openwrt_one-factory.ubi - remove power - insert the USB drive - make sure NOR boot is selected - press and hold the button on the front side - power up the device. Release the Front panel button as soon as all Front Panel LEDS turn off. - wait for the LED to go green The NOR recovery system will then factory re-flash the entire NAND memory. Boot into UART recovery: Flash NOR from TFTP The NOR recovery memory can be re-flashed, too. This is a two step process: - UART boot: Copy DDR4 initialization and NOR bootloader images to RAM over the UART/serial console connection using mtk_uartboot, and boot from RAM. - NOR flash: Then use the boot menu recovery to re-flash images to NOR from a TFTP server. For the second step, the SPI NOR WP jumper must be in place (factory default position) and a TFTP server must be running and connected to the One's LAN port, to serve the new images. Preparation Preparation for step 1 - UART flashing To copy image over UART, the mtk_uartboot binary needs used. It can be downloaded from the assets section of the latest Releases. Select the appropriate archive for your operating system and unpack the mtk_uartboot binary. On macOS, you may need to remove the quarantine attribute using xattr -d com.apple.quarantine mtk_uartboot . Also download the DDR4 initialization file and NOR BL31/uboot image for later transfer & boot via UART from the SNAPSHOT or Current Stable Release Download Pages in subdirectory <release-version>/targets/mediatek/filogic : - mt7981-ram-ddr4-bl2.bin - openwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip NOTE: On the page, you will see only partial file name for the second file -openwrt_one-nor-bl31-uboot.fip Preparation for step 2 - TFTP flashing Connect an ethernet cable to the computer and to the 1G LAN port of the router. On the computer, set the ethernet interface to manual settings as following: IP: 192.168.11.23 Mask: 255.255.255.0 Gateway: 192.168.11.11 Prepare a TFTP server to listen on 192.168.11.23 (the OpenWRT One will use an IP of 192.168.11.11). Download the following files from the SNAPSHOT or Current Stable Release Download Pages in subdirectory <release-version>/targets/mediatek/filogic to be served by the TFTP server (images of BL31/uboot, the preloader, and the recovery image): - openwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip - openwrt-mediatek-filogic-openwrt_one-nor-preloader.bin - openwrt-mediatek-filogic-openwrt_one-initramfs.itb - mt7981-ram-ddr4-bl2.bin NOTE 1: On the page, you will see only partial file names, e.g.openwrt_one-nor-bl31-uboot.fip foropenwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip NOTE 2: The files downloaded will have the release version in their name. You need to remove it since the router asks for a file without version. E.g.openwrt-25.12.2-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip →openwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip UART boot The following command can be used to use the downloaded mtk_uartboot to copy the boot files and open a serial console connection using GNU Screen directly thereafter, s.t., the boot menu recovery can be accessed. From there, the flashing over TFTP can be initiated. With the router still powered off run on your computer whilst connected through USB-C: path/to/mtk_uartboot --aarch64 \ --brom-load-baudrate 115200 \ --bl2-load-baudrate 115200 \ -s /dev/ttyACM0 \ -p path/to/mt7981-ram-ddr4-bl2.bin \ -f path/to/openwrt-mediatek-filogic-openwrt_one-nor-bl31-uboot.fip \ && screen /dev/ttyACM0 115200 Note: Replace the path/to with the correct paths to the downloaded files and /dev/ttyACM0 with the serial console device of the connection on your host system. You will need to elevate permissions to gain access to dialout Group for serial devices like /dev/ttyS* and /dev/ttyUSB* and uucp Group for UUCP-related tasks. Add your_username to both the dialout and uucp Groups to your linux host like this: sudo usermod -aG dialout your_username sudo usermod -aG uucp your_username Remember to log out and back in to update your permissions. With mtk_uarboot starting you will see the following output: mtk_uartboot - 0.1.1 Using serial port: /dev/ttyACM0 Handshake... Now power on the router and mtk_uartboot will continue with hw code: 0x7981 and further logs as it uploads the BL2 and FIP (Firmware Image Package). After the upload succeeded, GNU Screen should start up and you should see the boot menu. NOR update from TFTP Server Before performing the update, open the OpenWRT One and put a jumper on NOR WP . On the back of the unit, flip the switch to the NOR position. Then, power on the unit with connection to the UART serial port. Make sure to interrupt the boot process by pressing down arrow when the boot menu appears. Within the boot menu, choose 3. Unlock NOR. (Make sure the NOR/WP jumper is populated) . Then, choose the entries from the boot menu that will request the appropriate files from TFTP and flash them: - 4. Load BL31+U-Boot FIP via TFTP then write to NOR. - 5. Load BL2 preloader via TFTP then write to NOR. - 6. Load recovery system via TFTP then write to NOR. Make sure to interrupt the boot process by pressing down arrow when the boot menu appears. Within the boot menu, choose 7. Lock NOR. (Remove jumper afterwards) . Note: Successful NOR flashing is slower than when the flashing isn't actually happening. Once the firmware has been re-flashed the router can be rebooted (and the jumper removed). Acquiring Console/Serial Access (Built In) The OpenWrt One has a built-in USB-C serial console port on the front panel (next to the USB-A host port), which uses an integrated USB-to-serial converter. This typically appears as a virtual COM port on your PC without needing extra drivers. Console or Serial access to the OpenWrt One is a necessary process to ensure the maintenance, recovery, and restoration of the firmware environment. These are the general steps to connect to a console session and confirm serial communication with the OpenWrt One device. Securing TTY and serial console access To enable password prompt for TTY and serial console access see: securing_tty_and_serial_console Prerequisites - A USB-C to USB-A or USB-C cable (depending on your PC's ports). Do not use a USB-C charge/sync cable - you need a USB-C data cable to effect serial access. - A terminal emulator program on your PC host such as Putty on a Windows host or Screen on a Linux host. - Ensure the NAND/NOR Switch is set for the specific environment you want to work in. Steps - Connect the cable: Plug one end of the USB cable into your Windows or Linux PC and the other into the USB-C serial console port on the front of the OpenWrt One. This port is specifically for serial access, not power. Windows - Open Device Manager and expand the Ports (COM & LPT) section. Look for a new entry like USB Serial Device (COMX) or something labeled OpenWrt One (the exact name may vary, but it should appear after connecting). Note the COM port number (e.g. COM3 or COM5). Linux - Invoke a Terminal session and issue ls /dev/tty* . Peruse the listing for (typically)ttyACM0 orttyUSBx . You can confirm by disconnecting the cable end from the OpenWrt One and re-invoking thels /dev/tty* to confirm the expected virtual port is no longer displayed in the listing. macOS - Confirm the dialog about enabling a connected USB device - Invoke a Terminal session and issue ls /dev/tty* . Peruse the listing for (typically)tty.usbmodem00001 orttyUSBx . You can confirm by disconnecting the cable end from the OpenWrt One and re-invoking thels /dev/tty* to confirm the expected virtual port is no longer displayed in the listing. Open a terminal emulator(Windows) or a Terminal session (Linux) Windows - Launch PuTTY and select Serial as the connection type. - Enter the COM port as determined above (e.g., COM3) in the Serial line field. - Set the baud rate to 115200 and set default settings 8 data bits, 1 stop bit, no parity (8N1), no flow control, and select Open to connect to and establish serial contact to the OpenWrt One. - Press the Reset Button on the device backplane. The OpenWrt One will reset and you should see the OpenWrt Boot Sequence output from the OpenWrt One. To interrupt the Normal Boot Sequence press the space key to access the requisite NAND or NOR Boot Menu. Linux and macOS - Open a Terminal session on your host PC. - Invoke screen /dev/ttyACM0 115200 - Press the Reset Button on the device backplane. The OpenWrt One will reset and you should see the OpenWrt Boot Sequence output from the OpenWrt One. To interrupt the Normal Boot Sequence press the space key to access the requisite NAND or NOR Boot Menu. Enclosure Notes - See BananaPi OpenWrt One page for additional information. - NOR is used for recovery. In normal operations the router should be booted from NAND. - OpenWrt One official distributors on SFC: Tags [[meta:tags|How to add tags

3

GLM 5.2 and the coming AI margin collapse

Hacker News · original → · 7/10 · AI: economic analysis of AI model pricing and margins
GLM 5.2 and the coming AI margin collapse (part 1) This is a two part series focusing on what I believe is perhaps the least understood upcoming shift in AI economics. If you've enjoyed this and…

GLM 5.2 and the coming AI margin collapse (part 1) This is a two part series focusing on what I believe is perhaps the least understood upcoming shift in AI economics. If you've enjoyed this and want to be notified about the second post, please feel free to sign up for my newsletter. The real DeepSeek moment is upon us What feels like decades ago, markets recoiled at DeepSeek's R1 model. The theory being that given the underlying V3 model reportedly cost under $6m to train, the market therefore thought the huge investment in capex for model training was over, and thus the stock price of Nvidia et al collapsed overnight. Of course, this was a hugely poor read of where the costs actually lie in AI. Training - while no doubt capex intensive - is a fixed, up-front cost. You spend hundreds of millions to train a model, then you are "done".[1] Inference, on the other hand, scales with your demand. It has genuine marginal costs. I've written about this at length over the past year or so. Again, the mainstream understanding of this - that the API costs the providers charge are their real costs is mistaken. Indeed, when Anthropic/OpenAI charge $25/MTok for inference, my napkin maths suggests that this is probably something like 90% gross margin on the cost of compute vs the rack rate. It may be a bit higher, or a bit lower (OpenAI's leaked financials suggest a ~60% gross margin on revenue, but this no doubt includes a lot of other costs like support, payment processing and other services they offer), but the whole business model of frontier AI labs is in short to spend a large amount of money on salaries on compute to train a model, then amortise that cost over a lot of very profitable inference. If you can amortise that cost over enough inference you turn from profitable on a COGS basis to... actually profitable. GLM 5.2 I have been playing around with GLM5.2 from Z.ai for the last couple of weeks. I believe GLM5.2 is the first model that reaches the "bar" of a genuine open weights competitor to Opus and GPT (at the time of writing, the latest version of GPT was 5.5 - future models no doubt will exceed this). It's genuinely very good and hard for me to tell the difference between Opus - my daily driver and it. I've found that it is slow because of the amount of thinking it tends to do. For non interactive agentic tasks (like reviewing PRs in the background) which aren't time critical this is a non issue, but for interactive use it is definitely a tad too slow to keep my attention. This also somewhat reduces the cost effectiveness of it (more thinking means more tokens, which increases costs). It also doesn't have vision support. It's funny how quickly I've gone from basically never wanting to use vision (because it was so inaccurate, I'd often pause sessions when I caught it using vision), to using it all the time - since Opus 4.7 introduced far higher resolution vision capabilities. It's genuinely frustrating it not being able to read image-based PDFs, screenshots and design files. I'm sure they have a more multimodal model in the works, but this is a significant weakness against the frontier labs. Secondly, and something I really didn't expect to be a blocker, is the lack of/poor web search capabilities. It turns out that nearly every agentic session does a lot of web searching for looking up items. Z.ai provides a replacement MCP for web search, but it's pretty awful and slow. Fireworks doesn't provide any, though they gave me a very vague answer saying they are always looking to improve products. I would take that as no plans personally, but let's see. I've managed to somewhat work around this by telling the agent to use a CLI based web search like ddgr, but this is a real weakness right now. I am very bullish on the potential of 3rd party web search APIs. This is actually a huge gap in what open weights model providers can offer, and it turns out great web search capabilities are essential for many agentic tasks. Regardless, this no doubt will be solved with time - there are many people building web search indexes and it just requires the right partnerships and plumbing in place. Drop in replacement Where it gets really scary for the frontier labs is how easy it is to migrate to open weights models. Both Z.ai and Fireworks offer both an OpenAI compatible and Anthropic compatible endpoint. This makes it absolutely trivial to use with Claude Code and Codex. You just set the base URL to point to your inference provider, give it the API key and tell it to use GLM5.2. Given Anthropic recently announced (then backtracked) on charging API rates for claude -p non interactive agentic use, you will find for many/most of those use cases you can just drop in GLM instead. And for interactive use, apart from the lack of vision and slow(er) speed[2], it was genuinely almost impossible for me to realise I wasn't using Opus in Claude Code. This is not Microsoft or Salesforce like lock in, where you need to spend years planning a migration. The switching costs are incredibly low, and I would argue that are actually far less than trying to keep up on all the policy and term changes that the frontier lab models tend to scramble around with. It's possible that Claude Code will make it harder to use 3rd party providers, but there are many good open source options (like Codex itself and OpenCode, amongst dozens). One concern I do hear from enterprise is data privacy and security. There is no doubt that using Z.ai's official API and subscription is almost certainly a non-starter, with their terms being at best weak and the deep connection to Mainland China. But of course, with open weights being open there are many other providers in the market, many with proper contractual provisions. And, if that isn't enough, you can of course host in on premises yourself, which actually opens up even more sensitive data - that couldn't be sent to any third party - to Opus-quality agentic workflows. Cost savings The going rate for GLM5.2 seems to be around the $4.40/MTok mark. This is less than 20% of the retail price of Opus and ~15% the cost of GPT5.5. Now, given it does use more tokens for a given task, this isn't a totally apples to apples comparison. But I'd be very surprised if it wasn't more than 50% cheaper for nearly all workflows, for a very similar level of quality. In terms of subscriptions, Z.ai offers a "coding plan" subscription which mirrors the plans you'd see from Anthropic and OpenAI, but with a higher claimed usage limit. I expect for most professional use the very lax terms around training and data retention will make this a difficult sell, but if the frontier labs were to try and increase pricing substantially I can see it being a credible option for those that are budget-conscious. I expect these costs for GLM5.2 to come down significantly over the coming months as well, as more optimisation is done to the serving stack(s). Wafer wrote an interesting write up of their efforts to run it on AMD hardware. They suggest that it is 2.75x cheaper per token to run inference on AMD vs Nvidia Blackwell. Part two is where this gets interesting - what a collapse in inference margins actually does to the industry, and who is likely to win and lose. I'd keep Bezos's famous "your margin is my opportunity" line in mind. If you'd like me to drop it in your inbox the moment it's out, sign up to the newsletter - or grab the RSS feed if that's more your thing. Disclosure - Fireworks kindly gave me some free credit to experiment with GLM to help write this article. This is a simplification - the frontier labs are effectively training new models constantly to stay competitive, so it's really a rolling cost rather than a true one-off. The key distinction still holds though: unlike inference, that cost doesn't scale with how much customers actually use the product. ↩︎ To be fair, the slowness is mostly the model thinking a lot rather than the serving itself - Fireworks launched GLM5.2 at genuinely quick tokens/sec, which was a huge improvement and well worth keeping an eye on, though in practice I found it a bit temperamental at how fast it actually was. ↩︎

4

Ternlight – 7 MB embedding model that runs in browser (WASM)

Hacker News · original → · 7/10 · AI/Platforms: 7MB embedding model running in browser WASM
Runs in your browser no API call An embedding model in 7 MB. Runs on your CPU. No API. Drop it in, embed text in milliseconds, and never call a server. Runs in your browser no API call Engine +…

Runs in your browser no API call An embedding model in 7 MB. Runs on your CPU. No API. Drop it in, embed text in milliseconds, and never call a server. Runs in your browser no API call Engine + weights · 7 MB mini variant · 5 MB Fast embeddings · ~5 ms CPU only · no GPU USE IT Ships as a single npm package. No model download step, no server. npm install @ternlight/base import { embed, similar } from '@ternlight/base'; similar('easy weeknight dinner ideas', recipes, { topK: 3 }); // → ranked matches · ~5 ms · zero network EXAMPLE Search React's docs in your browser. Type a question — powered by @ternlight/mini, the 5 MB tier. Loading the engine…

5

🎙️ How I AI: Sonnet 5 review & How to run autonomous coding agents from your phone

Lenny's Newsletter · original → · 7/10 · AI: Sonnet 5 review and autonomous coding agents
[image →]Sonnet 5 review: I ran 64 generations to find out if it’s worth itListen now on YouTube • Spotify • Apple Podcasts[image →]Brought to you by:Runway—The creative AI platform for images,…

Sonnet 5 review: I ran 64 generations to find out if it’s worth it

Listen now on YouTubeSpotifyApple Podcasts

Brought to you by:

  • Runway—The creative AI platform for images, video, and more

  • Hyperagent—Deploy fleets of agents that handle real work

Claire puts Anthropic’s new Sonnet 5 through a real benchmark. She builds the How I AI Bench live using Claude Code, then blind-tests Sonnet 5 against Sonnet 4.6, Opus 4.8, GPT-5.5, and Gemini 3 Pro across PRDs, prototypes, agentic tasks, and agent personality. She breaks down what won, what failed, and how builders can create their own repeatable benchmark before trusting the next model release.

Biggest takeaways:

  1. Sonnet 5 is priced closer to previous Sonnet models than to Opus, but it doesn’t automatically replace either one. At $2 per million input tokens and $10 per million output tokens through the end of summer, Sonnet 5 sits in an interesting middle band. In Claire’s benchmark, it finished near the bottom of her personal preference ranking, which means the cost argument only holds if the quality argument also holds for your specific use case.

  2. One-off vibe checks feel useful, but they’re not repeatable—and repeatability is what makes a benchmark actually matter. Claire has tested GPT-5.5, open-weight models like GLM-5.2, and others this way before, but she could never compare results across time. The How I AI Bench fixes that by using frozen inputs, a fixed rubric, and the same tasks every time a new model comes out.

  3. Claude Code can read old session history and use it to generate benchmark ideas tailored to a person’s actual work. Claire gave Claude Code a simple prompt asking it to brainstorm eval tasks based on what they’d worked on together, and it pulled from stored sessions on her desktop. Builders can do the same with Codex. That context is sitting there unused for most people.

  4. Building an HTML scoring page to rate outputs based on gut feel and export JSON takes maybe 45 minutes with Claude Code, and Claire argues it’s worth every minute. She scored 64 generations across five models by hand, gave each one a 1-to-5 gut score, added loose notes, and found that the human signal turned out to be the most useful part of the whole benchmark.

  5. LLM-as-judge evals are too generous and cluster toward the middle of the scale. Claire had both GPT-5.5 and Opus 4.8 judge the outputs, and neither was spiky enough. They missed things she flagged immediately on a visual pass, like broken prototypes and ignored wireframe constraints. Models can’t yet see what the human eye catches in the first screenshot.

  6. Claire’s taste and the automated benchmark disagreed almost completely, and she thinks her taste was at least partly right. The LLM judges ranked Gemini 3 Pro highest and Sonnet 4.6 lowest. Claire’s ranking was almost exactly the opposite. When she ran a 70/30 Claire-to-LLM weighted index, Sonnet 4.6 jumped to first. That divergence tells her the eval rubric needs to encode more of what she actually cares about before she can trust the automated scores.

  7. Sonnet 4.6 is still Claire’s choice for daily agent work because of its personality, not its benchmark scores. She pays for API credits to run her OpenClaw on Sonnet 4.6 specifically because she likes how it talks to her. No other model in this test matched it on the voice eval, which asked things like “ugh, deploys are red again” and waited to see how the model responded.

  8. For builders, Claire recommends GPT-5.5 for PRDs, Sonnet 4.6 for prototypes and chitchat, and Opus 4.8 or Sonnet 5 for codebase navigation. Those are the task-by-task recommendations that came out of the Claire-weighted index. Complex, dense UI work is where Opus 4.8 still earns its price premium; for everything simpler, Sonnet 4.6 holds up.

  9. The How I AI Bench is version one, and a lot of it needs to get sharper. The agentic bug-hunting task turned out to be too easy: every model aced it, which means it can’t differentiate between good and great. Claire plans to retire that task, encode more of her taste into the rubric, and keep running the benchmark blind every time a new model drops. The goal is to make this a benchmark the labs actually care about.

Blog and detailed workflow walkthroughs from this episode:

Building a Custom Benchmark for Sonnet 5, and Why the Results Surprised Me: https://www.chatprd.ai/how-i-ai/sonnet-5-review-and-custom-benchmark

How to Conduct a Blind ‘Vibe Check’ to Evaluate AI Model Quality: https://www.chatprd.ai/how-i-ai/workflows/how-to-conduct-a-blind-vibe-check-to-evaluate-ai-model-quality

How to Build a Custom AI Model Benchmark Using Claude Code: https://www.chatprd.ai/how-i-ai/workflows/how-to-build-a-custom-ai-model-benchmark-using-claude-code

How to Create a Weighted Index for AI Model Benchmark Results: https://www.chatprd.ai/how-i-ai/workflows/how-to-create-a-weighted-index-for-ai-model-benchmark-results

How I run autonomous coding agents from my phone with OpenAI Symphony + Linear | Alessio Fanelli (Kernel Labs)

Listen now on YouTubeSpotifyApple Podcasts

Brought to you by:

Alessio Fanelli, the founder of Kernel Labs and co-host of Latent Space podcast, shows Claire how he manages autonomous coding agents from his phone using OpenAI Symphony, Linear, and a cloud VPS. He walks through the shift from “agent prompter” to “agent manager,” explains why Linear works as a state machine for async agent work, and shares what he’s learned from tracking token costs, purging skills files, and giving agents better senses. He also demos a very different use case: using Codex with browser access to hunt for underpriced Pokémon cards on eBay.

Biggest takeaways:

  1. The shift from “agent prompter” to “agent manager” is the unlock most people are still missing. Alessio described how early agentic workflows felt fine until the second or third intervention, when the friction of local runtimes and clunky interfaces killed momentum. Moving to a cloud VPS with multiple communication channels (Linear, shell, mobile) made real async management possible.

  2. Symphony isn’t magic; it’s just a very opinionated Markdown spec that tells the model how to behave. Claire made this point explicitly during the episode, and it’s the most important corrective to the “complex agent orchestration” framing that intimidates people. The whole framework is a Markdown file, and the models are good enough now to lock to it faithfully.

  3. Token cost tracking per task is the primitive that most agent setups don’t have, and it should be table stakes. Alessio showed tasks ranging from 15 million to 221 million tokens, and the 221-million-token job (making an app deployable on Vercel) made complete sense in hindsight. Without that ledger, you have no feedback loop for improving your specs or your tooling.

  4. Purge your skills files every few months or they become a liability. Models have a strong tendency to add instructions rather than replace them, so a skills file that grows over time eventually contradicts itself. Alessio’s advice is to keep files short, tight, and explicit about what the agent needs to ask for, not exhaustive lists of every possible behavior.

  5. AI’s biggest unlocked opportunity is businesses built on heterogeneous data. The category Alessio described—things like trading cards, vintage clothing, and fish inventory—has always been impossible to scale because the data is inconsistent, visual, and contextual. LLMs are the first technology malleable enough to handle that messiness without extensive preprocessing.

  6. Giving agents better senses (screenshots, visual diffs, video) extends autonomous runs dramatically. Kernel Labs built Glimpse, a Playwright extension for coding agents, specifically because the bottleneck wasn’t orchestration but rather agents hitting ambiguity in the UI and calling for help. Better tooling at the perception layer keeps the run going.

  7. Context offloading is an underrated AI use case, and it’s worth building deliberately. Alessio’s email monitoring setup gave him the certainty that nothing important was slipping through, which removed a low-grade background anxiety. The same logic applies to personal finance, inventory, and any domain where staying on top of information is taking cognitive bandwidth you’d rather spend elsewhere.

  8. The Pokémon card demo is the clearest proof that AI is compressing the information advantage that scale used to provide. Finding underpriced PSA-graded cards at $10,000-plus price points was previously a function of having more time, more people, and more domain expertise than competitors. Codex with browser access and a custom pricing skill collapses that advantage to a single well-written prompt.

  9. Small businesses are the most interesting AI story, and they’re being underreported. Alessio’s observation from Japan, that small two- and three-person operations are running happily and profitably, points to a different kind of AI opportunity than the enterprise narrative suggests. The leverage AI gives a one-person operation is asymmetric in a way that bigger organizations can’t replicate at the same cost.

Blog and detailed workflow walkthroughs from this episode:

How Alessio Fanelli uses Open AI Symphony for Autonomous Coding and Pokémon Card Trading Workflows: https://www.chatprd.ai/how-i-ai/alessio-fanelli-uses-open-ai-symphony-for-autonomous-coding-and-pokemon-card-trading

Build an AI Agent to Find Underpriced Pokémon Cards for Arbitrage: https://www.chatprd.ai/how-i-ai/workflows/build-an-ai-agent-to-find-underpriced-pok-mon-cards-for-arbitrage

Automate Software Development with an AI Agent Manager using OpenAI Symphony and Linear: https://www.chatprd.ai/how-i-ai/workflows/automate-software-development-with-an-ai-agent-manager-using-openai-symphony-and-linear


If you’re enjoying these episodes, reply and let me know what you’d love to learn more about: AI workflows, hiring, growth, product strategy—anything.

Catch you next week,
Lenny

P.S. Want every new episode delivered the moment it drops? Hit “Follow” on your favorite podcast app.

6

How I run autonomous coding agents from my phone with OpenAI Symphony + Linear | Alessio Fanelli (Kernel Labs)

Lenny's Newsletter · original → · 7/10 · AI/Platforms: autonomous coding with OpenAI Symphony
Alessio Fanelli, founder of Kernel Labs and co-host of Latent Space podcast, walks us through two very different AI workflows: (1) a fully autonomous coding setup using OpenAI Symphony + Linear,…

Alessio Fanelli, founder of Kernel Labs and co-host of Latent Space podcast, walks us through two very different AI workflows: (1) a fully autonomous coding setup using OpenAI Symphony + Linear, where Linear acts as a state machine and Symphony manages agents through the whole dev lifecycle with zero babysitting; (2) Codex with browser access searching eBay for underpriced Pokémon cards—autonomously browsing, extracting PSA certificate numbers, and flagging deals on $10K–$20K cards for his San Carlos card shop, Merlin Games.

Listen or watch on YouTube, Spotify, or Apple Podcasts

What you’ll learn:

  1. Why “agent manager” is a better mental model than “agent prompter”

  2. Why local Mac Minis don’t scale, and what a cloud VPS unlocks

  3. How to wire Symphony and Linear together as an agent state machine

  4. How to track token costs per task (and what 221 million tokens buys you)

  5. What Glimpse does, and why better agent senses extend autonomous runs

  6. Why your CLAUDE.md probably needs a full purge, not more instructions

  7. How Codex scouts underpriced $10K Pokémon cards on eBay at scale

  8. The new category of small business that AI just made possible


Brought to you by:

Firecrawl—Power AI agents with clean web data

Jira Product Discovery—Prioritize with insights, build with confidence

In this episode, we cover:

(00:00) Intro

(02:24) Prompter vs. agent manager

(04:31) Live demo: Symphony + Linear

(09:31) Setting up Symphony

(14:15) Purging your skills files

(18:06) The benefits of this system

(19:10) Demo: Using Codex to hunt for Pokémon cards

(24:17) The benefit of AI for small businesses

(28:23) Lightning round

Tools referenced:

• OpenAI Codex: https://openai.com/codex

• OpenAI Symphony (open-source framework): https://github.com/openai/symphony

• Linear (project management/agent state machine): https://linear.app

• PSA (Professional Sports Authenticator) grading: https://www.psacard.com

• TCGplayer (card pricing): https://www.tcgplayer.com

• eBay (used for card price scouting): https://www.ebay.com

Other references:

• Meta Ray-Ban glasses: https://www.ray-ban.com/usa/ray-ban-meta-smart-glasses

The Monk and the Riddle by Randy Komisar: https://www.amazon.com/Monk-Riddle-Creating-Making-Living/dp/1578516447/ref=sr_1_1

The Divine Comedy by Dante Alighieri: https://www.amazon.com/dp/0451208633

• AS Roma (football club Alessio and Claire are both fans of): https://www.asroma.com/en

Where to find Alessio Fanelli:

X: https://x.com/FanaHOVA

Latent Space podcast: https://www.latent.space/

Where to find Claire Vo:

ChatPRD: https://www.chatprd.ai/

Website: https://clairevo.com/

LinkedIn: https://www.linkedin.com/in/clairevo/

X: https://x.com/clairevo

Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email jordan@penname.co.

Items scoring 7/10 or above from 11 sources, scored by claude-haiku-4-5-20251001 on relevance to my interests. At most 3 per source.

Scoring categories & sources
  1. Local Wexford or South East Ireland news
  2. Irish or EU-wide affairs affecting citizens broadly: elections, new laws or policy being debated, cost of living, education — especially impacts on mid-life adults or teenagers. Never courts/crime stories.
  3. Irish news on a topic relevant to my interests
  4. Work and tech topics: networking, AI, Kubernetes, platforms, SaaS
  5. AI news including critical or anti-AI perspectives
  6. Gaming: PC gaming, indie gaming, retro gaming
  7. General interests: gardening, woodwork, cycling, fitness, travel
  8. Comics

Sources: Breaking News Ireland, Wexford Local, Hacker News, r/gaming, r/pcgaming, r/antiAI, r/indiegaming, Lenny's Newsletter, One Useful Thing, Newcomer, Simon Willison

Comics

Offside

XKCD · view →
The arbiter gave my knight a red card for capturing with cleats up :(

The arbiter gave my knight a red card for capturing with cleats up :(