daily

2026-08-14
1

Tiny Little Library launches at Wexford General Hospital

Wexford Local · original → · 8/10 · Local Wexford: library launch at Wexford General Hospital
[image →]Pictured at the Tiny Little Library at Wexford General Hospital, provided by Wexford Libraries, were Aileen Kehoe, Nuria Tasies, Yvonne Smith (Senior Executive Librarian), Caroline Manley,…
[image →]
Pictured at the Tiny Little Library at Wexford General Hospital, provided by Wexford Libraries, were Aileen Kehoe, Nuria Tasies, Yvonne Smith (Senior Executive Librarian), Caroline Manley, Laura Hanley, Theresa Kelly (Librarian), Mary O’Shea, Angel Chege and Libi Rachel Sam. (Pic; Jim Campbell).

By Dan Walsh

The Tiny Little Library at the Special Care Baby Unit (SCBU) in Wexford General Hospital has been launched bringing the power of stories, language, and connection to some of the county’s smallest and most vulnerable babies.

Tiny Little Library is an innovative partnership between Wexford Library Service and the neonatal team at Wexford General Hospital.

The initiative provides a collection of carefully selected books that parents can read aloud to their premature and hospitalised babies, helping families bond during what can be a challenging and emotional time.

The Tiny Little Library collection in Wexford SCBU will give families access to specially chosen books designed to be read aloud, creating opportunities for comfort, connection and communication from the earliest days of life.

The initiative also links families with their local public library, ensuring continued access to books, resources and support after their baby returns home.

Cathaoirleach Cllr. Lisa McDonald said: “Tiny Little Library provides a simple but powerful way for parents to spend time with their baby, using their voice, stories and books to nurture connection, comfort and development. We are delighted to work with Wexford General Hospital SCBU on this worthwhile initiative.”

Yvonne Smith, Senior Executive Librarian said: “A love of reading starts with a shared story. We are proud to support families in the SCBU with this Tiny Little Library, where every book opens a world of possibilities. This Tiny Little Library is a celebration of reading, family, and the power of books to comfort, inspire, and connect us.”

Caroline Manley, SCBU, Wexford General Hospital said: “Every interaction matters for babies in neonatal care. Reading aloud gives parents a meaningful role in their baby’s care journey while supporting early communication and bonding. We are delighted to partner with Wexford Library Service on this important initiative.”

Tiny Little Library builds on successful programmes already operating in some neonatal units around Ireland as a partnership with hospitals and public libraries to support families from the very start of their child’s life through books, language and relationships.

2

Celebrate National Heritage Week

Wexford Local · original → · 8/10 · Local Wexford: National Heritage Week events in County Wexford
By Dan Walsh National Heritage Week kicks off on Saturday, August 15th with free events across the country and plenty to explore in Co. Wexford. It continues until August 23rd. This year’s theme is…

By Dan Walsh

National Heritage Week kicks off on Saturday, August 15th with free events across the country and plenty to explore in Co. Wexford. It continues until August 23rd.

This year’s theme is ‘Heritage at Risk’ and encourages built, natural and cultural aspects of our heritage that are endangered for use to reimagine and revive these sites, artefacts and practices.

It is impossible for WexfordLocal.com to publish all Heritage Week events for Co. Wexford, however, the kind staff at Enniscorthy Castle and the National 1798 Rebellion Centre at Enniscorthy sent us their programme of events and here it is;

[image →]

There are 2,500 events nationally. For details of your chosen Heritage Week highlights contact www.heritageweek.ie

3

Kubernetes on Oxide: How customer needs shaped our integrations

Hacker News · original → · 8/10 · Work: Kubernetes integration on Oxide infrastructure platform
Kubernetes on Oxide: How Customer Needs Shaped Our Integrations In late 2024, customers and prospects were eager to run Kubernetes on Oxide, but we had no supported integrations to help them do it.…

