The bridge to agent-scale Git infrastructure

Post Syndicated from Eleanor White original https://github.blog/engineering/architecture-optimization/the-bridge-to-agent-scale-git-infrastructure/


Over the past year, while Git traffic grew exponentially, 99.99999% of the Git repositories on GitHub began living in two places at once: our own data centers and Azure. The rest are among the busiest on the platform, and they’re held back by just one thing: a 25ms round trip.

In an earlier blog post, we laid out the two principles behind our next-generation storage architecture:

  • Minimize coordination
  • Decouple storage from compute

In this post, we’ll look at the immediate bridge between our old design and our new one. We’ll talk about how a change to the way our quorum serializes writes gets the busiest repositories into Azure, and how that same step opens the door to replicas that keep no persistent state of their own.

How we got here

The timing and shape of the move were driven by the agentic shift: rapidly growing traffic, a hard ceiling on the power capacity of our data centers and the surrounding geographical region, and physical supply chain constraints. At the beginning of our migration, the remaining capacity with all possible expansion gave us enough time to migrate safely, but not enough to do it slowly.

While we had prototyped new architectural approaches for scaling Git on cloud infrastructure, changing the storage architecture and the hosting platform at the same time, under that growth, carried too much risk. Given our scale and how critical the service is to the community, we needed to sequence the work carefully: move the data first, then evolve the architecture once it arrived.

Git operations are a Tier 0 service: they’re a core function of GitHub, and nearly everything in GitHub depends on the repository data. That meant the data, services, and every dependency had to move first. The first copy of a repository landed in Azure’s Central US region in August 2025. Today, most repositories have two of their five replicas in Azure, and Azure serves about half of Git traffic. For most of that time, Azure absorbed our growth while our own data centers held steady.

During the migration, traffic follows the data. Most repositories have five replicas to balance durability, availability, and scale. To minimize read latency, Spokes uses preferential routing to direct traffic to a replica in the same region and availability zone as the request. As replicas move to Azure, the share of the traffic that can be served from Azure grows with each one, until the last replica arrives and the old region stops receiving requests entirely. Every repository goes through this process:

No repository left behind

So, what about the remaining 0.00001% of repositories?

In our current architecture, a repository hosted in more than one region has a lower write throughput ceiling. Spokes’ quorum only needs a majority to commit a write, but it waits for every healthy replica to respond (up to a timeout) before moving on, so slow replicas delay every write rather than falling behind. In practice, that means the slowest healthy replica sets the latency of every write, and because each write holds a repository-wide lock until it commits, it also sets the throughput ceiling. Once a replica lives in the target Azure region, it’s about 1,000 miles from our data centers, making each network round trip around 25ms, and a write requires multiple round trips. A repository already near its throughput ceiling can’t absorb that on every serialized write; it would fall further behind with every push.

This is where our first principle, minimizing coordination, comes into play. Specifically for this case: don’t serialize what doesn’t need to be. Git’s consistency requirements apply to each reference individually. Once the server accepts an update to a reference, no client should see an older value afterward, only that value or a newer one. That holds whether the update is a fast-forward, a force push, or a delete. But in most cases, updates to different references don’t depend on each other and can be applied independently.

So, we’re changing the scope of the quorum from the whole repository to individual references.

Holding a repository-wide lock for the entire reference update, round trips included, turns the quorum into a single, unordered request queue with one write in flight at a time. Each write in that queue takes as long as the slowest healthy replica. As the write rate grows, so does the queue, and each write waits longer than the one before it.

With per-reference serialization, only writes that contend on a shared reference must wait for each other. In practice, most writes to a repository touch different references—for example, agents and developers pushing to their own branches—so they no longer wait on each other. Each write still experiences the cross-region latency but writes to different references can be in flight at the same time. That removes the single bottleneck on the repository. We can visualize how queueing and timeouts build up by comparing the two approaches side by side under similar load:

These changes raise a repository’s write throughput ceiling roughly in proportion to how many references are being written at once, and get the last remaining repositories into Azure. In internal testing with realistic traffic, writes to different references consistently saw 3–4x higher throughput at lower latency.

Scaling reads on their own

Most repositories are heavily read-skewed, with somewhere between 100 and 1,000 reads for every write. Today, reads and writes hit the same replicas, so they compete for the same resources and can’t be scaled independently.

Decoupling storage from compute changes that. Once repository data is durably stored in Azure Blob Storage and updated with each incoming write, we can begin to decouple read traffic from the write quorum, and independently scale the compute needed for each. For example, reads would benefit from far more in-memory cache than we give them today, but that memory is also needed for compaction. Once they’re separated, each gets its own configuration.

The first step is making object storage a member of the quorum, but a special one that we call a virtual replica. The compute that represents it is our first fully ephemeral node. It serves as a bridge to object storage, streaming incoming writes and serving no reads. Because it’s a member of the quorum, a write isn’t acknowledged until it’s durable in object storage.

That adds a little latency to each write, but just like the cross-region round trip, per-reference serialization keeps it from becoming a throughput bottleneck. The virtual write replica also coalesces transactions on disjoint references into a single set of network I/Os to object storage, so a busy repository pays for one round trip across many concurrent writes instead of one per write. For now, the virtual write replica also handles compaction, and read replicas inherit the compacted state.

With the virtual write replica in place, we can scale out as many virtual read replicas as a repository needs, on demand. Each read replica warms its cache from Azure Blob Storage and starts taking read traffic without joining the quorum, using object storage as the source of truth and reconciling its local state against it in the background.

This step unlocks significant read scale. In internal testing, our distributed load testing harness routinely found ceilings in the current architecture. Against virtual read replicas, the harness hit its own limits first. It also comes with a few challenges that are solved in subsequent steps:

  1. Virtual read replicas start out reconciling with object storage in the background, which makes them a good fit for some read workloads but not all of them. Serving every kind of read requires moving that reconciliation in-line, fetching only the reference state and data that changed since the replica last caught up.
  2. While we’ve incrementally increased write throughput by shifting to a per-reference model, the quorum remains the bounding factor for increasing further.

How can we push write throughput further?

What comes next

The GitHub of today was built on the Spokes quorum, and over the years Spokes has become much more than a quorum coordinator. It’s also an intelligent routing and load balancing layer, a unified API that internal clients use to access and transact repository data at well over 100 billion operations per day, and a collection of background systems we call “sweepers” that handle repository placement, repair, and rebalancing between storage nodes.

The vast majority of what lives under the Spokes service umbrella applies just as well to the new architecture as it does to the existing one. But we also recognize that the commit protocol that has taken GitHub to a billion repositories won’t take it to the next billion and beyond.

We’re not done yet. With these steps in place, the next limit is write throughput. Every write still waits on replicas that each hold a full copy of the repository, yet very little of a write actually needs to be ordered. Git objects are immutable and named by their contents, so they can be stored without anyone agreeing on them. What’s left is small, and the hard part is ordering it as fast as possible without moving the bottleneck somewhere else. Designing for that on a whiteboard is one thing. Doing it underneath a billion repositories that developers and agents are writing to around the clock is another. Getting there forced us to rethink the second-order effects too, like where durable reference state lives and how compaction and garbage collection scale.

Agent traffic isn’t slowing down, and each of these steps gives repositories more headroom as it lands, without waiting for the end state.

Coming next week: At GitHub Universe and in the final post in this series, we’ll take a tour through that end state, what it does for write throughput, the second-order problems we had to solve to get there, and why there’s still a (small) consensus group somewhere in the stack.

Thanks to Brian Celenza for their contributions to this post.

The post The bridge to agent-scale Git infrastructure appeared first on The GitHub Blog.

Кафе, боб и предизборни прогнози

Post Syndicated from Александър Драганов original https://www.toest.bg/kafe-bob-i-predizborni-prognozi/

Кафе, боб и предизборни прогнози

За политолозите и социолозите се знае, че колкото и пъти да сбъркаме с прогнозите си, дойде ли време за избори, се пробваме отново и отново. В началото на 2026 г. смело предвидих как едва ли някога отново ще имаме победител с абсолютно мнозинство, само за да бъда опроверган от „Прогресивна България“ на Радев три месеца по-късно. Сега отново опитвам да прогнозирам изхода от президентския вот, макар оперативната обстановка (както казваше навремето мой колега политолог с познанства в МВР) да е динамична и пълна с черни лебеди – всъщност дронове, които от време на време потапят българските кораби.

Нашата власт в усърдието си да не обиди никого според мен е на път да реагира като пиратите от анимацията „Астерикс в Британия“, които накрая сами продъниха кораба си, само и само да не свършат тази работа галите. В нашия случай (с висока степен на вероятност, както биха казали управляващите) – руснаците.

