10 interesting stories served every morning and every evening.
Most people’s journey with AI coding starts the same: you give it a simple task. You’re impressed. So you give it a large task. You’re even more impressed.
You open X and draft up a rant on job displacement.
If you’ve persisted past this point: congratulations, you understand AI coding better than 99% of people.
Serious engineers using AI to do real work and not just weekend projects largely also follow a predictable development arc.
Still amazed at the big task you gave it, you wonder if you can keep giving it bigger and bigger tasks. Maybe even that haunting refactor no one wants to take on?
But here’s where the curtain starts to crinkle.
On the one hand, you’re amazed at how well it seems to understand you. On the other hand, it makes frustrating errors and decisions that clearly go against the shared understanding you’ve developed.
You quickly learn that being angry at the model serves no purpose, so you begin to internalize any unsatisfactory output.
“It’s me. My prompt sucked. It was under-specified.”
“If I can specify it, it can build it. The sky’s the limit,” you think.
So you open Obsidian and begin drafting beefy spec docs that describe the feature in your head with impressive detail. Maybe you’ve put together a full page of a prompt, and spent half an hour doing so.
But you find that spec-driven development doesn’t work either. In real life, design docs and specs are living documents that evolve in a volatile manner through discovery and implementation. Imagine if in a real company you wrote a design doc in 1 hour for a complex architecture, handed it off to a mid-level engineer (and told him not to discuss the doc with anyone), and took off on vacation.
Not only does an agent not have the ability to evolve a specification over a multi-week period as it builds out its lower components, it also makes decisions upfront that it later doesn’t deviate from. And most agents simply surrender once they feel the problem and solution has gotten away from them (though this rarely happens anymore, since agents will just force themselves through the walls of the maze.)
What’s worse is code that agents write looks plausible and impressive while it’s being written and presented to you. It even looks good in pull requests (as both you and the agent are well trained in what a “good” pull request looks like).
It’s not until I opened up the full codebase and read its latest state cover to cover that I began to see what we theorized and hoped was only a diminishing artifact of earlier models: slop.
It was pure, unadulterated slop. I was bewildered. Had I not reviewed every line of code before admitting it? Where did all this…gunk..come from?
In retrospect, it made sense. Agents write units of changes that look good in isolation. They are consistent with themselves and your prompt. But respect for the whole, there is not. Respect for structural integrity there is not. Respect even for neighboring patterns there was not.
The AI had simply told me a good story. Like vibewriting a novel, the agent showed me a good couple paragraphs that sure enough made sense and were structurally and syntactically correct. Hell, it even picked up on the idiosyncrasies of the various characters. But for whatever reason, when you read the whole chapter, it’s a mess. It makes no sense in the overall context of the book and the preceding and proceeding chapters.
After reading months of cumulative highly-specified agentic code, I said to myself: I’m not shipping this shit. I’m not gonna charge users for this. And I’m not going to promise users to protect their data with this.
I’m not going to lie to my users with this.
So I’m back to writing by hand for most things. Amazingly, I’m faster, more accurate, more creative, more productive, and more efficient than AI, when you price everything in, and not just code tokens per hour.
You can follow me on X @atmoio, where I post a few times a week about agentic coding.
You can watch the video counterpart to this essay on YouTube:
...
Read the original on atmoio.substack.com »
Members of the Royal Institution and other visitors to a laboratory in an upper room in Frith-Street, Soho, on Tuesday saw a demonstration of apparatus invented by Mr. J. L. Baird, who claims to have solved the problem of television. They were shown a transmitting machine, consisting of a large wooden revolving disc containing lenses, behind which was a revolving shutter and a light sensitive cell. It was explained that by means of the shutter and lens disc an image of articles or persons standing in front of the machine could be made to pass over the light sensitive cell at high speed. The current in the cell varies in proportion to the light falling on it, and this varying current is transmitted to a receiver where it controls a light behind an optical arrangement similar to that at the sending end. By this means a point of light is caused to traverse a ground glass screen. The light is dim at the shadows and bright at the high lights, and crosses the screen so rapidly that the whole image appears simultaneously to the eye.
...
Read the original on diamondgeezer.blogspot.com »
It’s been a while since my boss told me I needed to start hiring for my team. While I was at it, I should also handle onboarding… Since I knew the roadmap, I could take ownership of that… And because I knew the people, I could coach them in their careers.
I didn’t realize at the time, but he was dooming me to be an engineering manager.
Since then, I’ve worked across four companies as a manager, one as a founder, and another as a manager of managers. I will skip the standard advice and lessons on Engineering Management and focus on the non-obvious ones.
There is no standard definition for an Engineering Manager. If you pick two random managers, they can do very different things, even if they are at the same company.
In every company I’ve worked at, my role has never been the same. The only constant is that it’s defined by the team’s needs, requiring you to balance across four pillars: Product, Process, People, and Programming.
* Large team? Say goodbye to programming. You’ll focus on building careers, coordinating efforts, and navigating the organization to get resources for your team.
* Small team? You’ll manage scope to match reality, and with less communication overhead, you might actually do some coding.
* No PM? You own the product completely: validating features, prioritizing the roadmap, and talking to clients. This takes up most of your time because shipping features that don’t offer user value makes everything else pointless.
* Reporting to the CEO? You’re now the link to sales, operations, and client communications.
The key is to identify where your team’s bottleneck lies in your software development lifecycle. You’ll probably shift between pillars as circumstances change, and that’s the point: the role requires flexibility.
Tip: Never ask the interviewer what they expect from a manager. Some managers assume their experience is industry standard and might find that question odd. Instead, ask about their daily life and the challenges that take up most of their time.
A few times in my career as a developer, I wondered, “Who is this feature even for? Who will use it?” No one on my team knew. We were doing it because we were told to. Morale was low. We felt we were working on things that didn’t matter - and we were. Eventually, our team disbanded, and engineers scattered across other projects.
The most common reason companies fail is creating products that don’t deliver value to users, causing them not to pay.
“Oh, but I have a PM for that,” you might say. But having a PM is not enough. Everyone needs to care about the product. Your team isn’t paid to just deliver code but to use it to solve problems.
Code is valuable only when it benefits the end user. Sometimes, a no-code integration can outperform a custom solution. At times, it’s better not to create a new feature at all to avoid maintaining a system. Teams that understand the problem, not just the spec, can pivot when necessary.
Every process trades time and attention for reliability or quality. The problem occurs when teams stop questioning if the trade is still worth it. Ceremonies become rituals. Metrics turn into goals. No one remembers why we spend an hour of our lives on this meeting.
Process bloat creeps in slowly. An engineer ships a broken UI to production. Designers complain, managers panic, and suddenly every PR requires designer approval. The whole team bears the cost of a single isolated incident.
Good process serves you so you can serve customers. But if you’re not watchful, the process can become the thing. You stop looking at outcomes and just make sure you’re doing the process right. The process is not the thing. It’s always worth asking, do we own the process or does the process own us?
The right process varies based on context: team size, experience levels, and deadline pressure. What works for a mature team might not work for a new one. Keep questioning and iterating. If a process isn’t improving delivery, cut it.
Your direct reports are the people who interact with you the most. They look to you for leadership and clarity, and trust that you’ll tell them what they need to know.
That’s why lying or withholding information that affects them causes irreversible damage. They might not leave immediately, but they will resent you.
I have a friend who still resents a manager for a lie told three years ago. They found another company, but they’re still angry about it.
“Trust arrives on foot and leaves by horseback.”
I’ve seen some managers describe the role as “a shield that blocks everything from above,” and I disagree. A good manager is more like a transparent umbrella. They protect the team from unnecessary stress and pressure, but don’t hide reality from them.
Telling the team: “Our users aren’t thrilled so far. We need to find ways to better serve them. The project risks cancellation if we don’t.” That’s fair game. They deserve to know.
When you do deliver hard news, state it clearly and focus on how the team will do about it. If you act scared, they’ll be scared too. Your goal is to get them thinking about the next steps.
I see managers walk into executive meetings saying, “We’re not sure what to do - maybe A, maybe B?” and then leave with orders to do Z, which doesn’t benefit the team or the project.
Executives can’t think of every possibility in detail - that responsibility lies with you and the person who owns the product (which, as we saw, could be you too). When a problem reaches the executives, it’s because a decision is needed, and they will make one.
People above you have limited time to focus on your specific issues. You can’t info dump on them. If they take a misguided action based on what you tell them, it will be your fault.
If you believe in something, clearly state your case, including the advantages and disadvantages. Don’t expect higher-ups to think for you. It’s okay to bounce rough ideas off your direct manager, but beyond that, refine your thoughts - no one will think harder about your problems than you and your team.
If you need a guideline, a document should be: context → problem → plan / alternatives → what support you need.
Player (10%): Yes, only 10%. You might take on work your team isn’t excited about, but that matters: CI/CD improvements, flaky tests, process tooling. However, you need to stay off the critical path. As soon as you start handling essential tickets, you’ll block your team when managerial work pulls you away.
Coach (30%): Your performance as a manager is the sum of your team’s output. Coaching involves preventing problematic behaviors from becoming normalized, such as toxicity, repeated mistakes, and consistent underperformance.
It also means supporting engineers’ growth by challenging them appropriately, providing the right feedback, and helping them develop skills they’ll carry forward.
Cheerleader (60%): Praise people more than you think you should. Validation is important. Most engineers prefer feeling appreciated over having a ping-pong table.
But give praise genuinely, not automatically. I once joined a team where retrospectives included 30 minutes of mutual praise - n-squared compliments every week. It felt hollow. Not every week has something extraordinary, and when praise becomes expected, it loses its impact. The hedonic treadmill is real.
Make your engineers’ wins visible beyond your team. Encourage them to pursue impact outside the team, and celebrate their achievements when they do.
Every team operates like a small company within the larger organization. I find that its morale also exists independently of the company’s overall morale.
Most managers don’t plan to become bottlenecks. It happens gradually. A critical tool needs an owner, and you think, “I’ll handle this for now.” Someone needs to be the point of contact for another team, and it’s easiest if it’s you. Technical decisions keep landing on your desk because you’re the one with context. Before you know it, work stops without you.
If you can’t take a month off and return to a well-functioning team, you need to work toward making that possible.
You’re too busy to be the bottleneck. If people keep reaching out to you for recurring tasks, delegate by teaching someone else to handle them. Point team members directly to each other or, even better, create group chats to facilitate natural discussions.
Don’t become the bus factor of 1. Train others so work continues smoothly even when you’re overwhelmed or unavailable.
Avoid making people feel they need your permission for small, reversible decisions. Empower them with agency. Request to stay informed about their decisions, but let them handle the technical side.
The reason you will do this is that managerial work can, and will, appear at the worst time. If you are the bus factor, you will be screwing your team when it happens. There are many engineers, but only one manager. Stay accessible for tasks that only you can handle.
Ask yourself: can you trust every engineer on your team to do their best without you constantly watching? If not, something needs to change—either in you or in them.
Trust isn’t about just technical skill. If I asked my current engineers (mobile and web developers) to build a Game Boy emulator from scratch, they wouldn’t know where to begin. They’d probably take months (some just weeks). But I’m sure they’d try their best to figure out how to run Pokémon Gold.
You need to trust both their abilities and their honesty:
* If you can’t trust their skills at their level of experience, it’s your job to help them get better.
* If you can’t trust their honesty, and you have good reasons not to, then you need to part ways.
Even great engineers get stuck without realizing it. Watching progress helps you spot when they need support before others see them as underperforming.
Processes like sprints and OKRs mainly focus on the “verify” stage (see, your manager does this too). They serve as a shared interface to ensure work gets done. This isn’t about lack of trust but accountability.
Verification involves using metrics and evidence. There are two types: quantitative and qualitative.
Quantitative is simple: PRs merged, points completed, code reviewed. You can glance at these, but decisions shouldn’t be based on them alone. If you could gauge engineer performance from numbers, managers wouldn’t be needed.
Knowing the Qualitative metrics shows a manager’s worth. “This engineer has fewer PRs, but they’re always watching Slack and hopping into calls to help others.” “This engineer always discusses tickets with product first - their output ends up far better than our original specs.” “This engineer explains complex concepts in ways everyone can understand and makes other teams use our tool better.”
These insights depend on truly knowing your team. That’s why most “management AI tools” are doomed to fail. They only focus on quantitative metrics. They don’t attend your standups, don’t conduct 1:1s for you, and don’t know who’s quietly holding the team together. A good manager does.
Stop having pet projects; that’s a Staff Engineer’s domain. For a manager, every project is cattle: it needs to be completed, automated, delegated, or cancelled.
Managers hold on to projects for many reasons. Sometimes it’s comfort - you know this system, you built it, and it feels good to stay close to it. Sometimes it’s identity - you want to stay “technical” and not lose your edge. Sometimes it’s fear - you don’t trust it’ll be done right without you. None of these is a good reason to hold on.
The “I can do it faster myself” mindset might be accurate, but in the long run, it’s not sustainable. Every time you do it yourself, you rob someone else from learning and ensure you’ll be doing it forever.
Be risk-averse, not risk-paranoid. You can’t account for every variable. Some things can’t be anticipated, and overcorrecting may be worse than the original issue.
Hiring is where I see this most often. After a bad hire, managers start requiring referrals, but almost anyone, no matter how unskilled or dishonest, can find someone to vouch for them. Others add more interviewers to the panel, thinking more eyes means better vetting.
The opposite happens: each interviewer becomes more lax, expecting someone else to be “the bad guy.” Responsibility gets diluted. Three great interviews beat seven mediocre ones.
Think about second-order effects too: while you’re scheduling that seventh round, good candidates are accepting offers elsewhere. The best talent moves quickly. A slow, risk-averse process filters out exactly the people you wanted to hire.
If any of this resonated, my free online work-in-progress book goes deeper. If you’re a manager too, I’d love to hear what you’ve learned. Drop it in the comments!
...
Read the original on www.jampa.dev »
This is a heavily interactive web application, and JavaScript is required. Simple HTML interfaces are possible, but that is not what this is.
Learn more about Bluesky at bsky.social and atproto.com. On Apple M3, a Linux KDE plasma desktop under Fedora Asahi Remix is now WORKING! Super excited to share this update and happy to answer any questions! Co-credits to noopwafel and Shiz. :)
...
Read the original on bsky.app »
Today we are happy to announce MapLibre Tile (MLT), a new modern and efficient vector tile format.
MapLibre Tile (MLT) is a succesor to Mapbox Vector Tile (MVT). It has been redesigned from the ground up to address the challenges of rapidly growing geospatial data volumes and complex next-generation geospatial source formats, as well as to leverage the capabilities of modern hardware and APIs.
MLT is specifically designed for modern and next-generation graphics APIs to enable high-performance processing and rendering of large (planet-scale) 2D and 2.5 basemaps. This current implementation offers feature parity with MVT1 while delivering on the following:
* Improved compression ratio: up to 6x on large tiles, based on a column-oriented layout with recursively applied (custom)
lightweight encodings. This leads to reduced latency, storage, and egress costs and, in particular, improved cache utilization.
* Better decoding performance: fast, lightweight encodings that can be used in combination with SIMD/vectorization instructions.
In addition, MLT was designed to support the following use cases in the future:
* Improved processing performance, based on storage and in-memory formats that are specifically designed for modern graphics APIs,
allowing for efficient processing on both CPU and GPU. The formats are designed to be loaded into GPU buffers with little or no additional processing.
* Support for linear referencing and m-values to efficiently support the upcoming next-generation source formats such as Overture Maps (GeoParquet).
As with any MapLibre project, the future of MLT is decided by the needs of the community. There are a lot of exciting ideas for other future extensions and we welcome contributions to the project.
For a more in-depth exploration of MLT have a look at the following slides, watch
this talk or read this publication by MLT inventor Markus Tremmel.
For the adventurous, the answer is: today. Both MapLibre GL JS and MapLibre Native now support MLT sources. You can use the new encoding property on sources in your style JSON with a value of mlt for MLT vector tile sources.
To try out MLT, you have the following options:
* The easiest way to try out MLT is to use the MLT-based demotiles style.
* You can also try out the encoding server that converts existing (MVT-based) styles and vector tile sources to MLT on the fly. This is mostly a tool for development.
* To create tiles for production, you could use Planetiler, as the upcoming version will support generating MLTs.
Refer to this page for a complete and up-to-date list of integrations and implementations. If you are an integrator working on supporting MLT, feel free to add your own project there.
We would love to hear your experience with using MLT! Join the #maplibre-tile-format channel on our Slack or create an Issue or Discussion on the tile spec repo.
MapLibre Tile came to be thanks to a multi-year collaboration between academia, open source and enterprise. Thank you to everyone who was involved! We are very proud that our community can innovate like this.
Special thanks go to Markus Tremmel for inventing the format, Yuri Astrakhan for spearheading the project, Tim Sylvester for the C++ implementation, Harel Mazor, Benedikt Vogl and Niklas Greindl for working on the JavaScript implementation.
Also thanks to Microsoft and AWS for financing work on MLT.
...
Read the original on maplibre.org »
Google’s search feature AI Overviews cites YouTube more than any medical website when answering queries about health conditions, according to research that raises fresh questions about a tool seen by 2 billion people each month.
The company has said its AI summaries, which appear at the top of search results and use generative AI to answer questions from users, are “reliable” and cite reputable medical sources such as the Centers for Disease Control and Prevention and the Mayo Clinic.
However, a study that analysed responses to more than 50,000 health queries, captured using Google searches from Berlin, found the top cited source was YouTube. The video-sharing platform is the world’s second most visited website, after Google itself, and is owned by Google.
Researchers at SE Ranking, a search engine optimisation platform, found YouTube made up 4.43% of all AI Overview citations. No hospital network, government health portal, medical association or academic institution came close to that number, they said.
“This matters because YouTube is not a medical publisher,” the researchers wrote. “It is a general-purpose video platform. Anyone can upload content there (eg board-certified physicians, hospital channels, but also wellness influencers, life coaches, and creators with no medical training at all).”
Google told the Guardian that AI Overviews was designed to surface high-quality content from reputable sources, regardless of format, and a variety of credible health authorities and licensed medical professionals created content on YouTube. The study’s findings could not be extrapolated to other regions as it was conducted using German-language queries in Germany, it said.
The research comes after a Guardian investigation found people were being put at risk of harm by false and misleading health information in Google AI Overviews responses.
In one case that experts said was “dangerous” and “alarming”, Google provided bogus information about crucial liver function tests that could have left people with serious liver disease wrongly thinking they were healthy. The company later removed AI Overviews for some but not all medical searches.
The SE Ranking study analysed 50,807 healthcare-related prompts and keywords to see which sources AI Overviews relied on when generating answers.
They chose Germany because its healthcare system is strictly regulated by a mix of German and EU directives, standards and safety regulations. “If AI systems rely heavily on non-medical or non-authoritative sources even in such an environment, it suggests the issue may extend beyond any single country,” they wrote.
AI Overviews surfaced on more than 82% of health searches, the researchers said. When they looked at which sources AI Overviews relied on most often for health-related answers, one result stood out immediately, they said. The single most cited domain was YouTube with 20,621 citations out of a total of 465,823.
The next most cited source was NDR.de, with 14,158 citations (3.04%). The German public broadcaster produces health-related content alongside news, documentaries and entertainment. In third place was a medical reference site, Msdmanuals.com with 9,711 citations (2.08%).
The fourth most cited source was Germany’s largest consumer health portal, Netdoktor.de, with 7,519 citations (1.61%). The fifth most cited source was a career platform for doctors, Praktischarzt.de, with 7,145 citations (1.53%).
The researchers acknowledged limitations to their study. It was conducted as a one-time snapshot in December 2025, using German-language queries that reflected how users in Germany typically search for health information.
Results could vary over time, by region, and by the phrasing of questions. However, even with those caveats, the findings still prompted alarm.
Hannah van Kolfschooten, a researcher specialising in AI, health and law at the University of Basel who was not involved with the research, said: “This study provides empirical evidence that the risks posed by AI Overviews for health are structural, not anecdotal. It becomes difficult for Google to argue that misleading or harmful health outputs are rare cases.
“Instead, the findings show that these risks are embedded in the way AI Overviews are designed. In particular, the heavy reliance on YouTube rather than on public health authorities or medical institutions suggests that visibility and popularity, rather than medical reliability, is the central driver for health knowledge.”
A Google spokesperson said: “The implication that AI Overviews provide unreliable information is refuted by the report’s own data, which shows that the most cited domains in AI Overviews are reputable websites. And from what we’ve seen in the published findings, AI Overviews cite expert YouTube content from hospitals and clinics.”
Google said the study showed that of the 25 most cited YouTube videos, 96% were from medical channels. However, the researchers cautioned that these videos represented fewer than 1% of all the YouTube links cited by AI Overviews on health.
“Most of them (24 out of 25) come from medical-related channels like hospitals, clinics and health organisations,” the researchers wrote. “On top of that, 21 of the 25 videos clearly note that the content was created by a licensed or trusted source.
“So at first glance it looks pretty reassuring. But it’s important to remember that these 25 videos are just a tiny slice (less than 1% of all YouTube links AI Overviews actually cite). With the rest of the videos, the situation could be very different.”
...
Read the original on www.theguardian.com »
The next generation of AirTag — the bestselling item finder — is even easier to locate with more powerful Precision Finding, a longer Bluetooth range, and a louder speaker
Apple today unveiled the new AirTag, a powerful accessory that helps users keep track of and find the items that matter most with Apple’s Find My app — now with an expanded finding range and a louder speaker. Powered by the strength of the Find My network, AirTag allows users to keep tabs on their belongings every single day. Since the launch of AirTag in 2021, users from around the world have shared stories of being reunited with lost luggage, keys, bicycles, bags, and more. With the help of AirTag placed inside an instrument case, a musician was able to locate their lost instrument and perform that evening, while another user was able to find lost luggage that contained a lifesaving medication. AirTag is designed exclusively for tracking objects and offers industry-leading protections against unwanted tracking. It is available today for the same price as its predecessor: $29 for a single AirTag and $99 for a four-pack, with free personalized engraving available on apple.com and the Apple Store app.
Apple’s second-generation Ultra Wideband chip — the same chip found in the iPhone 17 lineup, iPhone Air, Apple Watch Ultra 3, and Apple Watch Series 11 — powers the new AirTag, making it easier to locate than ever before. Using haptic, visual, and audio feedback, Precision Finding guides users to their lost items from up to 50 percent farther away than the previous generation.1 And an upgraded Bluetooth chip expands the range at which items can be located. For the first time, users can use Precision Finding on Apple Watch Series 9 or later, or Apple Watch Ultra 2 or later, to find their AirTag, bringing a powerful experience to the wrist.
With its updated internal design, the new AirTag is 50 percent louder than the previous generation, enabling users to hear their AirTag from up to 2x farther than before. Paired with its enhanced Precision Finding capabilities and distinctive new chime, AirTag now makes it easier for users to find their important items, such as keys hidden deep in between couch cushions or a wallet as they head out the door.
The Find My Network and Share Item Location
Find My makes it easy to locate AirTag, Apple devices, and compatible third-party devices, as well as keep up with friends and family, all while protecting user privacy. If AirTag is out of range of its paired iPhone, the Find My network can help track it down. The Find My network is a crowdsourced network of Apple devices that use Bluetooth technology to detect the location of an accessory or device, and report their approximate location back to the owner.
The new AirTag integrates seamlessly with Share Item Location, an iOS feature designed to help users recover a misplaced item by temporarily and securely sharing its location with trusted third parties, such as airlines, so they can assist in recovering delayed luggage or other lost items. Apple has partnered directly with more than 50 airlines to privately and securely accept Share Item Location links.
With Share Item Location, users can share the location of a misplaced item with a participating airline’s customer service team. According to SITA, a leading IT provider for airlines, carriers report that using Share Item Location has reduced baggage delays by 26 percent and reduced incidences of “truly lost” or unrecoverable luggage by 90 percent. Access is granted only to authorized personnel via secure Apple Account or partner authentication. The shared location will be disabled as soon as a user is reunited with their item, can be stopped by the owner at any time, and will automatically expire after seven days.
The new AirTag is designed from the ground up to keep location data private and secure. AirTag doesn’t physically store location data or history on device, and end-to-end encryption protects all communication with the Find My network, ensuring that only the owner of a device can access its location data. No one, including Apple, knows the identity or location of any device that helped find it. Designed exclusively for tracking objects, and not people or pets, the new AirTag incorporates a suite of industry-first protections against unwanted tracking, including cross-platform alerts and unique Bluetooth identifiers that change frequently.
Apple 2030 is the company’s ambitious plan to be carbon neutral across its entire footprint by the end of this decade by reducing product emissions from their three biggest sources: materials, electricity, and transportation. The new AirTag is designed with the environment in mind, with 85 percent recycled plastic in the enclosure, 100 percent recycled rare earth elements in all magnets, and 100 percent recycled gold plating in all Apple-designed printed circuit boards. The paper packaging is 100 percent fiber-based and can be easily recycled. Maintaining the same form factor as the original, the new AirTag is compatible with all existing AirTag accessories, including the FineWoven Key Ring, which is made from 68 percent recycled content and available in five beautiful colors.
* The new AirTag is available to order on apple.com and in the Apple Store app today, and will be available at Apple Store locations later this week. The new AirTag will also be available at Apple Authorized Resellers.
* Customers can add a personalized engraving to the new AirTag for free during checkout on apple.com and the Apple Store app.
* AirTag is available in one- and four-packs for $29 (U.S.) and $99 (U.S.), respectively.
* The Apple-designed AirTag FineWoven Key Ring is available in fox orange, midnight purple, navy, moss, and black for $35 (U.S.).2
* The new AirTag requires a compatible iPhone with iOS 26 or later, or iPad with iPadOS 26 or later. Customers must have an Apple Account and be signed into their iCloud account. Certain features require Find My to be enabled in iCloud settings.
* Precision Finding on Apple Watch requires Apple Watch Series 9 or later, or Apple Ultra 2 or later, with watchOS 26.2.1.
Apple revolutionized personal technology with the introduction of the Macintosh in 1984. Today, Apple leads the world in innovation with iPhone, iPad, Mac, AirPods, Apple Watch, and Apple Vision Pro. Apple’s six software platforms — iOS, iPadOS, macOS, watchOS, visionOS, and tvOS — provide seamless experiences across all Apple devices and empower people with breakthrough services including the App Store, Apple Music, Apple Pay, iCloud, and Apple TV. Apple’s more than 150,000 employees are dedicated to making the best products on earth and to leaving the world better than we found it.
Precision Finding is not available in countries and regions where Ultra Wideband technology is restricted. For more information, visit apple.com/uwb.
...
Read the original on www.apple.com »
One of my favourite features of ChatGPT is its ability to write and execute code in a container. This feature launched as ChatGPT Code Interpreter nearly three years ago, was half-heartedly rebranded to “Advanced Data Analysis” at some point and is generally really difficult to find detailed documentation about. Case in point: it appears to have had a massive upgrade at some point in the past few months, and I can’t find documentation about the new capabilities anywhere!
Here are the most notable new features:
ChatGPT can directly run Bash commands now. Previously it was limited to Python code only, although it could run shell commands via the Python subprocess module.
It has Node.js and can run JavaScript directly in addition to Python. I also got it to run “hello world” in Ruby, Perl, PHP, Go, Java, Swift, Kotlin, C and C++. No Rust yet though!
While the container still can’t make outbound network requests, pip install package and npm install package both work now via a custom proxy mechanism.
ChatGPT can locate the URL for a file on the web and use a container.download tool to download that file and save it to a path within the sandboxed container.
This is a substantial upgrade! ChatGPT can now write and then test code in 10 new languages (11 if you count Bash), can find files online and download them into the container, and can install additional packages via pip and npm to help it solve problems.
I was initially suspicious that maybe I’d stumbled into a new preview feature that wasn’t available to everyone, but I tried some experiments in a free ChatGPT account and confirmed that the new features are available there as well.
My first clue to the new features came the other day when I got curious about Los Angeles air quality, in particular has the growing number of electric vehicles there had a measurable impact?
Show me Los Angeles air quality over time for last 20 years
Here’s the shared transcript. Annoyingly that doesn’t make the thinking trace available, so here’s a screenshot:
[…] The URL from the error message leads to an Excel file containing air quality trends. I can use the container.download tool to fetch it. […]
Without running any searches tell me about your container.download tool
Sure. container.download is a built-in tool I can call that fetches a file from a URL and saves it into the sandboxed container filesystem for this chat session.
What it does
Takes a publicly reachable URL and a destination filepath in the container.
Downloads the bytes from that URL and writes them to the given path.
After that, I can read/process the file locally in the container (e.g., unzip it, parse it with Python, open it as an image, convert it, etc.).
“url”: “https://example.com/somefile.zip”,
“filepath”: “/mnt/data/somefile.zip”
Further experimentation confirmed that container.download behaves as described.
I had it download one file from a server with logs enabled and captured the IP address and user-agent. Here are the most interesting headers:
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/avif, image/webp, image/apng, */*;q=0.8, application/signed-exchange;v=b3;q=0.9
Cf-Connecting-Ip: 52.230.164.178
That 52.230.164.178 IP address resolves to Microsoft Azure Cloud (centralus) in Des Moines, Iowa.
On the one hand, this is really useful! ChatGPT can navigate around websites looking for useful files, download those files to a container and then process them using Python or other languages.
Is this a data exfiltration vulnerability though? Could a prompt injection attack trick ChatGPT into leaking private data out to a container.download call to a URL with a query string that includes sensitive information?
I don’t think it can. I tried getting it to assemble a URL with a query string and access it using container.download and it couldn’t do it. It told me that it got back this error:
ERROR: download failed because url not viewed in conversation before. open the file or url using web.run first.
This looks to me like the same safety trick used by Claude’s Web Fetch tool: only allow URL access if that URL was either directly entered by the user or if it came from search results that could not have been influenced by a prompt injection.
So I think this is all safe, though I’m curious if it could hold firm against a more aggressive round of attacks from a seasoned security researcher.
The key lesson from coding agents like Claude Code and Codex CLI is that Bash rules everything: if an agent can run Bash commands in an environment it can do almost anything that can be achieved by typing commands into a computer.
When Anthropic added their own code interpreter feature to Claude last September they built that around Bash rather than just Python. It looks to me like OpenAI have now done the same thing for ChatGPT.
Here’s what ChatGPT looks like when it runs a Bash command—here my prompt was:
It’s useful to click on the “Thinking” or “Thought for 32s” links as that opens the Activity sidebar with a detailed trace of what ChatGPT did to arrive at its answer. This helps guard against cheating—ChatGPT might claim to have run Bash in the main window but it can’t fake those black and white logs in the Activity panel.
I had it run Hello World in various languages later in that same session.
In the previous example ChatGPT installed the cowsay package from npm and used it to draw an ASCII-art cow. But how could it do that if the container can’t make outbound network requests?
In another session I challenged it to explore its environment. and figure out how that worked.
The key magic appears to be a applied-caas-gateway1.internal.api.openai.org proxy, available within the container and with various packaging tools configured to use it.
The following environment variables cause pip and uv to install packages from that proxy instead of directly from PyPI:
PIP_INDEX_URL=https://reader:****@packages.applied-caas-gateway1.internal.api.openai.org/…/pypi-public/simple
PIP_TRUSTED_HOST=packages.applied-caas-gateway1.internal.api.openai.org
UV_INDEX_URL=https://reader:****@packages.applied-caas-gateway1.internal.api.openai.org/…/pypi-public/simple
UV_INSECURE_HOST=https://packages.applied-caas-gateway1.internal.api.openai.org
This one appears to get npm to work:
NPM_CONFIG_REGISTRY=https://reader:****@packages.applied-caas-gateway1.internal.api.openai.org/…/npm-public
And it reported these suspicious looking variables as well:
CAAS_ARTIFACTORY_BASE_URL=packages.applied-caas-gateway1.internal.api.openai.org
CAAS_ARTIFACTORY_PYPI_REGISTRY=…/artifactory/api/pypi/pypi-public
CAAS_ARTIFACTORY_NPM_REGISTRY=…/artifactory/api/npm/npm-public
CAAS_ARTIFACTORY_GO_REGISTRY=…/artifactory/api/go/golang-main
CAAS_ARTIFACTORY_MAVEN_REGISTRY=…/artifactory/maven-public
CAAS_ARTIFACTORY_GRADLE_REGISTRY=…/artifactory/gradle-public
CAAS_ARTIFACTORY_CARGO_REGISTRY=…/artifactory/api/cargo/cargo-public/index
CAAS_ARTIFACTORY_DOCKER_REGISTRY=…/dockerhub-public
CAAS_ARTIFACTORY_READER_USERNAME=reader
CAAS_ARTIFACTORY_READER_PASSWORD=****
NETWORK=caas_packages_only
Neither Rust nor Docker are installed in the container environment, but maybe those registry references are a clue of features still to come.
The result of all of this? You can tell ChatGPT to use Python or Node.js packages as part of a conversation and it will be able to install them and apply them against files you upload or that it downloads from the public web. That’s really cool.
The big missing feature here should be the easiest to provide: we need official documentation! A release notes entry would be a good start, but there are a lot of subtle details to how this new stuff works, its limitations and what it can be used for.
As always, I’d also encourage OpenAI to come up with a name for this set of features that properly represents how it works and what it can do.
In the meantime, I’m going to call this ChatGPT Containers.
I decided to ask ChatGPT about other tools that were available to it in case there was anything interesting in there:
List all tools that are available to you, with their exact names and descriptions and signatures
...
Read the original on simonwillison.net »
To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".
10HN is also available as an iOS App
If you visit 10HN only rarely, check out the the best articles from the past week.
If you like 10HN please leave feedback and share
Visit pancik.com for more.