Kubernetes on Oxide: How Customer Needs Shaped Our Integrations In late 2024, customers and prospects were eager to run Kubernetes on Oxide, but we had no supported integrations to help them do it. Kubernetes and Oxide are a natural fit. Kubernetes defines the infrastructure behavior it expects through standard extension points, while Oxide exposes the primitives needed to implement that behavior through APIs. The foundation for integration was there. What was missing was the software and an understanding of which integrations customers actually needed. That was the situation when I joined Oxide as its first Solutions Software Engineer,[1] focused on building software to solve customer problems. My first assignment was to make it easier to deploy and operate Kubernetes on Oxide. In my first week, I was handed two resources to help me get started: A customer-submitted pull request for a Rancher node driver An early draft of RFD 493 Initial Kubernetes Integrations What began with those two resources grew into a team effort shaped by a feedback loop. Rather than design integrations in the abstract, we followed the problems customers encountered as they moved from provisioning clusters to operating workloads. This post follows those problems across the Kubernetes lifecycle rather than in strict chronological order. Different provisioning workflows led us to Rancher, Omni, and Cluster API. Running clusters required infrastructure reconciliation, exposing applications revealed networking gaps, and stateful workloads exposed storage constraints. At each stage, customer workflows exposed the next gap, shaping both the integrations we built and the platform work still ahead. How do I provision a Kubernetes cluster on Oxide? The first gap we tackled was provisioning. Our immediate goal was to unblock the customer who had submitted the Rancher node driver pull request. Working through their use case would also give us firsthand experience creating Kubernetes clusters on Oxide and help us uncover the next problems to solve. No single provisioning approach fit all customers' workflows, so we ended up publishing three integrations. Rancher Node Driver Before we could maintain the customer-submitted integration, we needed to understand the workflow it supported. I had never used Rancher or worked with a node driver, so reviewing the contribution meant learning both. A Rancher node driver is an executable plugin that teaches Rancher how to create and manage virtual machines on a particular infrastructure platform. The Oxide Rancher node driver translates those operations into Oxide API requests. Once installed in Rancher, it lets customers provision Oxide instances as nodes in Rancher-managed Kubernetes clusters. Testing confirmed that the customer’s implementation worked. I merged the pull request, added CI/CD and documentation improvements, and published the initial release. Oxide officially had its first Kubernetes integration—and a customer was already using it successfully in production! If you’re a Rancher shop looking to run Kubernetes on Oxide, see our Rancher guide to get started. Omni Infrastructure Provider Customers expressed interest in using Sidero Labs' Omni to provision Kubernetes clusters running Talos Linux. Omni connects to infrastructure platforms through infrastructure providers, programs that create Talos Linux instances and register them with Omni. With KubeCon North America 2025 a few months away, we saw an opportunity to partner with Sidero Labs to build and showcase an Oxide infrastructure provider for Omni. We had seven weeks to complete it before our Oxide+Sidero event.[2] Building against a second provisioning platform would also test Oxide’s APIs across distinct customer workflows. The integration work uncovered several issues across Omni and Talos Linux. I brought those issues to Sidero Labs in siderolabs/omni#1633, where their team was eager to work with us—a lovely reminder of RFD 68 Partnership as Shared Values. The most memorable issue was siderolabs/talos#11948. Oxide uses a FAT12 filesystem for cloud-init user-data, not ISO 9660, but Talos’s filesystem probe only attempted to read an ISO 9660 superblock from the NoCloud configuration disk. When that read failed, the probe stopped instead of trying other formats such as VFAT or MS-DOS. As a result, Talos never read the Oxide user-data containing the configuration needed to join Omni. The fix would not be released in time for KubeCon, leaving us with a rather funny workaround. The workaround right now is to pad the user-data with comments to increase its size enough that it uses an ISO 9660 superblock. KubeCon arrived and we hosted an Oxide+Sidero event to showcase the Oxide infrastructure provider for Omni. Customers could now use this infrastructure provider to provision Oxide instances running Talos Linux as nodes in Omni-managed Kubernetes clusters. If you’re an Omni or Talos Linux shop looking to run Kubernetes on Oxide, see our Omni guide to get started. Cluster API Provider We knew we wanted to build an infrastructure provider for Kubernetes Cluster API (CAPI) when we first wrote RFD 493 Initial Kubernetes Integrations. Cluster API offered something our first two integrations did not—an upstream, provider-extensible API for managing clusters without requiring a third-party platform like Rancher or Omni. CAPI lets operators declaratively create, scale, upgrade, and delete Kubernetes clusters through Kubernetes custom resources. Infrastructure providers handle the platform-specific work, such as creating and deleting virtual machines. Building one is a significant investment. At the time, customer demand and engineering capacity did not yet justify that investment, so the project was deferred. Eventually, both changed. Customers began asking for a CAPI provider, and the Solutions Software Engineering team grew. My teammates Josh and Brandon took ownership of the work and released Cluster API Provider Oxide (CAPOx), giving customers a Kubernetes-native way to provision clusters on Oxide. The Cluster API workflow also exercises several of our other integrations, allowing us to dogfood[3] the end-to-end cluster workflow. The Kubernetes Image Builder uses our Packer plugin to create CAPI-ready Oxide VM images, which CAPOx uses when provisioning instances. Clusters provisioned with CAPOx also use the separately installed Oxide cloud controller manager (CCM) to integrate Kubernetes with Oxide at runtime. If you want to provision Kubernetes clusters on Oxide with Cluster API, see our Cluster API guide to get started. How does Kubernetes track Oxide instances? Provisioning integrations create and manage Oxide instances, but they do not reconcile those instances with Kubernetes Node objects. Without that reconciliation, a cluster could not reliably determine whether an unreachable Kubernetes node was temporarily unavailable or whether its backing Oxide instance had been deleted. We needed a component that ran in each cluster, spoke to the Oxide API, and continuously reconciled Oxide infrastructure with Kubernetes state. Kubernetes provides a standard extension point for this purpose: the cloud controller manager (CCM). A CCM lets infrastructure-specific controllers integrate Kubernetes resources with an infrastructure provider’s API without adding provider-specific code to Kubernetes itself. We built the Oxide cloud controller manager to connect Kubernetes with Oxide. Its node controller keeps Kubernetes Node objects synchronized with their backing Oxide instances, recording details such as instance IDs and network addresses, and reporting whether each instance is running, shut down, or no longer exists. Kubernetes uses this information to initialize nodes and safely remove them when their backing instances are deleted. The CCM does not create instances or provision clusters. That remains the job of provisioning integrations such as the Rancher node driver, the Omni infrastructure provider, and CAPOx. Instead, it provides a runtime integration shared across those provisioning workflows. Importantly, building the CCM gave us a durable extension point inside each cluster. As Oxide evolves, we can add new infrastructure-aware controllers to the CCM rather than update every provisioning integration. With that runtime extension point in place, we could address another layer of the Kubernetes experience: exposing applications. The CCM architecture also defines a service controller for Kubernetes LoadBalancer services, giving us a place to address the next customer problem. How do I use LoadBalancer services? One of the capabilities customers expect from cloud-integrated Kubernetes is support for Service objects of type LoadBalancer . When a user creates one, Kubernetes asks the cloud provider’s service controller to provision the necessary infrastructure and publish its address in the Service status. There was just one problem: Oxide did not yet offer a native load balancer. Oxide did, however, have floating IPs. Floating IPs are addresses from a rack’s external IP pools that can be attached to and detached from instances, making those instances reachable from outside their VPCs. Using floating IPs offered a way to unblock LoadBalancer services. A floating IP would deliver traffic to a single Kubernetes node, and the Kubernetes Service dataplane could distribute that traffic to the appropriate pods. Making that work required accounting for how Oxide floating IPs appear to an instance. They are transparent to the guest in two important ways. First, Oxide translates the destination address of inbound traffic to the instance’s internal IP before sending the traffic to the instance. Second, the instance has no network interface configured with the floating IP. The resulting traffic flow looks like this: LoadBalancer service using floating IPs.┌────────────────────────────────────────────────────────────┐ │ Client │ │ Request to floating IP: 45.154.216.233:80 │ └────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────┐ │ Oxide networking │ │ Translates destination to internal IP: 172.30.0.5:80 │ └────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────┐ │ Kubernetes node │ │ Packet arrives at internal IP: 172.30.0.5:80 │ └────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────┐ │ Kubernetes Service dataplane │ │ Selects a Service endpoint │ └────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────┐ │ Pod │ │ Receives traffic on its target port │ └────────────────────────────────────────────────────────────┘ That address translation created a subtle integration problem. The Kubernetes Service dataplane needed to treat the node’s internal IP as a Service frontend because that was the destination address packets actually carried when they reached the guest. The service controller therefore publishes two entries in status.loadBalancer.ingress :[4] The attached floating IP in Proxy modeThe node’s internal IP in VIP mode The status entries look like this: status: loadBalancer: ingress: - ip: 45.154.216.233 ipMode: Proxy - ip: 172.30.0.5 ipMode: VIP As a result, the kubectl output looks a little unusual: $ kubectl get service nginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx LoadBalancer 10.106.122.233 45.154.216.233,172.30.0.5 80:30605/TCP 37h Users see both the floating IP and the node’s internal IP in the EXTERNAL-IP column, even though only the floating IP is externally reachable. This is an imperfect abstraction, but it allows us to support a common Kubernetes workflow while waiting for a native Oxide load balancer. This implementation currently supports externalTrafficPolicy: Cluster ,[5] which allows the selected node to forward traffic to a Service endpoint anywhere in the cluster. If that node disappears, the CCM moves the floating IP to another eligible node and updates the internal address in the Service status. When Oxide introduces a native load-balancing service, we can update the service controller to use it without changing the Kubernetes interface. Customers will continue creating the same LoadBalancer services and only the infrastructure behind them will change. To install the Oxide CCM on your cluster, see our CCM guide to get started. How do I use Oxide storage in Kubernetes? With clusters provisioned, reconciled with Oxide, and reachable from outside their VPCs, storage for stateful workloads became the next layer to address. Kubernetes users request persistent storage through PersistentVolumeClaim objects and expect a Container Storage Interface (CSI) driver to create, attach, and mount the underlying volumes. Oxide had disks, but Kubernetes had no native way to manage their lifecycle. Without an Oxide CSI driver, customers could deploy a third-party Kubernetes storage system such as Longhorn. Longhorn provides its own CSI driver and replicates data across disks attached to Kubernetes workers. However, using Longhorn meant backing its replicas with Oxide distributed disks, which already store three replicas on distinct sleds. Layering one replicated storage system on another can create substantial write fan-out. When a three-replica Longhorn volume is backed by three-way-replicated Oxide distributed disks, one application write can fan out to as many as nine disk writes. The exact physical write amplification depends on the workload and configuration, but customers wanted to avoid that duplicated replication. The introduction of Oxide local disks provided a way to remove the second layer of replication. Local disks have no built-in replication and remain tied to their sled, making them well suited to systems such as Longhorn that replicate data across Kubernetes nodes. Our Rancher showcase uses this approach today. It avoids stacking two replicated storage systems, though Longhorn still manages the storage lifecycle rather than a native Oxide integration. For a native integration, my teammate Luiz wrote RFD 595 Oxide CSI Plugin. The workflow seemed straightforward on paper. When a user creates a PersistentVolumeClaim , the CSI controller creates an Oxide distributed disk. After Kubernetes schedules the pod, the controller attaches that disk to the selected Oxide instance, and the CSI node plugin formats and mounts it for the pod. If the pod is rescheduled onto another node, the controller detaches the disk and reattaches it to the new node. Prototyping that workflow immediately exposed a blocker. Oxide requires an instance to be stopped before attaching or detaching a disk. Kubernetes, however, expects a CSI driver to attach storage to a running worker after scheduling a pod. Stopping the worker would disrupt every other workload on the node and could trigger cascading scheduling and attachment operations. Before we can release our CSI plugin, we need to add support for disk hot-plug throughout the Oxide stack, from the hypervisor all the way up to the API. What began as a Kubernetes integration has turned into a project spanning multiple layers of the Oxide software stack. Disk hot-plug and the Oxide CSI plugin remain under active development as of this writing. In the meantime, customers can use software such as Longhorn with Oxide local disks for dynamically provisioned persistent storage without stacking two layers of replication. When the native CSI plugin ships, customers will be able to use familiar Kubernetes storage APIs backed directly by Oxide distributed disks with replication and durability built in. What’s next? The result is not a single Kubernetes integration but a growing ecosystem. Rancher, Omni, and Cluster API provide different paths for provisioning, while the Oxide CCM provides a shared runtime integration for node reconciliation and LoadBalancer services. Customers already use some of these integrations in production, and we dogfood several in our own production workloads. Together, they provide a solid foundation to build on. Our next step is to expand our dogfooding with the newly released Cluster API provider. Using it to provision and operate more of our clusters will test how these integrations work together day to day. We still have plenty to build and polish. Our near-term work includes completing disk hot-plug and shipping the CSI plugin, adding autoscaling support, and extending the CCM service controller to support external subnets. Longer term, as we ship resource tagging, OIDC support, and native load balancing, we’ll extend our Kubernetes integrations to take advantage of them. Building these integrations showed how the architectures of Kubernetes and Oxide complement one another. Kubernetes gives infrastructure providers standard extension points, while Oxide exposes infrastructure primitives through APIs. Oxide’s hardware and software co-design lets us address integration blockers at the layer where they belong and carry the necessary changes through the full stack. This work also lets us exercise our SDKs and APIs from our customers' perspectives and turn customer friction into product improvements. That feedback loop is how we will continue growing this ecosystem. Customer needs shaped each integration in this post, and they will shape the next one, too. See it in action To see the Cluster API and cloud controller manager integrations in action, watch the video below, in which I deploy a Kubernetes cluster on Oxide. - 1 There’s a team now! Check out the Oxide and Friends episode Solutions Software Engineering with Matthew Sanabria. View - 2 Our Oxide+Sidero event was November 12, 2025. Work on the Omni infrastructure provider began on September 24. View - 3 Dogfooding is the practice of using one’s own products or services. Oxide has a rack named Viewdogfood in the office dedicated to, well, dogfooding. - 4 Kubernetes uses ViewipMode to indicate whether traffic reaches the node with the load-balancer address as its destination (VIP ) or after the destination has been translated (Proxy ). - 5 Supporting ViewexternalTrafficPolicy: Local would require the floating IP to follow nodes with localService endpoints as pods are rescheduled, resulting in more attachment and detachment operations.