Да се върнем обаче на изборите за президент. Макар някои от основните партии и коалиции (ГЕРБ–СДС и ДПС), както и други по-малки, но обичайни заподозрени (например „Синя България“) да не сметнаха за необходимо да участват в тях, кандидатите за държавен глава са рекорден брой – 28. Социологическите проучвания обаче отличават трима от тях с по-големи шансове, а подкрепата за още няколко е що-годе видима. 

С уговорката, че това не са прогнози кой ще победи, а „моментна снимка“ на обществените нагласи. 

Като фаворит в битката влиза Илияна Йотова, която изпълнява длъжността президент след оставката на Радев, с кандидат-вицепрезидент Кирил Вълчев, а като основен съперник се очертава двойката на Андрей Гюров и Георги Кандев. И двете кандидатури са издигнати от инициативни комитети, макар зад тях да застават партии. Както каза Йотова, тя разчита на най-старата (БСП) и най-младата партия („Прогресивна България“). Зад Гюров са наскоро разделилите се ПП и ДБ, които обаче са заедно в негова подкрепа. Според социологическите изследвания Гюров и Кандев не само привличат симпатизантите, но и популярността им надхвърля общата подкрепа на двете политически сили за евентуален предсрочен парламентарен вот.

На трето място агенциите посочват тандема Костадин Костадинов и Петър Волгин от партия „Възраждане“, а зад тях са подобните им по убеждения двойки, водени от Радостин Василев („Меч“) и Ивелин Михайлов („Величие“). Демократичното пространство не изневерява на традицията да вади алтернативни на основните си кандидати в лицето на Иван Христанов и Николай Ненчев. В надпреварата участват и вечни претенденти като Волен Сидеров, проф. Александър Томов, Венци Чикагото, както и наистина екзотични кандидатури като Ваня Великова и Величка Георгиева – последното можем да го кажем като скоропоговорка. Тези Кубертенови участници в голямата си част нямат шанс не само за победа, а дори за балотаж, но стават за разпространение на руски опорни точки. Ако приемем мрачната хипотеза, че активността на много от тях зависи от един център, опитващ да доминира публичната среда, можем да окачествим стратегията на този център с английската поговорка, че мяташ всичко по стената с надеждата нещо да залепне.

Йотова – когато милостта се окаже недостатък

Илияна Йотова влезе в кампанията с институционална тежест и внушителен инициативен комитет, в който се включиха както личности със значителен авторитет – като проф. Христо Пимпирев и Симеон Идакиев, така и призраци от миналото, като Красимир Каракачанов от ВМРО и Красимир Премянов от Съюза на тракийските дружества, който по времето на Жан Виденов беше лидер на парламентарната група на БСП и минаваше за един от силните хора в партията. 

От самото начало обаче набраната инерция заскърца заради разкритията, че Йотова е помилвала наркотрафикант. По-късно се разбра, че това не е единичен случай. Тя прехвърли отговорността за решението си на медицинска комисия. Така, без да иска, сама се сведе до ролята на прословутата автоматична писалка, която президентът на САЩ Доналд Тръмп не спира да използва като подигравка срещу предшественика си Джо Байдън, както постъпи дори пред китайския си колега Си Дзинпин. 

Оставам с впечатлението, че умението да се справя в състезателната обстановка не е особено силна страна на Илияна Йотова

и тя до голяма степен очаква коронация на изборите. В този стил беше и интервюто ѝ пред Георги Любенов – в помещение, напомнящо тронна зала. Такава увереност придава тежест, но издава и известно високомерие.

Кирил Вълчев беше избран за кандидат-вицепрезидент, за да добави интелектуална тежест към кандидатурата на Йотова. Директор на БТА, възпитаник на НГДЕК, дългогодишен журналист, умеещ да говори красиво. На този фон изцепката му, че ще се бори с арабските цифри, е покъртителна. Може би на фона на общия патриотарски популизъм героичната кауза за борба в защита на кирилицата от несъществуващи врагове, подета от президентката, е хитър ход. Добавянето на цифрите към враговете обаче го превръща във фарс.

Според социолозите подкрепата на Илияна Йотова е над 40%, а според някои прогнози доближава 50%. На пръв поглед това звучи озадачаващо, тъй като „Прогресивна България“ позагуби част от подкрепата си, традиционните националисти върнаха някои от гласовете, дадени напролет за Радев, и въпреки това изглежда, че действащата президентка върви към сходен или по-висок резултат. Това може да се обясни с прогнозираната по-ниска избирателна активност. При такова развитие е възможно Илияна Йотова да има по-нисък резултат от партията на Радев като абсолютен брой гласове, но да има същия или дори по-висок дял от подадените бюлетини. 

Основен актив на настоящата президентка са умерените русофили,

които искат да следват максимата, приписвана на цар Борис III (без да има доказателства, че той я е изрекъл) – „Винаги с Германия – никога против Русия“. За тях политиката на „Прогресивна България“ и лично на президентката Йотова е реванш след последните години на подкрепа за Украйна, като в същото време те не желаят да се загърбят напълно ЕС и НАТО, както искат симпатизантите на „Възраждане“. Дали тази позиция е разумна, е спорно, но тя, изглежда, намира сериозна подкрепа сред гласоподавателите, така че носи дивиденти на двойката Йотова – Вълчев.

Основният негатив на Йотова е, че доколкото е свързвана с Радев, върху нея се прехвърлят известни имиджови щети от провала в борбата с поскъпването – основен бич за избирателите у нас и по света. Самият спад и отказът от гласуване, наблюдавани от социолозите, сочат, че се оформя недоволство, което при евентуален балотаж може да избие срещу Йотова.

Гюров – кандидатът, от когото ПП и ДБ имаха нужда

Не е тайна, че „Продължаваме промяната“ и „Демократична България“ разчитат на електорат, който трудно би ги напуснал заради популистка формация, но почти невъзможно е периферията им да се разшири. Яростната антикорупционна реторика и реторическото „влизане с бутонки“ на опонентите, характерно както за Асен Василев от ПП, така и за Ивайло Мирчев от „Да, България“, надъхва симпатизантите, но може да отблъсне колебаещите се.

От тази гледна точка изборът на Андрей Гюров се оказа великолепен.

Той защитава позициите на ПП и ДБ убедено, но разчита на спокойна, експертна реторика, говори, без да повишава гласа си, демонстрира двустранна комуникация, при която общува с избирателите, а не ги назидава отгоре. Последното е видно и от клиповете, които споделя. В тях се вижда, че Гюров успява да запази самообладание дори при агресивен противник от другата страна. Защитава ясни проевропейски и прозападни позиции, но като че ли опитва да убеди и колебаещите се в тях, а не разчита на назидателното „трябва да мислите така“. 

Като минус на Андрей Гюров може да се отчете, че експертният му маниер на говорене често не е особено увлекателен.

Понякога думите му не може да се обобщят накратко и така да достигнат и до хората с по-повърхностен интерес към политиката.

По-сериозен гаф беше прословутото интервю, в което Гюров се затрудни да посочи агресора във войната с Иран. Но това се случи относително рано в кампанията и остана на заден план на фона на положителното му като цяло излъчване. Компетентността на кандидата за вицепрезидент Георги Кандев беше подложена на съмнение, но номинирането му има потенциал да привлече избиратели на ГЕРБ, които предвид миналото на Бойко Борисов симпатизират на образа на строг полицай с чувство за хумор.

За момента данните показват, че Андрей Гюров има доста висок прогнозен резултат – между 20 и 30%. Ако се потвърди на изборите, това ще означава, че задачата да бъдат привлечени бивши „сини“ избиратели, отишли в ГЕРБ, е по-скоро изпълнена, при все многото знакови лица от партията, подкрепили Йотова. В случай че резултатът на кандидатите на ПП и ДБ прехвърли 30%, а Йотова и Вълчев паднат под 40%, това би направило балотажа по-трудно предвидим. Чисто инерционно настроенията ще се насочат към Гюров и Кандев и тогава може да сработят механизми, които излизат извън механичното пресмятане кой от другите към кого би се присъединил. Йотова ще трябва да разчита най-вече на избирателите на „Възраждане“, но при сходна ситуация на последните местни избори в София Костадин Костадинов отказа да подкрепи Ваня Григорова. 

Костадинов пред Волгин – его или стратегия?

„Възраждане“ преживя тежък удар на парламентарните избори, когато едва прескочи бариерата от 4%. Ходът с включването на Петър Волгин в президентската надпревара обаче е нож с две остриета. Ярък глас на соцносталгиците у нас, Волгин има потенциал да откъсне част от подкрепата за Йотова. Като кандидат за вицепрезидент обаче този му потенциал е ограничен. И тук идва въпросът дали Костадин Костадинов не направи грешка, като не пусна Волгин например с Нешка Робева, за да играе ако не за победа, то поне за балотаж. 

За Костадинов обаче оцеляването на партията му и лично на него като неин лидер може да е от по-голямо значение от доброто представяне конкретно на тези избори.