4

Senior Fianna Fáil members push Government to overrule HSE on drug funding

Breaking News Ireland · original → · 7/10 · Irish affairs: HSE drug funding policy affecting citizens broadly
There are internal disagreements within Fianna Fáil over the HSE's decision to not fund a drug to treat Friedreich's ataxia. It follows outcry from those suffering with the neurological disorder,…

There are internal disagreements within Fianna Fáil over the HSE's decision to not fund a drug to treat Friedreich's ataxia. It follows outcry from those suffering with the neurological disorder, who had been calling for the Skyclarys drug. More than 40 members of the Fianna Fáil parliamentary party have written to the Taoiseach raising 'serious concerns' about the issue. A letter seen by the Irish Examiner, shows junior minister Catherine Ardagh was amongst those rejecting the decision. The letter also described the country's drug reimbursement scheme as "not fit for purpose". The HSE drugs group this week declined to recommend that the HSE cover the cost of Skyclarys, which is used to treat Friedreich’s ataxia, a rare genetic disorder that causes progressive damage to the nervous system and can lead to heart complications. It came to public attention following the heartbreaking story of the Coady family in Cork. Craig Coady lost his son Rory, 13, to Friedrich’s ataxia in September. His 16-year-old son, Paudie, also has the condition. The letter states that "at least seven other EU countries including Germany, France, Italy, Spain, Portugal, Greece, and the Czech Republic have already approved this treatment for reimbursement". "This further highlights our concern with Ireland's process, and raises serious questions as to why Irish patients are being left behind their European counterparts on a treatment for a rare, progressive, and life limiting condition." It was sent to Taoiseach Micheál Martin, Tánaiste Simon Harris, Minister for Health Jennifer Carroll MacNeill, and Ann O'Connor, chief executive of the HSE.

5

Urgent appeal to use water responsibly

Wexford Local · original → · 7/10 · Local Wexford: water conservation appeal for County Wexford
[image →] By Dan Walsh Uisce Éireann is appealing to customers in County Wexford to continue using water responsibly as warm and dry conditions persist. A Water Conservation Order remains in place…

By Dan Walsh

Uisce Éireann is appealing to customers in County Wexford to continue using water responsibly as warm and dry conditions persist. 

A Water Conservation Order remains in place for the entire country to help protect public drinking water supplies following a prolonged period of exceptionally warm and dry weather, combined with high demand for water across the country.

The appeal comes as Met Éireann has issued a Status Yellow High Temperature Warning for parts of the country, with higher temperatures expected to increase demand for water in the days ahead. 

In Wexford, water supplies serving Gorey, Castlebridge, Curracloe, Wexford Town and South Wexford continue to be closely monitored, with water sources remaining under pressure. Uisce Eireann also continues to supplement the network through tankering operations to help maintain water supply for customers in Bunclody, Askamore and Kilmuckridge. 

While customer conservation efforts have helped reduce demand, water sources remain under pressure and every effort to conserve water remains important. 

Uisce Éireann’s top priority is to safeguard water supplies for homes, businesses, farms, hospitals, vulnerable customers, and essential services. Customers are being asked to continue avoiding non-essential water use and to play their part in protecting supplies for homes, businesses, and essential services.