С личното си участие той се опитва да стабилизира доверието към „Възраждане“ и конкретно към себе си, да увеличи резултата спрямо парламентарния вот и да успокои симпатизантите си. Със сигурност много от избирателите на партията таят надеждата, че ще успеят да повторят постижението на Сидеров и „Атака“ отпреди двайсет години, макар социолозите да не дават сериозни индикации, че това е възможно. В миналото партия „Възраждане“ често е била подценявана, както често се случва с партии, вотът за които се смята за обществено непрестижен. Напоследък обаче симпатизантите ѝ са по-скоро горди с нея, така че този ефект е минимизиран. Ако има скрит популистки вот, той според мен ще се прелее другаде.

Имат ли скрит потенциал Ивелин и Радостин?

Най-трудно е да се предвиди резултатът на малки партии – понякога той носи изненади. В миналото и „Меч“, и „Величие“ са показвали, че могат да постигнат по-висок резултат от видимия за социолозите. Причините според мен са в достигането до нетрадиционни избиратели.

Радостин Василев има ясна и простичка стратегия. Яко хейт и много хумор, ако ми позволите разговорния език. Той се стреми да оплюе всичките си опоненти и да нарича с цветисти изрази управляващите. Силата му е, че може да изговори това, което би било недопустимо за Андрей Гюров например. Разчита и на подигравки, което се харесва на българите, видно от резултатите на „Има такъв народ“ в миналото, от чиито редици изгря и Василев. Възможно е да привлече гневни млади мъже с антикорупционната си реторика и да постигне по-висок резултат от предвиденото. Но е трудно да си го представим на балотаж.

Ивелин Михайлов има още по-странна стратегия. Неговата бизнес империя като че ли рухна, но той използва това, за да си създаде образа на мъченик. Голямата му слабост е, че не може да говори особено интересно и увлекателно. Това се компенсира с абсурдни клипчета, правени с изкуствен интелект и разпространявани в интернет от структури на „Величие“. В тях той се изявява като Нео от „Матрицата“, бори се с триглав змей, носещ лицата на политици от статуквото и т.н. Звучи смешно, но има потенциала да привлече електорат, който традиционно не е изкушен от политиката, но би могъл да бъде привлечен да се включи в изборите посредством похвати от комиксовата култура. Това прави прогнозния му резултат сходен с този на Радостин Василев – по-висок от първоначално очаквания, но недостатъчен за нещо значимо.

От останалите кандидати известен потенциал на теория има Иван Христанов, но ми се струва, че неговата реторика е популистка, а се цели в електората на демократите, които не харесват този похват. Николай Ненчев така и не набра инерция, която да му даде видимост. Волен Сидеров е в ролята на Уди от „Играта на играчките“ – захвърлен настрани, защото вече не е интересен заради по-новите модели на Баз светлинна година, каквито са Костадинов, Радостин Василев и Ивелин Михайлов. Не виждам перспективи и при червените кандидатури, например на проф. Александър Томов и Георги Димов, при положение че този вот ще се концентрира в Йотова.

Разбира се, всичко казано дотук е поне до известна степен гледане на кафе и гадаене на боб, макар и в рамките на политологичния анализ.

Клишето в случая е вярно – само хората могат да изберат какво искат за държавата си. Вариантите в крайна сметка са два. 

Първият, който може да се осъществи с избора на Илияна Йотова, е пълна концентрация на властта в кръга около „Прогресивна България“, която де факто зае мястото на залязлата БСП. Това ще постави България в ситуация, в която тя никога не е била в демократичната си история – в разгара на Виденовата зима Петър Стоянов беше избран за президент, а по време на тройната коалиция Станишев нямаше абсолютно мнозинство в парламента. Ако този вариант се осъществи, стабилността му много ще зависи от това дали от „Прогресивна България“ имат капацитета да управляват успешно – нещо, в което след първата си половин година във властта не успяват да убедят.

Вторият вариант е да имаш авариен бутон. Ако нещо се обърка, например ако неуспешната финансова политика доведе до нови масови протести, хората да имат съюзник в Президентството. Подусловието обаче е дали този съюзник да е популист – позицията, на която навремето Жорж Ганчев не успя да се изкачи, или системен демократичен играч, отказващ да зачеркне всичко постигнато през последните десетилетия, какъвто, изглежда, е Андрей Гюров.

Intel Moves Forward at Ohio One With First Major Structural Truss Installation Arizona Fab 62 Tooling

Post Syndicated from Vic A original https://www.servethehome.com/intel-moves-forward-at-ohio-one-with-first-major-structural-truss-installation/

Intel Ohio One is making progress with truss installation as part of its construction and future wafer capacity

The post Intel Moves Forward at Ohio One With First Major Structural Truss Installation Arizona Fab 62 Tooling appeared first on ServeTheHome.

Upstreaming Tyr: Rust, DRM, and the Linux Kernel (Collabora)

Post Syndicated from corbet original https://lwn.net/Articles/1102024/

The Collabora blog provides
an update on Tyr
, a driver for Arm Mali GPUs.

One of our biggest challenges has been developing Tyr while the
Rust kernel abstractions and driver interfaces are also being
developed. As the driver interfaces are naturally revised and
improved, we have rewritten Tyr several times to adapt to the
larger Rust ecosystem. This not only makes progress much slower
than it would be with a mature API, but also stalls progress for
capabilities, such as job scheduling, while the abstraction is
properly designed, reviewed, tested, and merged upstream.

But working in this evolving environment is also precisely where
Tyr is able to provide the most value. As a user of these new Rust
abstractions, Tyr helps to expose their requirements and
limitations.

[$] Understanding Nix flakes

Post Syndicated from jzb original https://lwn.net/Articles/1094226/

Nix flakes are an
experimental feature of the Nix package-management
tool
designed to build projects in a more self-contained and reproducible
way. Despite the feature’s experimental status, it has become increasingly
popular for open-source projects to publish flake.nix files that offer
predefined development environments and build automation even when those
repositories may not offer an upstream package or module for the NixOS Linux distribution. Although
Nix flakes have a complicated history, and the path for stabilization is
uncertain, flakes can provide useful capabilities for projects that choose to
include them.

Introducing full transaction detection for Cloudflare WAF

Post Syndicated from Daniele Molteni original https://blog.cloudflare.com/full-transaction-waf/

Today, we are expanding our web application firewall (WAF) by adding two new capabilities: full transaction detections and response rules. Full transaction detections evaluate each HTTP request alongside its response to identify evidence of exploitation. It helps answer both "Does this request look malicious?" and "What happened when the application handled it?" Response rules can then block the origin’s response before it reaches the requester.

These are valuable protections because the latest frontier models are uncovering vulnerabilities buried deep in widely used software, giving defenders clarity on what to fix — and attackers new paths to exploit. The recent php2shell vulnerability shows the stakes: a flaw in a common software component can put applications across the Internet at risk. AI agents scanning for vulnerabilities can be extremely persistent, adapting payloads using feedback, and chaining vulnerabilities, credentials, and permissions. An application's response can reveal whether an attempt worked and give an attacker information that helps them go deeper.

Inspecting incoming requests remains essential for stopping recognizable attacks before they reach an application. But some threats become clear only when the request is considered alongside what the origin returns. A suspicious input followed by a response exposing sensitive information tells a different story from the same input followed by a rejection or an error.

With these new capabilities, customers can use Cloudflare-managed protections or build their own policies combining request and response properties. This extends our always-on application security framework, with detection results available in Security Analytics to support investigation. Our first managed protections using this capability address the recently disclosed php2shell vulnerability.

And the best part? We are making these new capabilities generally available to all Cloudflare customers, including Free plans.

Request inspection is not enough

Cloudflare WAF protects websites and APIs with managed rules, custom rules, and rate limiting. Managed rules provide protection for known attack techniques and vulnerabilities while custom rules let teams create their own policies using parameters such as an IP address, URL path, headers, and request body. These controls operate at the request level to stop exploits or unwanted traffic from reaching the origin.

For many threats, this is the right place to act. However, treating every suspicious request as a confirmed exploit creates a difficult choice. Broad request signatures can catch more potential attacks, but they can also show “false positives”, such as matching legitimate traffic — which then breaks the applications. Deploying only rules that do not trigger false positives reduces that risk, but can leave more room for more ambiguous traffic to reach the server.

The response provides the missing evidence. Cloudflare can now correlate it with the request that produced it, so detections can account for the outcome of the entire HTTP transaction.

As an illustrative example, consider an application that lets users download files. An attacker manipulates the file parameter to request a private configuration file outside the permitted directory:

GET /download?file=../../config/database.ini

Request inspection can recognize this path traversal attempt and block it before it reaches the application. The request alone, however, cannot establish whether the application would expose the file. It might reject the request, ignore the traversal, or return an error. If the request reaches the origin, a response like this provides additional evidence:

200 OK
Content-Type: text/plain
[database]
username=app_service
password=EXAMPLE_SECRET

Full transaction detection provides a missing piece: it can correlate the attempted file access with response content characteristic of a private configuration file. Configuration-like text can legitimately appear in documentation or example downloads; combining it with a traversal attempt provides stronger evidence of sensitive data exposure than either signal alone. A response rule can then replace the origin response with a Cloudflare WAF block page and HTTP 403 before it reaches the requester, effectively blocking the exploit by preventing sensitive information from reaching the attacker.

Detection and mitigation are separate by design

Full transaction detection extends the always-on detection framework we introduced earlier this year. Detections analyze traffic and attach metadata to the request and response, rules then decide what to do with those results.

Separating those jobs gives customers visibility before they design a policy. Security teams can inspect detections in their own traffic, understand which endpoints and signatures are involved, and choose the response that fits their application. Similar to the approach for the request-based Attack Signature Detection, the outcome of the detections are stored in fields that can be accessed in the response custom rules or used in managed detections to block traffic.

Mirroring the request detection fields, the following new fields are added to our platform:

Field

Description

cf.waf.signature.response.confidence

Confidence values associated with matching signatures

cf.waf.signature.response.categories

Categories associated with matching signatures

cf.waf.signature.response.ref

Signature reference IDs, up to 10

The first full transaction detections focus on exploit confirmation for high profile vulnerability. It correlates suspicious input with response signals that indicate an exploit may have succeeded.

We will expand coverage over time by supporting other use cases, including detecting data exposure and exfiltration signals. This is important for the Internet beyond any one application: defenses can distinguish probing from evidence of impact, while detection of exposed data and services can reach customers that do not have a dedicated security team tuning every WAF rule.

Create rules on the response

Detecting evidence of exploitation is most useful if you can act on it in real time. Response custom rules turn full transaction detections into inline protection by blocking a matching origin response before it reaches the requester, although it cannot undo actions already performed at the origin.

Security teams can now combine request and response properties with detection results to decide which responses to block. When a blocking rule matches, Cloudflare replaces the origin response with a WAF block page or a custom response.

Response phase controls are available in the Cloudflare dashboard at the bottom of the Security > Security Rules page, with both managed protections and custom rules.

We have released both managed and custom rules to all plans, including Free plans. Over time, we will follow the same approach we use for request detections, where managed detections for free plans focus on high-profile vulnerabilities, while paying customers get a richer catalog of detections.

Managed detections

All customers get the protection of the full array of transaction detections through the Cloudflare Managed Response Firewall Default ruleset, which is designed for a simple one-click deploy and simplified configurability. When a signature matches, the managed detection will block the response and return a standard WAF block page.

You can edit the Cloudflare Managed Response Firewall Default scope to run detections only on a portion of their applications, for example by excluding or restricting the detection to a specific path. Paying customers can use detection fields in custom response rules to create more tailored policies.

Custom rules

Custom response rules are designed to give customers full control of the rule logic. A useful rule can stop an administration interface from being exposed when an authentication gateway has not marked the request as internal. For example:

http.request.uri.path starts_with "/admin" and not http.request.headers["x-internal-user"][0] eq "true" and http.response.code eq 200 and http.response.headers["content-type"][0] contains "text/html"

This blocks only when an unauthenticated request targets `/admin` and the origin actually returns a successful HTML administration page. It does not block ordinary authentication failures, redirects, or non-administration traffic.

All customers can create up to three custom response rules supporting Log and Block actions. The fields and functions available in response to custom rules mirrors what your plan gives you access to in request custom rules already. Creating rules on the response body is not yet available.

Following the Attack Signature Detection approach, paying customers also have access to the outcome of attack detections through the cf.waf.signature.response.*  fields listed above. These fields can be combined with other parameters (such as a hostname, URL path, source IP, request header) to enable protection on a single path, or limit the policy to application-specific context. We are currently rolling out the response fields to all our accounts. If you don’t have access to them yet, please contact your account team.

Investigating matching requests

When a managed or custom response rule logs or blocks a transaction, the event is available in Security Events. This means responders can trace any detection back to the full context of the request and the specific rule that took action.

At the moment, both request-only rules and full-transaction rules are shown together in the same analytics page. In Security Events, the events generated by response rules are part of the Managed Rules or Custom Rules service. You can filter events belonging to a specific rule ID in the relative rule list section.

Get started today

Full transaction detection is generally available for all zones proxying traffic through Cloudflare. To verify that you’re protected, go to Security > Security Rules in the Cloudflare dashboard. If you want to customize your policy, start by reviewing full transaction detections in Security Analytics, then create the response phase policy that fits your application.

Cloudflare deploys protections against php2shell vulnerability

Post Syndicated from Daniele Molteni original https://blog.cloudflare.com/php-vulnerabilities-waf-protection/

Today, Calif.io, Wiz, OpenAI and Quarkslab disclosed two vulnerabilities in PHP, tracked as CVE-2026-109618 and CVE-2026-109619 and known as php2shell. The vulnerabilities affect all web servers running PHP 5.4 or later and they may allow an attacker to cause denial of service, remote code execution, and data exposure when an application processes specially crafted HTTP traffic.

Cloudflare has been part of a coordinated effort to deploy mitigations to protect the Internet, working with PHP foundation, OpenAI and Wiz among others. Cloudflare has developed and deployed web application firewall (WAF) protections since early October 2026, which were deployed about 9 hours ahead of public disclosure. Starting on October 21 3:02 am UTC, Cloudflare customers using our free or paid WAF were protected by default against php2shell.

Cloudflare successfully deployed multiple mitigations for all its customers while the vulnerability was leaked before the official release date and we observed attack traffic targeting our customers. We observed how attackers were mutating the attack payload to try to bypass our protections by tracking the volume of matches and cross-referencing with the rule logic.

Protecting against php2shell required more than standard request-based rules. Request data alone does not always provide enough evidence to distinguish an exploit from legitimate traffic. The origin’s response adds context, helping identify whether an exploit succeeded while reducing the risk of false positives.

To deliver this protection, we developed full transaction detection, a new Cloudflare WAF capability that combines signals from the request and response within the same HTTP transaction. Response rules can then block a matching origin response before it reaches the requester. The php2shell protections are the first managed detections we have released using this capability.

Customers should patch their PHP repos even with WAF protections providing an additional layer of defense-in-depth mitigation. Our security analysts continue monitoring attack activity and update the rules when and if new techniques and variations emerge in the hours and days ahead. You can track new rules in the changelog.

The protections are available and deployed automatically on all plans with WAF deployed, including Free users.

What we know about the vulnerabilities

PHP is used by almost 70% of websites. The php2shell vulnerabilities affect the PHP runtime itself and can allow attackers to execute malicious code on vulnerable servers, expose customer data, or disrupt services. Because PHP underpins widely used platforms such as WordPress and Magento, these flaws could potentially affect a large number of applications across the Internet.

The two vulnerabilities involve how PHP handles memory when something goes wrong while processing a HTTP request. Normally, PHP allocates memory to store the data it needs to process a request, then releases it when that work finishes. If processing stops unexpectedly, for example because it runs out of memory, PHP fails to clean up the memory safely. These vulnerabilities arise when PHP handles an error and then tries to use data that was not fully set up or memory that has already been released.

An attacker can send specially crafted HTTP requests to trigger these conditions. Large requests are one way to put memory under pressure, but the problem goes beyond consuming server resources. By manipulating the data PHP encounters in this invalid memory, an attacker may be able to crash a PHP process, expose sensitive information, or execute code provided by the attacker.

The two vulnerabilities differ in when the unsafe memory access happens:

Vulnerability

What goes wrong

CVE-2026-109618

PHP runs out of memory and interrupts its work before some internal data has been properly initialized. During cleanup of that request, PHP may use this unfinished data as though it were valid.

CVE-2026-109619

A fatal error interrupts a request, leaving PHP holding references to memory that is released when the request ends. When the same PHP process handles a later request, it may follow those outdated references and access memory that is no longer valid and expose sensitive data.

These flaws are in the PHP runtime, so updating website code or a plugin(s) alone does not fix these vulnerabilities. Administrators need to update the PHP software running their applications. If a hosting provider manages PHP, ask the provider to apply the security update.

Administrators can follow the PHP advisory for affected versions and remediation instructions. Keep Cloudflare WAF protections enabled while patching. Restricting unnecessary uploads and limiting upload sizes can also reduce exposure, but these measures do not replace the PHP fix.

New rules

For Free customers, new rules have been released under the Cloudflare Managed Free Ruleset (Ruleset ID 77454fe2d30c4220b5701f6fdfb893ba). Free customers don’t have to take any actions to enable the protection. To override the ruleset behavior you can refer to our documentation.

Rule Description

Rule ID