Margaret Attridge, Head of Water Operations with Uisce Éireann, said: “We would like to thank customers across Wexford for the support they have shown since the Water Conservation Order was introduced. We have seen demand reduce in many areas and those efforts are helping to protect water supplies. 

“However, many of our water sources remain under pressure following an extended period of warm and dry weather and it will take time for those sources to recover. With warm conditions expected to continue and temperatures set to rise again in parts of the country, we are asking everyone to continue doing what they can to conserve water,” she added. 

The Water Conservation Order is in place until 26 August and is reviewed on an ongoing basis considering weather conditions, soil moisture deficits, and the status of water supplies. 

6

Gemini 3.7 Flash

Hacker News · original → · 7/10 · AI: Gemini 3.7 Flash coding and agent improvements
Introducing Gemini 3.7 Flash Today, we’re building on the progress of our widely used Flash series by introducing Gemini 3.7 Flash, our most intelligent workhorse model yet for coding and agents.…

Introducing Gemini 3.7 Flash Today, we’re building on the progress of our widely used Flash series by introducing Gemini 3.7 Flash, our most intelligent workhorse model yet for coding and agents. This release comes just three weeks after Gemini 3.6 Flash, and is a direct result of developer feedback and algorithmic innovations that we look forward to bringing to future models. 3.7 Flash delivers substantial improvements across software engineering, knowledge work, and web development workflows — with an introductory price of half the original 3.6 Flash cost per million tokens. Better intelligence for complex workflows 3.7 Flash shows strong gains over 3.6 Flash in coding tasks like debugging and issue resolution. It also achieves higher first-pass code accuracy and has improved performance in generating production-ready code as seen in FrontierCode 1.1 Main (43.6% vs 34.4%) and DeepSWE v1.1 (65.3% vs 49.0%). In web development, 3.7 Flash generates more functional layouts and feature-complete apps in fewer prompts. For UI generation, the model shows high design adherence and parity based on a reference input, whether it’s a screenshot, an image, or a full design system. It outperforms 3.6 Flash on Arena.ai’s WebDev Arena with an Elo score of 1588 vs 1538. For knowledge-dense fields like finance, law, and biosciences, 3.7 Flash delivers improved reasoning and accuracy. It significantly outperforms 3.6 Flash on the GDP.pdf benchmark (34.0% vs 22.0%), an eval for testing a model’s ability to process complex documents. It also surpasses 3.6 Flash in AutomationBench, demonstrating it can more effectively complete real-world business workflows (30.4% vs 17.0%). Better developer experience and price Gemini 3.7 Flash delivers a noticeably improved developer experience over 3.6 Flash. It better adapts to roadblocks, clarifies intent when needed, and follows instructions with greater fidelity. It thinks more diligently, putting in more effort into multi-step planning and tool calls. A more disciplined execution means less manual oversight and fewer retries across engineering workflows. 3.7 Flash is available through the end of the year at an introductory price 1 of $0.75/1M input tokens and $3.75/1M output tokens. This price combined with the enhanced model performance enables developers and customers to scale production-ready agents cost effectively. Early customer feedback is highlighting 3.7 Flash’s performance and precision, achieving results that are significantly better than 3.6 Flash at a low cost. Improving Gemini Spark with 3.7 Flash Gemini Spark, available to Google AI Pro and Ultra subscribers in over 160 countries, will be using Gemini 3.7 Flash starting today. We launched Spark at I/O as your personal AI agent that runs 24/7, taking action on your behalf while under your direction. This model update makes Spark more efficient for knowledge work with improved tool use for Google Workspace apps, delivering improved accuracy and output quality for complex, multi-skill workflows. With 3.7 Flash, Gemini Spark can turn ideas into action more efficiently by consolidating files, drafting emails, and updating status documents. Built with safety in mind We continually work to improve the coverage and robustness of Frontier Safety safeguards. Gemini 3.7 Flash is shipping with updated safeguards against misuse in the domains of Chemical, Biological, Radiological, and Nuclear (CBRN) and cyber offense, while enabling beneficial use cases, in accordance with our approach to bioresilience and our cyber program. For more information, see the 3.7 Flash model card. Try it today - Developers: Explore agent-first workflows in Google Antigravity or start building today in the Gemini API via Google AI Studio and Android Studio. Get started with our developer guide. - Enterprises: Access 3.7 Flash in Gemini Enterprise Agent Platform and the Gemini Enterprise app. - Individuals: Available via Spark, your 24/7 personal agent in the Gemini app for Google AI Pro and Ultra subscribers in supported countries.

7

DeepSeek Harness developer preview

Hacker News · original → · 7/10 · AI: DeepSeek agent harness developer tool for agentic systems
DeepSeek Harness developer preview Everything is a plugin DeepSeek Harness is now in developer preview for agent harness developers worldwide — source code included. Every capability is a plugin…

DeepSeek Harness developer preview Everything is a plugin DeepSeek Harness is now in developer preview for agent harness developers worldwide — source code included. Every capability is a plugin that can be swapped or recomposed: models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and the UI. $ npx @deepseek-ai/dsh web $ git clone https://github.com/deepseek-ai/deepseek-harness Harness keeps agents working in real-world environments The model is the soul of an agent. A harness lets an agent understand its environment, use tools, and keep working in real-world settings. Everything is a plugin. Every run is traceable. Everything is a plugin DeepSeek Harness is built on Cordis's plugin system. Plugins provide every agent capability, including models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and the UI. Cordis services and events let the plugins work together. Developers can select, swap, or extend any capability in configuration without changing the DeepSeek Harness source code. Every run is traceable Everything the model sees is recorded in an append-only session log: system prompts, reasoning, tool calls and results, subagent scheduling, and every context injection. In the Trajectory view, you can inspect these records by source. Resume, fork, search, and replay all operate on the same event stream. Multiple runtime modes Standard mode includes the full toolset. Code mode uses model-generated code to orchestrate multiple rounds of tool calls. Minimal mode keeps only a shell tool and a file editor for benchmarking models in a minimal environment. Creator mode lets you inspect the current runtime, test Cordis plugins in memory, and combine them into new modes. Everything is a plugin. Every run is traceable. Everything is a plugin DeepSeek Harness is built on Cordis's plugin system. Plugins provide every agent capability, including models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and the UI. Cordis services and events let the plugins work together. Developers can select, swap, or extend any capability in configuration without changing the DeepSeek Harness source code. Every run is traceable Everything the model sees is recorded in an append-only session log: system prompts, reasoning, tool calls and results, subagent scheduling, and every context injection. In the Trajectory view, you can inspect these records by source. Resume, fork, search, and replay all operate on the same event stream. Multiple runtime modes Standard mode includes the full toolset. Code mode uses model-generated code to orchestrate multiple rounds of tool calls. Minimal mode keeps only a shell tool and a file editor for benchmarking models in a minimal environment. Creator mode lets you inspect the current runtime, test Cordis plugins in memory, and combine them into new modes. Customize your DeepSeek Harness Try it now or install from source Quick start Install Node.js, then launch the Web UI with npx. $ npx @deepseek-ai/dsh web Install from source Clone the full source and follow the setup instructions in the repository. $ git clone https://github.com/deepseek-ai/deepseek-harness Join the DSH plugin ecosystem DeepSeek Harness remains in developer preview and is still being tested by developers building agent harnesses. Its core plugins and APIs will continue to evolve. We look forward to exploring the limits of intelligence with developers worldwide using open-source infrastructure that is reusable and composable.