Generic Rules – Anomalous Execution – 1

4e315666e8e344cdb64119a3b5ccf32f

Generic Rules – Anomalous Execution – 2

00c10e6cc4da4bd08722adeebcd95984

Generic Rules – Anomalous Execution – 3

48ddf592361e4fdb97a8a85982dab691

Generic Rules – Anomalous Execution – 4

3556683d512a47f2937899c524b1a4c6

Generic Rules – Anomalous Execution – 5

da07c85852e34625bb478496302ede46

Generic Rules – Anomalous Execution – 6

19373a83abb840e18ab3ce5a7975ce1b

Generic Rules – Anomalous Execution – 7

07f0b6ddaabf40b1b2042dade8d613fa

Protection for paid plans has been released as part of the Cloudflare Managed Ruleset (Ruleset ID efb7b8c949ac4650a09736fc376e9aee). If you are on a Professional, Business, or Enterprise plan, review your Managed Ruleset deployment to confirm it’s deployed block mode.

Rule Description

Rule ID

Generic Rules – Anomalous Execution – 1

c1d409ad838f47f59446f21cc438d5dd

Generic Rules – Anomalous Execution – 2

f9a45927414245e3a64bb12d0a0c2f64

Generic Rules – Anomalous Execution – 3

771c654ae1154d4daa72f4e1545d163c

Generic Rules – Anomalous Execution – 4

217005865f0145f392300bac212afcc9

Generic Rules – Anomalous Execution – 5

38efdb17ea594501bb55a1d71867b12e

Generic Rules – Anomalous Execution – 6

4148ae686fdb4d01be673fab9d9c073d

Generic Rules – Anomalous Execution – 7

1389aa259617437392ce149c48143645

To better identify exploit attempts, Cloudflare developed full transaction detection, a new WAF capability that analyzes both sides of the same HTTP transaction. While some malicious payloads can be identified using the request alone, the response contains useful signals that can be used to create rules with higher confidence, reducing false positives. A matching full transaction rule can block the origin response before it reaches the requester. Learn how it works in our full transaction detection blog post.

The following rules have been deployed to the new Cloudflare Managed Response Firewall Default for customers on all plans, including Free:

Rule Description

Rule ID

Default block for High confidence Signatures

afffe22785674c80a31875c848d2242a

Note: rule descriptions will be updated soon.

Review events and customize protection

To analyze blocked requests, visit Security > Security Analytics > Events. Filter by the rule IDs in the table above and inspect the matched request, action, and path. Events identify whether the action came from a managed or custom rule. Customers who need to tailor the protection can update the scope of the Managed Ruleset to the parts of an application where it is relevant.

Update PHP and keep the protection enabled

Cloudflare customers using our Managed Ruleset are protected by default. We recommend following the advisory recommendation and applying the vendor update to your PHP repos as soon as possible while keeping the WAF protection enabled as an additional protection. Our WAF analysts will continue to update protections as new techniques emerge.

PHP patches released for two critical RCEs

Post Syndicated from jzb original https://lwn.net/Articles/1102014/

The PHP project has published PHP
versions 8.5.12,
8.4.27, 8.3.36 and 8.2.35 to address
two critical vulnerabilities that could allow unauthenticated remote code
execution.

Who is at risk: all PHP installations serving web requests,
including PHP-FPM, Apache with mod_php, php-cgi, FrankenPHP and LiteSpeed. We
consider the risk highest for mod_php, with a demonstrated exploit where an
unauthenticated request can trigger the attack before any application code
runs.

The vulnerabilities:

  • RCE via OOM corruption, CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): out-of-memory
    handling can interrupt PHP while internal request data is only partially initialized. Request cleanup may then treat the invalid data as valid.
  • RCE via stale global state, CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): request-owned
    internal state can survive after its backing memory has been freed. A later
    request handled by the same worker may use that stale state before normal
    initialization resets it.

PHP versions older than 8.1 will not receive updates from the project, though
the project has provided some patches for PHP
7.4
, PHP
8.0
, and PHP
8.1
to assist in creating backports. According to the
announcement, Linux distributions and vendors received patches in advance, so
updated packages should be coming soon.

Security updates for Wednesday

Post Syndicated from jzb original https://lwn.net/Articles/1102005/

Security updates have been issued by AlmaLinux (bubblewrap, emacs, gimp:2.8, glibc, jackson-databind, kernel, kernel-rt, librabbitmq, openexr, openssh, postgresql:16, postgresql:18, python3, resteasy, wireshark, xorg-x11-server, and xorg-x11-server-Xwayland), Debian (ca-certificates, firefox-esr, git-lfs, and libssh), Fedora (aom, assimp, bind, bind-dyndb-ldap, freerdp, ghostscript, gopass, gopass-jsonapi, ImageMagick, libpng12, libpng15, nebula, perl-GD-SecurityImage, perl-Net-IDN-Encode, perl-Net-Whois-Raw, rust-backtrace, rust-object, rust-object0.37, rust-object0.38, rust-object0.39, rust-ruzstd, and xen), Gentoo (ca-certificates), Mageia (x11-server, x11-server-wayland, tigervnc), Oracle (bubblewrap, ca-certificates, emacs, fetchmail, gimp:2.8, hostapd, jackson-databind, librabbitmq, lrzsz, openexr, openssh, openssl, postgresql:18, python-urllib3, python3, python3.12-urllib3, resteasy, webkit2gtk3, wireshark, and xorg-x11-server-Xwayland), Red Hat (.NET 8.0, dogtag-pki, flatpak-builder, ghostscript, glycin-loaders, go-toolset:rhel8, golang, gvfs, jackson-core, jackson-databind, librsvg2, multiple packages, pki-core, pki-core:10.6, sudo, xorg-x11-server, and xorg-x11-server-Xwayland), Slackware (c-ares, ca-certificates, mozilla-firefox, mozilla-nss, mozilla-thunderbird, and python-certifi), SUSE (agama, aspell, bcel, bind, bouncycastle, busybox, chromium, containerd, coredns, cosign, cpp15, cups-filters, cyrus-sasl, fetchmail, firefox, gcc13, gh, ghostscript, gitoxide, glibc, go1.26, go1.27, google-osconfig-agent, grafana, grok-build, hashcat, hawk2, helm, ImageMagick, inspektor-gadget, iperf, jupyter-jupyterlab-templates, kernel, kernel-devel, libheif, libpng16, librsvg, libX11, libXi, libxls, libXpm, libxreaderdocument3, mutt, ntfs-3g_ntfsprogs, openssl-1_0_0, openssl-3, openvpn, pacemaker, perl-DBI, perl-XS-Parse-Keyword, pgvector, podman, putty, python-anyio, python-hpack, python-joserfc, python-jwcrypto, python-oauthlib, python-PyJWT, python-tornado6, python-urllib3, python-virtualenv, python-WebOb, python3, python311, rekor, squid, strongswan, stunnel, suseconnect-ng, tinyproxy, traefik, unbound, varnish, virtiofsd, webkit2gtk3, and xwayland), and Ubuntu (ca-certificates, dotnet8, dotnet10, dotnet11, protobuf, rust-sudo-rs, squid, squid3, and xz-utils).

How Commerce.com and Cloudflare are getting storefronts ready for AI agents

Post Syndicated from Jenny Lea original https://blog.cloudflare.com/webmcp-commerce/

AI can write code and pass the bar exam, but it still struggles to buy a pair of shoes online.

That’s because websites were built for humans, not agents. Most agents that shop for someone today work from a site’s HTML — they look at the page, guess which button does what, click, and try again when they get it wrong. This process is slow, uses a lot of tokens, and something as seemingly innocuous as a theme change can break it.