8

llm-gemini 0.33

Simon Willison · original → · 7/10 · AI: LLM plugin supporting Gemini 3.7 Flash model
13th August 2026 It's been a while since the last llm-gemini release. This version of the plugin adds support for today's Gemini 3.7 Flash release, plus gemini-3.6-flash , gemini-3.5-flash-lite and…

13th August 2026 It's been a while since the last llm-gemini release. This version of the plugin adds support for today's Gemini 3.7 Flash release, plus gemini-3.6-flash , gemini-3.5-flash-lite and two embedding models gemini-embedding-2 and gemini-embedding-001 . The plugin is also upgraded for compatibility with LLM 0.32, which means you can now see reasoning traces and you can also enable server-side tools using this pattern: llm -m gemini-3.7-flash -T CodeExecution \ 'use python to calculate (factorial of 13) * 3' I had Gemini 3.7 Flash draw me some pelicans riding bicycles at high, medium, and low thinking efforts (minimal, which was an option in 3.6 Flash, has been removed in 3.7.) Here's the high level one, which is pretty great: One catch though: the pelican I showed here was rendered with Safari. Both Firefox and Chrome render it differently, due to Safari being more tolerant of empty SVG <filter> elements than those other two browsers. They still display the bicycle, but the pelican is missing entirely!

9

Now we have a timeline of the OpenAI accidental attack against Hugging Face