Enter WebMCP: a browser standard from Google that gives AI agents structured tools on a page, like search_products. Instead of hunting for buttons, the agent calls the exact tool it needs directly, making shopping faster, cheaper, and far more reliable. Because WebMCP is still an experimental proposed browser standard in early preview, it’s currently available behind experimental Chrome flags (chrome://flags/#enable-webmcp-testing), in Chrome Origin Trials, in some agentic browsers, and across developer environments like Cloudflare Kitesurf.

In August, we launched edge implementation of WebMCP in beta. Turn it on, and Cloudflare injects a tiny script at the edge to make those tools available automatically, without site owners writing a single line of code.

Commerce.com, a flexible commerce platform built for the age of AI, already uses Cloudflare to run their almost 100,000 domains. So when the preview came out, they asked: Can we turn this on for all of our stores at once?

Here’s why Commerce.com wanted WebMCP, how we built edge-level opt-outs to give every merchant control, and what we learned along the way.

Why Commerce.com wanted WebMCP

Kristina Pototska, Product Management Director at Commerce.com, explains why this matters for storefronts:

“Merchants keep asking us how they can keep up with agentic shopping. When a shopper asks an agent to find something, merchants want their store to be in the answer. They want to keep the customer, keep control of the checkout, and do it without rebuilding their site. WebMCP helps with all three. The agent gets real tools to search products, check details, build a cart, and get a checkout link, so it doesn’t have to guess its way around the page. The human shopper stays on the merchant’s site, and the merchant keeps the relationship.

We wanted to turn this on in a secure way, and without asking merchants to edit their theme or do anything by hand. That’s where the Cloudflare partnership worked perfectly.

WebMCP also works side by side with our server-side MCP, and together they cover the different ways people shop with agents. Server-side MCP supports agents that connect to a store directly, like an assistant helping someone shop across several sites. WebMCP supports agents that work in the shopper’s browser. It’s the same set of shopping tools in both cases, so merchants don’t have to choose between the two or manage them separately.”

Under the hood, this integration relies on two key principles. First, the WebMCP tools execute directly inside the shopper's active browser session on the storefront's domain, ensuring the agent sees the same prices and cart. No credentials go to a third party, and the visit still happens on the merchant's site. Second, Cloudflare serves as the edge delivery layer for Commerce.com’s backend MCP server, proxying tool definitions and actions unchanged so merchants maintain full control over their tool logic.

What a shopper's agent sees

When visiting an enabled Commerce.com storefront, an AI assistant no longer has to guess how to navigate the site. Instead, it can instantly discover tools via WebMCP.

Suppose you tell your agent: "Find me a waterproof trail running shoe under $140 in size 10 and add it to my cart."

Without WebMCP: The agent attempts to simulate human clicks, only to get blocked by cookie banners, misinterpret variant drop-downs, or get tripped up by bot challenges that try to distinguish automated traffic from real customers.

With WebMCP: The agent detects the store's tools on document.modelContext and makes two clean calls:

  1. search_products({ query: "trail running shoe", max_price: 140, size: 10 })
  2. add_to_cart({ product_id: "shoe_123" })

Because the agent runs inside your active browser session on the store's domain, your cart updates in real time. Commerce.com’s backend MCP server determines the commerce flow: when you’re ready to complete the purchase, you click checkout yourself — keeping your payment details secure and leaving you in complete control of the final buy.

What we built together

When Commerce.com asked to turn on WebMCP across almost 100000 storefronts, we ran into a practical challenge: WebMCP was originally designed as a single on-or-off switch for an entire domain zone.

Commerce wanted to enable our mcp-server-client toolpack, which acts as an edge bridge — proxying tool definitions and requests directly from Commerce.com’s backend MCP server to the visitor's browser. Because Commerce.com uses Cloudflare for SaaS to host thousands of merchant vanity domains on shared zones, we needed a way to deliver this platform-wide while giving individual store owners an easy way to opt out.

1. On for all stores on Commerce.com, with an opt-out for each merchant

Instead of building a complex custom allowlist, we hooked WebMCP into the existing Cloudflare concepts of Configuration Rules and custom hostname metadata.

Commerce.com turns WebMCP on for their main zone, then adds a rule at the edge that checks merchant metadata. If a merchant flips the "opt-out" switch in their Commerce.com dashboard, Cloudflare bypasses WebMCP for that specific storefront automatically:

{
  "action": "set_config",
  "expression": "cf.hostname.metadata.webmcp_opt_out eq \"true\"",
  "action_parameters": {
    "webmcp_enabled": false
  }
}

Because Cloudflare evaluates these rules at the edge before serving the page, an opted-out store gets zero extra latency, no remote lookups, and no injected scripts.

2. Tailored endpoints and safe fallbacks

As with any preview release, working with a partner in the real world revealed a few practical details we hadn't accounted for:

Custom MCP paths: When the mcp-server-client toolpack was enabled, our bridge originally expected to find every site's MCP server at /mcp. Commerce.com’s server lives at /api/mcp. To handle this, we added a configurable MCP URL setting at the zone level. When this is set, we pass the custom path into the injected script tag:

<script type="module"
    src="/.webmcp/bridge.js"
    data-packs="c2pa,mcp-server-client"
    data-mcp-url="/api/mcp"></script>

Seamless fallbacks: If a store's MCP server is offline or a customer's browser doesn't support WebMCP, the script exits. The storefront loads normally and human shoppers aren't affected.

What's next

We'll keep investing in WebMCP as the standard evolves, starting with helping agents find a site's tools more easily. Cloudflare and Commerce.com will continue to work together to make shopping with agents fast, reliable and safe for both merchants and shoppers.

If you're at Cloudflare Connect in San Francisco on October 21, 2026, come see us at Getting your storefront agent ready for peak season, a panel discussion featuring Kristina Pototska (Product Management Director, Commerce), Justis Blasco (CTO and Co-Founder, Popmenu), Ross Harvey (Head of Infrastructure, Fruugo), and Josh Mills (VP of Engineering, Gopuff).

Workshop on Economics and Information Security (WEIS) Archive

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2026/10/workshop-on-economics-and-information-security-weis-archive.html

There’s a new archive of all the papers from twenty-five years of the Workshop on Economics and Information Security (WEIS).

Really nice resource. It’s fun to reread my 2002 essay on the economics of information security.

Preparing young people for frontier technologies: Our new partnership with the UK government

Post Syndicated from Dan Fisher original https://www.raspberrypi.org/blog/preparing-young-people-for-frontier-technologies-our-new-partnership-with-the-uk-government/

Around the world, governments are grappling with the same question: how do you prepare young people for careers shaped by emerging technologies? In the UK, part of the answer is TechFirst, and we’re proud to be playing a central role in it.

Through the new TechFirst partnership with the Department for Digital, Culture, Media and Sport (DCMS), we are expanding Ada Computer Science, the free computing education platform we have built with the University of Cambridge for UK students and teachers. It’s one of the ways the UK government plans to bring frontier tech education to a million secondary students (11- to 18-year-olds) over the next three years.

What’s happening in the UK

TechFirst is the UK government’s £187 million tech skills initiative, designed to open up pathways into the country’s tech sector. It supports people at every stage, from students in school to university researchers and career changers.

Backed by major tech employers, the programme focuses on six frontier technologies: cybersecurity, artificial intelligence, quantum computing, engineering biology, semiconductors, and advanced connectivity technologies.

Ada Computer Science sits at the heart of TechFirst’s schools strand. With DCMS funding, we’re adding new content and features to the platform, and everything stays completely free.

For the first time, Ada Computer Science now covers ages 11 to 19, with new teaching and learning materials for 11- to 14-year-olds added alongside everything we already offer for ages 14 to 19. Thanks to the new materials, students can start exploring computing and frontier technologies earlier, and build on that learning all the way through to the end of secondary education.

Alongside the expansion of the Ada CS platform, DCMS is funding Regional Delivery Partners to bring hands-on technology activities into secondary schools across the UK, giving students practical experience and a real sense of where a tech career could take them.

Beyond the economic opportunities that understanding frontier technologies opens up for young people, gaining this knowledge and skills helps young people have agency and power in a world where technology plays an ever greater role in their lives.

We are pleased to offer the new frontier technologies materials, like all our teaching and learning resources, at no cost to teachers and students. This is one way in which we support equal access to a high-quality computing and AI education for all young people.

What’s coming next

We will add new content and features to Ada CS in phases, including:

  • Learning content on artificial intelligence, cybersecurity, quantum computing, engineering biology, semiconductors, and advanced connectivity technologies
  • Learning content designed specifically for 11- to 14-year-olds, covering a wide range of computing topics and building digital literacy
  • Interactive student challenges and self-paced projects
  • Careers content, including real-life case studies
  • Links to workshops, events, and activities run by Regional Delivery Partners

Find out more

If you’re a teacher or student in the UK, you can explore the first TechFirst content release on the Ada Computer Science website. Create a free account to be first to hear about the new content and features.

The post Preparing young people for frontier technologies: Our new partnership with the UK government appeared first on Raspberry Pi Foundation.

Мирослава Кацарова: В музиката се откриваш като свободен човек

Post Syndicated from Ина Иванова original https://www.toest.bg/miroslava-katsarova-v-muzikata-se-otkrivash-kato-svoboden-chovek/

Мирослава Кацарова: В музиката се откриваш като свободен човек

Мирослава Кацарова е сред най-запомнящите се гласове в българския джаз през последните две десетилетия. Умно, елегантно и с безупречна дикция тя пее на няколко езика, сред които български, френски и португалски, а предаванията ѝ по Радио Jazz FM Singin’n’swingin и Desafinado информират и са предизвикателство за истински претенциозните меломани.

Мира Кацарова и нейната компания „Блу Ем“ са лицето на „Пловдив Джаз Фест“, на чиято сцена ежегодно музицират световни артисти – икони в импровизационната музика. Да формира вкус и да създава жива, дишаща общност е сред талантите ѝ; това обяснява защо за концертите на „Пловдив Джаз Фест“ се стича публика от цялата страна.

И макар че невинаги е живяла в Пловдив, за Мирослава Кацарова градът е един от важните топоси в личната ѝ география.

Преживявам този град като отражение на моите спомени от детските години. Днешното пренаселване на градовете е враждебно, губи се очарованието на тази романтична провинция, в която аз съм израснала. Къщите в Пловдив бяха с дворове, бяха естествена градина със смокинови и нарови дръвчета, с асми, които проектираха дантели върху камъните. Моята баба гледаше рози и хортензии. Помня ароматите им, както и мириса на камък и дърво. А Старият град тогава беше фокус, хората отиваха там, за да се разхождат.

Нейният дядо е футболната легенда Никола Щерев – Старика, един от най-важните играчи във футболния клуб „Ботев“ Пловдив през 20-те и 30-те години на миналия век. Той създава първата детско-юношеска футболна школа в България, внасяйки от Виена модел за изграждането на младите спортисти в екип. Съвместявал е тази мисия с кариерата си на активен футболист и капитан на отбора. Никола Щерев се е интересувал от олимпийски спортове и е водил кореспонденция с бащата на съвременните олимпийски игри Пиер дьо Кубертен. Притежавал работилница, произвеждаща ски, а там, където днес са Пеещите фонтани, е имало естествено езеро. През зимата, когато замръзвало, то се превръщало в пързалка, неотменна част от градската култура. Никола Щерев откривал сезона – на кънки и с грамофона, който донесъл на съпругата си Мария от Париж.

Имали са много красива любов с баба, която е била с 13 години по-млада от него.

Никола е бил и планинар, запален турист, който през зимата е търсил възможност със специални ски да проправя пътеки извън пистите, стигал е по този начин от Пловдив до Пампорово.

Дъщеря му Снежанка, майката на Мира Кацарова, от пет-шестгодишна се е спускала красиво и стремглаво по известната днес писта „Стената“. Семейната легенда твърди, че заради близкото познанство на Никола Щерев с влиятелни генерали връх Снежанка е кръстен на „най-малката скиорка“. А разбира се, и заради факта, че по онова време е бил вечно бял.

Майка ми до много късни години караше ски в този елегантен стил, който вече не се вижда. Аз също бях научена на него – той е фин, без агресия, но по пистите вече има съвсем други отношения.

Говорим за отминалите кодове на старата градска култура, но нейните производни са свързани със съвременността. Тази чувствителност към вкусовете, ароматите, утопичното е силно осезаема в текстовете, които Мира Кацарова сама пише за авторските си песни.

Песните, които се опитвам да изпълнявам, са свързани с пределите между световете. И аз внимателно навлизам в тази реалност, опитвам се да я проучвам издълбоко. Не искам да изляза и да пея като шампион, не харесвам този вид отношение към музиката. Когато пея, искам това да е една човешка история – с цялата ми уязвимост, съмнения, несигурност и страхове. В музиката ти се откриваш като свободен човек, без предразсъдъци и съображения с дребното. С музиката можеш да кажеш неща, които са неназовими, затова аз възприемам тези песни като сънища, които не си спомняш докрай.

Философските търсения на Мирослава Кацарова са в диалог с идеите, стабилизирани от богословското ѝ образование. Преди това в Езиковата гимназия тя учи френски език и е пленена от символистите, от декадентския чар на Рембо и Бодлер, а и от екзистенциалистите – чете Сартр, Камю, търсейки себе си.

Бях истински Боготърсач. Борих се с идеите на екзистенциализма, че смисъл няма, че сме като Сизиф. И когато прочетох Ортодокса на Павел Евдокимов, осъзнах, че много дълбоко споделям философията на православното християнство, но не по начина, по който е профанизирана тази дълбока идея. Разбрах, че съм религиозен човек и че откривам човешкото във всичките му проявления като сила, тъй като православното християнство ни спасява от онзи плашещ, непристъпен Бог. Така стигнах и до изкуството като смисъл на човешките отношения. За мен това са музиката, литературата, живописта, киното, театърът – те са моят смисъл. Те са начинът тихо, ненатрапливо да пренареждаме този свят.

Успоредно с всичко, което преживява и търси, Мирослава Кацарова пее.

Открих джаза в гимназията през песните на Били Холидей, макар че вкъщи майка и татко слушаха инструментален джаз. После Майлс Дейвис и Джон Колтрейн, после Чик Кърия, Хърби Хенкок, Кийт Джарет, Йелоу Джакетс, Ян Гарбарек – този свят ме завладя лавинообразно. Благодарение на тях усетих абстракцията. Много ходех по джаз срещи и поисках да пея, но нямаше кой да те научи тогава как да импровизираш с гласа си. Единствената голяма джаз певица по онова време беше Йълдъз Ибрахимова; Камелия Тодорова не беше в България през 80-те. И аз се пуснах на един джемсешън, знаех няколко джаз стандарта от слушане, знаех блус схемата пак от слушане, без да съм наясно, че това е блус схема. Импровизирах. Аналитична съм и това много ми помогна, но цялата работа беше един огромен късмет, попаднах точно на хората. Чуха ме Рупето, Веселин Веселинов – Еко, Васил Петров, по-късно Христо Йоцов. Аз не наричах себе си джаз певица, казвах, че пея джаз, без да ползвам дефиниции.

В изкуството обаче късметът на начинаещия е само първата стъпка за възможната реализация. Професионалистите в една сфера виждат таланта, но оценяват вътрешната подготвеност на артиста да продължи личните си търсения. Постепенно Мирослава Кацарова намира своята сцена, канена е да прави гигове, следва концертиране, създаване на албуми, джазът се превръща в път.

Работата ѝ с публики и желанието ѝ да променя средата естествено я отвеждат до идеята за истински форум, свързан с импровизационната музика. През 2015 г. стартира „Пловдив Джаз Фест“ – Мира в щастлива колаборация със съпруга си Танко Кацаров използва всичките си лични контакти за да осигури допълнителни спонсорства.

Тогава чух новия албум на Кърт Елинг, в който има една песен по текст на Джеймс Джойс – Where love is, – и си рекох: хайде да доведем тук артисти, които ни вълнуват до сълзи. И понеже имам луд мъж, той се обади на агентката на Кърт Елинг. Оказа се, че има свободна дата на 2 ноември. Така започна всичко.

Оттогава тя програмира фестивала, а българските меломани имат шанса да чуят на живо иконични артисти, като в последните години е добавено и лятно издание под открито небе.

По време на „Пловдив Джаз Фест“ като съпътстваща програма млади изпълнители получават възможност за творчески работилници и джемсешъни, както и за близък, неформален контакт със знаменитостите. Ежегодно в един от фестивалните дни тематично е подбрана и литературна среща.

Как обаче става селекцията? Още повече когато се налага програмата да бъде синхронизирана с тежкия график на световен артист, обичайно запълнен за няколко години напред. Влиятелните имена в музиката, както и във всяко изкуство внимателно подбират сцените си и тук негласно, но императивно важи репутацията. Изграждането на доверие между екипите на изпълнителя и фестивала е многогодишен процес, в който няма място за грешки.

Сложно е на много нива, но аз тръгвам винаги от мечтата. Слушам страшно много музика и мога да кажа, че интуицията на един професионалист се отглежда. Ако не залагаш на суетна показност, а на реален интерес – а при мен е така, аз не мога да живея без тази музика, – виждаш, че сетивата ти се изострят за тенденциите. После започва другото: дали можем да си ги разрешим финансово. Ако е на ръба, ние го правим. Рисково. За световните имена се налага да съобразим и дали артистът е на турне в Европа – обратното е убийствено за бюджета на един фестивал.

За да се случи магията на сцената, договорите имат технически и хоспиталити изисквания, които – заедно с обезпечаване на финансирането – изискват целогодишен труд.

Тази година на 6, 7 и 8 ноември в Пловдив ще концертират Арън Паркс, Шай Маестро, Елина Дуни, Ема Смит, Дженк Ердоган, а първият ден е отделен за специален проект, посветен на 100-годишнината на Майлс Дейвис по идея на Росен Захариев – Роко – ще участват Стив Хамилтън (пиано), Васил Хаджигрудев (контрабас), Борислав Петров (барабани) и двамата гост-музиканти Петър Момчев (тенор саксофон) и бийтбоксърът Александър Деянов – Скилър. 

Какво според Мирослава Кацарова е важно на сцената? Самоконтрол, концентрация, за да следиш всеки тон на колегите си, и борба с егото.

Имам свободата да избирам с кого да работя, и съм благодарна, че това са музиканти, които са много талантливи, можещи и освен че имат любопитство към света, те са откриватели и приключенци. Всичко това ги отличава от занаятчиите. Обменяме идеи и по този начин растем.


Хората, които тихо и кротко променят средата, формират общности и задават посоки, в които има смисъл да тръгнем заедно. Тук ви срещаме с тях. Това са „Тези хора“.

Любов в ада

Post Syndicated from Вера Краузе original https://www.toest.bg/lyubov-v-ada/

Любов в ада

„Ергенът“ идва всяка година точно като сезонните алергии и с приблизително същия ефект върху организма. Напролет сервират рози и романтични сълзи по поръчка, наесен пък скандали, за които човек се срамува, че изобщо ги знае. После социалните мрежи избухват с гневни коментари: „Ужас, това повече няма да го гледам.“ До следващия епизод.

С годините зрителите са приели неписан договор с продукцията: едните ще прекрачват грубо границите, а другите ще сядат пред екрана. Това е най-странното постижение на формата.

Погазването на етични норми се е превърнало в зрителско очакване, което от своя страна служи на продуцентите за алиби.

Само че тазгодишният „есенен Ерген“ поставя въпроса докъде може да стигне това алиби. Има основателни причини да не го подминаваме с умора. Защото в ефир участничка говори за самоубийство, друга преживява криза, наложила лекарска намеса, а заплахите за физическа саморазправа стават все по-брутални.

Когато психическата криза стане телевизионен сюжет

В епизодите от 29 и 30 септември 2026 г. една участничка е отчаяна, защото е принудена да спи в стая с петима мъже без нейно съгласие. Тя има порив да напусне предаването, а след това изрича желание за самоубийство. Участничката споменава и начина. По време на сцената не се появява информация къде зрителите, които преживяват суицидна криза, могат да потърсят помощ. Действителното психическо състояние на участничката не може да се установи от телевизионните кадри. Остава неясно дали е просто фраза, или наистина симптом на крайно отчаяние. Но само по себе си изказването е достатъчно тревожно, за да постави въпроса за отговорността на продукцията.

Световната здравна организация има ясни професионални препоръки за медийното представяне на суицидни мисли и поведение. Сред тях са избягването на сензацията, ненужното повторение и конкретизирането на метода за самоубийство, както и предоставянето на информация за достъпна помощ. Изследвания показват, че начинът на медийно представяне може да увеличи рисковете за уязвими хора или обратно – да има предпазващо въздействие.

Тези препоръки сами по себе си не представляват законова забрана. Те съществуват именно за ситуации, в които редакционното решение може да има последствия отвъд непосредствения зрителски интерес. Защо информацията за помощ не е намерила място в монтажното решение?

Няколко дни по-късно друга участничка преживява тежка криза пред камерите. Състоянието ѝ се влошава, тя крещи неистово, че умира. Впоследствие има лекарски екип на терен. Медицинска помощ очевидно е потърсена. Това е важно и трябва да бъде отбелязано. Но остава другият въпрос:

защо момент на тежка криза се превръща в публично зрелище? В една телевизионна продукция камерите могат да бъдат изключени.

Кадрите могат да останат неизлъчени. И в двата случая отговорността не може да бъде прехвърлена върху участниците.

 „Ще ти разбия главата“, или речникът на последния сезон

Психическите кризи далеч не са единствената тревожна особеност. Вербалната агресия между участниците твърде често придобива характер на открита заплаха за физическа саморазправа. Особено тревожна е конкретността на заплахите, които се отправят в ефир. Това не са абстрактни обиди, а подробно описани сценарии на насилие: разбити глави, влачене по пода, насилствено подстригване, затваряне в багажници.

Няма нужда да гадаем дали заплахите биха били изпълнени. Достатъчно е, че са произнесени и излъчени. Разбира се, в риалити телевизията има жанрово очакване хората да се карат и напрежението да ексалира. Заплахата за физическа саморазправа обаче е нещо друго: тя е насочена към тялото на конкретен човек и законът я третира като престъпление, когато може да събуди основателен страх.

Още по-показателно е, че регулаторът вече е изразявал опасения за съдържанието на формата. През септември 2025 г. Съветът за електронни медии (СЕМ) установява нарушения на Закона за радиото и телевизията в „Ергенът: Любов в рая“. В по-късни документи на СЕМ се разглеждат проблемни сцени, включително вербална агресия и расистки коментари. Въпросът за границите на допустимото следователно е поставян и преди. Сходни прояви обаче продължават да намират място в ефир.

Особено показателни са конфликтите, в които личните нападки прерастват в ксенофобия.

Няколко от участничките многократно приписват на украинката в предаването негативни качества, които обясняват с произхода ѝ. Звучат и обобщения, че молдовките и украинките са „ескорти в Дубай“, а „наглите“ украинки трябва да знаят мястото си и да „бъдат по-ниски от тревата“.

Зад обидните стереотипи прозира една по-дълбока претенция за мнима власт: правото да определяш мястото на другия. На един човек се внушава, че произходът и съдбата на бежанец задължава да бъдеш по-тих, смирен, благодарен за мястото, което е „позволено“ да заемеш. Сякаш равноправието е жест на благоволение, който едни могат да окажат, а други трябва да заслужат. Случайността на месторождението става основание за морална присъда, а географията получава правото да определя характера.

Европа познава добре тази логика от миналото, когато нацизмът я превърна в идеология. В телевизионния рай тя се появява в умален, привидно безобиден вид, като поредна реплика с коктейл в ръка край басейна. При това стереотипът за „ескортите“ не е никак невинен, защото омаловажава реалната експлоатация, на която жени от всички страни от бившия Източен блок (вкл. България) нерядко стават жертва.

От персонаж към карикатура

Hurt people hurt people, гласи една популярна формула: наранените хора нараняват. Не знаем какво стои зад нечии крясъци, нито какви лични истории или ескалации, предизвикани от изолирания живот в имението, остават извън кадър. Но когато сезон след сезон се моделират все по-трайни и еднотипни фигури, трудно можем да говорим за непреднамереност на продуцентите.

Парите например отново заемат централно място в представите за любов и партньорство. Една от участничките се самоопределя като „жена трофей“ и почти във всеки епизод подробно излага финансовите си очаквания. Друга, с театрално преувеличен руски акцент, предлага семинари, учудващо дублиращи вече позната „търговска марка“ за такива обучения.

В това саморазбиране има елемент на еманципация. Жените открито заявяват желанията си, определят условията на партньорството и не се извиняват за материалните си претенции. В крайна сметка свободата предполага и правото на личен избор, който не всекиму се харесва или се вписва в дадени очаквания. Странно е обаче, когато независимостта изисква зависимост от платежоспособността на партньора.

Към тази галерия се прибавя и друг добре разпознаваем телевизионен образ: жената, която крещи и обижда вулгарно. Така между „жената трофей“ и „агресивната, вечно готова за конфликт жена“ (а.к.а. „женска злоба“, както се нарича във форуми и синхрони) се наслага все по-траен образ на жената като карикатура.

Тук се проявява и един от най-парадоксалните ефекти на икономиката на вниманието. Публиката може да осъжда видяното и едновременно с това да допринася за разпространението му. Всеки скандален откъс получава нов живот като повод за спор в социалните мрежи. „Ергенът“ продава карикатури. Социалните мрежи ги превръщат в доказателство, че карикатурата е реалност. Голяма част от заплахите от една участничка към друга са наречени „заслужено наказание“.

Обществото получава тревожен речник за отношенията между хората и интернализираната мизогиния.

Няма основание да приписваме на телевизионно предаване отговорност за насилието в обществото ни. Дългосрочно погледнато обаче, екранът може да притъпи ухото към него. Първата агресия смущава, втората звучи познато, а десетата вече е повод за забава. В един момент зрителите не се питат защо някой унижава друг човек пред милиони зрители, защо някой има тежка криза в екранно време, а изпитват тръпка какво ще се случи в следващия епизод.

Най-лесният отговор на тази критика е, че никой не е принуден да гледа. Публиката има избор. Участниците са пълнолетни и доброволно са се съгласили да бъдат снимани. Всичко това е вярно. И нищо от него не отменя редакционната отговорност. Съгласието за участие в телевизионен формат не прави всяко последващо решение на продукцията етично. Телевизионният оператор има власт върху кастинга, условията на снимане, монтажа и разпространението. Тази власт предполага и отговорност. И тук никой не очаква от риалити предаване да преподава уроци по здравословни отношения. Но

от една национална телевизия можем да очакваме поне да различава човешкото страдание от телевизионната атракция.

Защото това, с което сме свикнали, невинаги е това, което трябва да приемаме. И защото най-опасната граница не е тази, която телевизията прекрачва пред очите ни. А тази, която постепенно преставаме да забелязваме.


Темата за психичното здраве е важна за нас. Ако вие или ваш близък минава през трудности и има нужда от психологическа подкрепа в криза, може да се свържете със спешните служби на номер 112 или да намерите специализирани линии за подкрепа за България в сайта Find A Helpline.

The collective thoughts of the interwebz