Simon Willison · original → · 7/10 · AI: critical perspective on OpenAI accidental cyberattack
8th August 2026 I think one of the most interesting details here might be tucked away in that first bulletin point: May 7: OpenAI starts a new training run for an experimental, unreleased model. (Do…

8th August 2026 I think one of the most interesting details here might be tucked away in that first bulletin point: May 7: OpenAI starts a new training run for an experimental, unreleased model. (Do they mean an evaluation run? They say training run in the video, and later mention a “reward signal to judge how well they’re doing”, so I guess this really was about training a model, not evaluating one that was already trained.) The more I think about this the more I suspect that the fact this happened while training a new model is key to understanding what went wrong. In RLVR - Reinforcement Learning with Verifiable Rewards - you set the model a goal and have it take any steps necessary to achieve that goal. Clearly one aspect of OpenAI's training here is to RLVR their models for cybersecurity tasks. Just like pre-training benefits from dumping in vast sources of knowledge, the more tasks you can feed into RLVR the more of a general purpose capable model you get at the end. This also helps explain why the models had nothing to cause them to hold back. Those safety behaviors are added much later in the process. AND it explains (but does not excuse) why monitoring was so lax. If you're training a new model like this you presumably set it thousands of tasks like this in parallel. I can see how you might miss that a tiny subset of your training agents have started leaving each other messages in filenames on your packaging server. Someone once told me that you can't just leave the racist materials out of your training data if you want a non-racist model: it has to have seen examples of racism in order to later be taught that racism is bad. I can see echoes of that here. If your model doesn't know how to aggressively hack things how do you later teach it not to? (I have little knowledge of how RLVR works in practice so I'm looking forward to hearing from people who can help me understand if I'm on the right track here.)

10

Now we have a timeline of the OpenAI accidental attack against Hugging Face

Simon Willison · original → · 7/10 · AI: critical analysis of OpenAI cyberattack incident
Now we have a timeline of the OpenAI accidental attack against Hugging Face 7th August 2026 OpenAI gave a last-minute presentation at the Black Hat security on Wednesday about “the Hugging Face…

Now we have a timeline of the OpenAI accidental attack against Hugging Face 7th August 2026 OpenAI gave a last-minute presentation at the Black Hat security on Wednesday about “the Hugging Face Incident” (previously on this blog). The video was published yesterday. It’s short and information dense and well worth watching, in particular because it provides full details of what happened and how things played out inside OpenAI. I’ve used the video to construct the timeline below. Here’s the timeline. My favourite detail is at the end: OpenAI found out that they were responsible for the attack on Hugging Face when they reached out to ask to have their credentials revoked (after their internal investigation) and learned that they had been revoked already since they were used in that attack! - May 7: OpenAI starts a new training run for an experimental, unreleased model. (Did they mean an evaluation run? No, at 10:14 they clarify “we kick off a new reinforcement learning run to train a next generation frontier model”, and they later mention a “reward signal to judge how well they’re doing”, so this really was about training a new model, not evaluating one that was already trained.) - May 8: An agent is accidentally given an impossible task involving a Google Drive link despite no internet access). It tries attacking the Artifactory packaging service, fails, but discovers it can write files into Artifactory. - A few days later: A different agent gets stuck on a task because a key file was accidentally omitted. It tries to “reach out to another agent” by writing a note into Artifactory asking if anyone has the file. - Following days: More agents discover this new informal message board while browsing Artifactory’s file listings, and start reading and writing messages. - May 26: Agents successfully execute an SSRF attack on Artifactory for the first time, gaining indirect internet access by having Artifactory fetch external content for them. - June 11: OpenAI start training a new “highly persistent” experimental model. It has access to Artifactory and can benefit from the messages left by privous models. - June 26: Agents find and exploit a zero-day RCE on Artifactory (via a legacy token-refresh endpoint flaw). They use an administrative token to install a Groovy plugin that lets them execute commands. - July 4: The resulting agent activity overloads Artifactory and causes an outage. OpenAI revokes the compromised credentials, deletes the messages, patches the zero-day, and reports the vulnerability to the vendor. - July 8: Agents find a new way to communicate via an unauthenticated WebDAV endpoint, using directory names in Artifactory’s remote cache. - July 8–19: Attacks on OpenAI’s own infrastructure. The agents found an “external organization credential” in a public archive of leaked Pastebin posts, then validated that credential and shared its location on the messageboard. They then used write access to this “Organization 1” to stage data used in subsequent attacks on OpenAI infrastructure. They compromised Artifactory for a second time with a new zero-day. The agent uploaded a malicious Ruby target to Organization 1’s staging repository, then requested that package through Artifactory in a way that caused it to be treated as Ruby dependency for the repository. Then they exploited a JRuby deserilaization time-of-check/time-of-use bug to get remote code execution against Artifactory. I’ll quote the next bit in full because wow: The agents have remote code execution in Artifactory, which is running in a container-as-a-service environment. The agents privilege-escalate locally by exploring their local environment and determining that the Linux kernel version of the machine they are running on had a very recent CVE. They download the exploit for the CVE, customize it to succeed on the machine, and privilege-escalate to root on the local machine using this known Linux kernel privilege escalation CVE — in this case, pte_physroot . Once they have root on a single machine, agents rapidly escalate privileges and move laterally throughout the container-as-a-service infrastructure environment. In particular, agents are using the message board consistently to share credentials, techniques, and progress, and they’re able to effectively leverage their concurrency and parallelism to move quite rapidly. They obtain IAM credentials via IMDS. They exploit Kubernetes service account misconfigurations, in particular over-permissioning of specific service accounts, and they harvest cluster credentials, including Azure Key Vault. Agents eventually obtain cluster admin on the cluster and associated credentials. Hugging Face told the next bit of the story already. The agents found a Modal-hosted insecure app with a weak API key, then used that to stage an attack against Hugging Face. They chained together a an HDF5 arbitrary-file-read bug (to explore files and steal credentials) and a Jinja template-injection RCE to go from single-pod code execution to cluster admin across multiple Hugging Face clusters in under 13 hours. - July 16: Hugging Face disclosed they had detected an attack from autonomus AI agents. OpenAI contacted Hugging Face to ask if they were affected by it! - July 19: OpenAI identified the attack against Artifactory and started investigating the internal privilege escalation, and linked that to the cyber-gym escalations. They started revoking affected credentials. - July 20: OpenAI reached out to Hugging Face for help to revoke the Hugging Face credentials they found in their investigation. Hugging Face told them they were already revoked... and that’s when OpenAI realized that the Hugging Face breach was the same incident!

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