Post Syndicated from Matt Granger original https://www.youtube.com/watch?v=blg-GILOXAY
[$] Securing BPF LSMs against tampering
Post Syndicated from daroc original https://lwn.net/Articles/1082111/
Since 2020, BPF programs have been able to
act as Linux security modules
(LSMs). Several projects, including systemd, have been working to use
that capability to provide more security to users. Christian Brauner
spoke at the 2026
Linux Storage, Filesystem, Memory-Management, and BPF Summit
about some of the limitations of using BPF in this way, and the changes he
would like to see for systemd’s use. In particular, he would like a way to make
sure that BPF programs cannot be removed or have their private data tampered with.
How the World Cup Finally Won Over America | Roger Bennett
Post Syndicated from The Atlantic original https://www.youtube.com/watch?v=fClQ-zo52zo
Искате ли децата ви да учат заедно с ромски деца?
Post Syndicated from Емилия Милчева original https://www.toest.bg/iskate-li-detsata-vi-da-uchat-zaedno-s-romski-detsa/

За първи път държавен орган призна, че една община не просто допуска, а поддържа сегрегация в училище, и задължи кмета да предприеме действия срещу нея.
Общината е Самоков и според решението на Комисията за защита от дискриминация (КЗД) кметът д-р Ангел Джоргов е нарушил чл. 5 от Закона за защита от дискриминация по признака „етническа принадлежност“, като не е предприел действия във връзка със сегрегация на ученици от първи клас в две основни училища – „Митрополит Авксентий Велешки“ и „Христо Максимов“.
Под това решение от 5 май, с което „Тоест“ разполага, са се подписали и тримата членове на КЗД: Наско Атанасов, Елка Божова и Иво Христов (понастоящем вицепремиер, отговарящ за човешкото развитие).
На сайта на КЗД решението не е публикувано.
По данни за 2020 г. на Центъра за междуетнически диалог и толерантност „Амалипе“ в България има 335 сегрегирани училища, 185 от които са общообразователни, а останалите – професионални гимназии. Това е близо 14,2% от всички училища в България.
Правилата за прием в детски градини и училища, които разделят децата по етнически признак, съществуват в много общини. Досега институциите обясняваха сегрегацията с кварталите (което означава ромски гета), със свободния избор и решенията на родителите, с демографията. Но за първи път държавен орган приема, че отговорността носят конкретна община и нейният кмет.
Като член на независим регулатор, избран от квотата на президента, Иво Христов е подкрепил извода на КЗД по казуса. Като вицепремиер той носи политическата отговорност дали този принцип ще намери място в политиката на правителството. Това е национална тема – ромите са третата етническа група в България с 4,4% дял от населението, по данни от преброяването през 2021 г., и Христов разполага с власт и възможности да постави проблема в дневния ред на „Прогресивна България“.
Как започва всичко?
В сигнал на Фондация „Саворе“, подаден от председателя ѝ Христо Николов, се описва как в Самоков години наред действа система, която възпроизвежда етническото разделение още при записването на децата в първи клас. Според сигнала не става дума за случайно струпване на ромски ученици в едно училище, а за последици от начина, по който Общината е организирала училищния прием.
По думите на жалбоподателя, Общината използва училищните райони така, че ромските деца от определени квартали да се насочват основно към „Митрополит Авксентий Велешки“ и „Христо Максимов“. В същото време в останалите училища в града учат почти изцяло деца от български произход. Родителите от ромски произход, които искат да запишат децата си в друго училище, често срещат отказ с аргумента, че не попадат в съответния район.
В сигнала се посочва още, че формално критериите за прием изглеждат еднакви за всички, но реалният ефект е различен. Именно чрез районите за обхват и правилата за записване се възпроизвежда разделението между училищата, което според фондацията представлява етническа сегрегация.
Първата институционална реакция е, че проблем няма. След проверка Регионалното управление на образованието – София-област стига до заключението, че приемът е организиран законосъобразно, и не установява сегрегирани училища в Самоков. До противоположен извод стига по-късно КЗД.
Колко входа има българското образование?
Майка ми е родена през 1946 г. и ми е разказвала, че в училището, в което е учила през 50-те години, е имало българи, роми и турци. Но училището е имало два входа. През единия са влизали българските деца, а през другия – ромските и турските. Децата са играли заедно, но са учили в различни класни стаи, вероятно и по различни програми.
Тази история разказва Огнян Исаев от Тръста за социална алтернатива, който проучва темата за сегрегацията в образованието. Процесът започва много по-рано от комунистическия режим и продължава през различни исторически периоди, а някои факти са в пълно противоречие с днешното клише, че ромите не ценят образованието.
„Още в края на XIX и началото на XX век в България съществуват етнически училища – гръцки, турски, арменски и еврейски. Те се самоиздържат чрез съответните религиозни и общностни организации. След 20-те години на XX век държавата постепенно централизира образователната система и започва да въвежда единни стандарти, като обучението преминава на български език, а майчиният език остава като учебен предмет.“
До началото на ХХ век голяма част от ромите в България са мюсюлмани и затова посещават турските училища. След Балканските войни и последвалите спогодби между България и Турция голяма част от турското население напуска страната и много турски училища започват да се закриват. Затова още през 20-те години ромската общност в София предприема организирани действия, за да отвори собствено училище. За целта обаче трябва да създаде своя мюсюлманска вероизповедна община, защото тогава училищата се управляват именно чрез такива общности.
Те събират подписи, организират се и искат регистрация, но от мюфтийството им отказват. Обжалват, но съдът потвърждава отказа. Така ромската общност остава без възможност да има свое училище, каквато са имали други етнически общности по онова време. Впоследствие започват да записват децата си в българските и в останалите турски училища, като на места дори се налага да се самоопределят като турци.
Следващите десетилетия обаче показват различна история – не за липсата на желание за образование, а за различните форми, в които държавата организира достъпа до него.
Формирането на големи трайно обособени ромски квартали в България улеснява образователната сегрегация. Гетата са едни от най-устойчивите форми на пространствено разделение в страната.
След 1944 г. държавата създава училища в ромските квартали с цел да ограмоти ромското население, тъй като тогава делът на неграмотните роми на възраст между 15 и 59 години надхвърля 81%; 1,5% са с основно образование и едва 0,03% – със средно или висше .
През 80-те години делът на неграмотните роми вече е спаднал на 11%, с основно образование са 40%, а със средно и висше – близо 5%. (Но при преброяването през 2011 г. се установява, че неграмотното население се е увеличило на 21,8%, макар че и другите показатели са нараснали.)
Според Исаев вместо училищата в ромските квартали по-късно да бъдат трансформирани, им е възложена нова функция – да дават базова грамотност и да подготвят работници за фабриките, земеделието и животновъдството. „Хора, които реално не могат да продължат нито към средно, нито към висше образование.“
Правозащитникът прави важно разграничение между грамотност и образование:
Често се казва, че по време на социализма не е имало неграмотни хора. Това донякъде е вярно. Четивната и писмената грамотност са били сравнително високи. Но функционалната неграмотност е огромна. Хората могат да четат и да възпроизвеждат текст, но много често не разбират смисъла му.
Сегрегацията обаче не се изчерпва само с отделните училища, а и с поставяне на диагнози.
„По данни от изследване на проф. Илона Томова от 1995 г. всяко трето ромско дете учи в специално училище, а в помощните училища делът на ромските деца надхвърля 50%. Нерядко това са били напълно здрави деца, чиято единствена причина да попаднат там е етническият им произход“, казва Огнян Исаев.
В своята статия „Социални фактори, подкрепящи процеса на приобщаващо образование на ромските деца“¹ проф. д.н. Христо Кючуков разказва как са били поставяни диагнози на ромски деца поради невладеене на български език. Неговият спомен датира от 80-те години на миналия век, когато е бил учител в родния си град Провадия, а всичките му ученици са били от ромския и турския етнос.
Много ромски деца идваха в първи клас без никакви знания по български език. Медицинска комисия в училището проверяваше знанията им по български, преди да постъпят в първи клас, и обикновено им се поставяше диагноза „лека умствена изостаналост“ поради невладеене на българския език. На родителите се даваха препоръки да изпратят децата си в „училища за бавноразвиващи се ученици…“
Тази практика продължава и след демократичните промени и е описана и от други автори². През 1997 г. в България има 299 „специални училища“ от различен вид с 27 148 деца, повечето роми. В изследването „Отпадащите роми“ се посочва, че в Словакия повечето ученици в училищата за деца с умствени и физически увреждания също са роми, както и в Чехия. В Румъния има 246 такива „специални училища“, а броят на децата е 48 237, повечето роми. В Унгария в редица региони до 90% от учениците в такива училища също са роми.
Така невладеенето на официалния език и специфичната социокултурна среда се превръщат в психически проблем и белязват хората завинаги.
Последиците от изпращането на напълно здрави деца в „специални училища“ се усещат и днес, посочва Огнян Исаев.
Тези хора вече са на 50 и повече години. Искат да завършат средно образование, за да станат по-конкурентоспособни или просто да получат шофьорска книжка. Но дипломите им са с качествени, а не с числови оценки и няма нормативна пътека, по която да се върнат в общообразователната система. Имали сме конкретен случай в Ботевград. Проверявахме как тези хора да бъдат оценени наново, за да се установи, че никога не са били деца със специални образователни потребности. Оказа се, че такава процедура в МОН практически няма.
По думите му, сегрегацията не е останала в миналото, а просто е променила формите си.
„В началото на Прехода говорим за около 60 сегрегирани училища в ромските квартали и между 60 и 100 сегрегирани образователни институции общо. Днес вече говорим за около 200–220 сегрегирани училища.“ Сред тях вече не са само училищата в ромските квартали. „Най-новата тенденция са т.нар. обединени училища. Законът ги създаде, за да могат децата в малките населени места да стигнат поне до първи гимназиален етап. Само че в някои градове, където има достатъчно средни училища, те започват да се превръщат почти изцяло в ромски училища.“
Като пример Исаев посочва Стамболийски, а Самоков определя като друг показателен случай. Според него подобни процеси вече се наблюдават и в София, където обединени училища също се превръщат в училища почти изцяло с ромски ученици.
Последните налични национални данни също показват мащаба на проблема. Към 2020 г. в България има 930 училища с концентрация на ученици от уязвими групи. От тях 185 се намират в населени места, където има и други училища на същото образователно ниво, тоест съществува реална алтернатива, но концентрацията продължава да се възпроизвежда.
След повече от век няма различни входове към училището за децата от различни етноси и социални групи. Но практиката с отделните входове се е трансформирала в райони за обхват, правила за прием и административни решения. Дали етническите българи биха искали децата им да учат заедно с ромски деца? Решението на КЗД поставя друг въпрос: дава ли държавата изобщо равен шанс това да стане?
2 Тилкиджиев, Н., Миленкова, В., Петкова, К., Милева, Н. Отпадащите роми. София: Институт „Отворено общество“, 2009, с. 44.
Security updates for Friday
Post Syndicated from jzb original https://lwn.net/Articles/1083388/
Security updates have been issued by AlmaLinux (cifs-utils, container-tools:rhel8, libreoffice, nodejs:24, perl-XML-LibXML, and python3.12), Fedora (ansible-collection-ansible-posix, firefox, freerdp, ImageMagick, mingw-glib2, perl-DBI, perl-HTTP-Date, rust-cargo-rpmstatus, and rust-opendal), Oracle (cifs-utils, gegl, gimp, git-lfs, go-toolset:ol8, hplip, kernel, libreoffice, maven:3.9, perl-XML-LibXML, python3, python3.12, python3.9, and uek-kernel), Red Hat (kernel, kernel-rt, and podman), Slackware (netatalk), SUSE (agama, aws-nitro-enclaves-binaryblobs-upstream, gimp, gpsd, grafana, hostapd, ImageMagick, jackson-databind, kernel, libssh2_org, nm-configurator, opennlp, perl-Mojolicious, python-Pillow, python-python-engineio, python-python-socketio, and tomcat11), and Ubuntu (ntfs-3g, python-authlib, ruby2.3, tar, and ubuntu-advantage-tools).
Best of: Bonkers Baseball
Post Syndicated from The History Guy: History Deserves to Be Remembered original https://www.youtube.com/watch?v=60SUGnS9esg
Details of Alan Turing’s Voice Encryption System
Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2026/07/details-of-alan-turings-voice-encryption-system.html
Really interesting piece of cryptographic history:
In November 2023, a large cache of his wartime papers—nicknamed the “Bayley papers”—was auctioned in London for almost half a million U.S. dollars. The previously unknown cache contains many sheets in Turing’s own handwriting, telling of his top-secret “Delilah” engineering project from 1943 to 1945. Delilah was Turing’s portable voice-encryption system, named after the biblical deceiver of men. There is also material written by Bayley, often in the form of notes he took while Turing was speaking. It is thanks to Bayley that the papers survived: He kept them until he died in 2020, 66 years after Turing passed away.
Introducing self-managed Amazon S3 buckets for AWS Lambda function code
Post Syndicated from Doug Perkes original https://aws.amazon.com/blogs/compute/introducing-self-managed-amazon-s3-buckets-for-aws-lambda-function-code/
If you manage Lambda functions at scale, you’ve likely hit the 75 GB code storage limit or explained to your security team why deployment artifacts live in an S3 bucket you don’t control. Today, we’re announcing self-managed Amazon S3 buckets for AWS Lambda deployment packages. Lambda reads your code directly from your bucket, eliminating quota pressure and giving you full security control.
Previously, the default AWS-managed code storage created three challenges at scale. First, all copies count toward your 75 GB code storage quota. Second, you cannot apply your own encryption, access controls, or compliance tags to the internal bucket. Third, the copy cannot be incorporated into your disaster recovery strategies.
With self-managed S3 buckets, Lambda reads your function code directly from your bucket. No copy, no duplication. Your S3 object becomes the single source of truth for your functions. Deployment packages no longer count against your account’s code storage limit. You manage the bucket’s security and compliance posture: choosing the encryption, defining the access policies, managing lifecycle transitions, and maintaining the audit trail. And because you own the bucket, you can use S3 Cross-Region Replication to maintain fallback copies of your code in a secondary Region, so that your functions remain deployable even if your primary Region experiences an issue. Using self-managed S3 buckets also results in a faster time to first invoke for new functions and after function updates, because Lambda no longer needs to copy your zip package to a Lambda-managed S3 bucket.
You can use this feature today in all AWS standard regions where Lambda is available, at no additional charge beyond your standard Amazon S3 storage and request costs. Let’s look at some use cases, how it works, and how to use it at scale.
Use cases
Here are a few patterns where owning your deployment bucket makes a real difference.
CI/CD pipelines and artifact management
With self-managed storage, your CI/CD pipeline uploads once, and Lambda references the same object. One set of lifecycle rules and access controls covers all artifacts, and rollbacks mean pointing the function to a previous S3 object version.
Multi-account and multi-team architectures
Organizations using AWS Organizations often separate workloads into multiple accounts: a development account, a staging account, and a production account. They centralize shared resources in a tooling or shared-services account.
Self-managed buckets integrate naturally with this pattern:
- Store all deployment artifacts in a central “artifact account” bucket.
- Grant cross-account
s3:GetObjectaccess to Lambda execution roles in each workload account through bucket policies. - Maintain a single inventory of what code is deployed where, managed by your platform or DevOps team.
- Enforce consistent encryption, versioning, and retention policies from one place.
Disaster recovery and business continuity
Because your deployment artifacts live in a bucket you own, you can use the built-in replication features of S3, Cross-Region Replication (CRR) or Same-Region Replication (SRR), to maintain copies of your code artifacts in backup locations. Combined with S3 Versioning and Object Lock, this gives you a durable, tamper-proof code archive that supports rapid recovery if a deployment is accidentally corrupted or deleted.
How it worked before
When you deploy a Lambda function using a .zip deployment package stored in Amazon S3, the process has traditionally worked like this:
- You upload your .zip deployment package to your S3 bucket.
- You call
CreateFunctionorUpdateFunctionCode, specifying the S3 bucket and S3 key. - Lambda copies the .zip artifact from your bucket into an internal, service-managed bucket.
- Lambda uses this copy to create the optimized version of your function that runs at invocation time.
- The copied artifact counts toward your account’s 75 GB code storage quota.

Figure 1 — Standard Lambda deployment
This model is straightforward and works well for most workloads. However, it creates three friction points at scale:
- Storage quota pressure: Every deployment package copy counts toward your account’s 75 GB total code storage limit. Organizations with hundreds of functions and multiple published versions can exhaust this quota.
- No control over stored artifacts: You cannot configure encryption (beyond the service default), access logging, lifecycle policies, Object Lock, or compliance tags on the internal bucket.
- Redundant storage: Your original artifact remains in your bucket while a copy lives in the Lambda bucket used for provisioning new instances of your Lambda function.
What’s new: REFERENCE mode
This launch introduced a new function configuration setting, S3ObjectStorageMode. The default value is COPY, which provides the existing behavior described in the preceding section. To enable self-managed S3 buckets, set S3ObjectStorageMode to REFERENCE when creating or updating a function. In this mode, Lambda no longer copies your deployment package. Instead, it stores a reference to your S3 object and reads the code directly from your bucket when needed. If you do not specify S3ObjectStorageMode, Lambda still takes a copy by default.

Figure 2 — Lambda deployment with self-managed storage
This gives you:
- No quota consumption. Deployment packages in your bucket don’t count against the 75 GB Function and layer storage account limit.
- Improved performance. Lambda no longer copies the code to an internal bucket, so function creation and updates are faster.
- Full security and compliance control. Apply your own bucket policies, encryption, Object Lock, versioning, access logging, and compliance tags.
- Single source of truth. Your S3 object is the canonical artifact with no additional copies and no drift.
- Disaster recovery options. Use S3 Cross-Region Replication to maintain fallback copies in a secondary Region.
How it works
To use this feature, specify the S3ObjectStorageMode parameter when creating or updating your function.
Creating a new function (AWS CLI):
Updating an existing function:

AWS Identity and Access Management (IAM) permissions
Lambda needs permission to read the deployment package from your bucket. You can grant access through an S3 bucket policy.
S3 bucket policy
We recommend including the aws:SourceArn condition key scoped to your specific function ARN to allow for least-privileged access. Note the Resource is scoped to the exact S3 key rather than a wildcard prefix. This follows least-privilege and matches how the aws:SourceArn condition locks down which function can access which object.
Bucket requirements
Your S3 bucket must meet the following requirements:
- Versioning (required). You must enable S3 versioning to make sure that Lambda references a specific, immutable artifact and to protect against accidental overwrites.
- Encryption. The following encryption types are supported: SSE-S3, SSE-KMS (including customer-managed KMS keys), and DSSE-KMS. If you use SSE-KMS, the Lambda principal must have
kms:Decryptpermission on the key. - Object Lock. Supported. You can apply Object Lock in Compliance or Governance mode to prevent accidental deletion of deployment artifacts.
- Access logging. You can enable S3 server access logging or AWS CloudTrail data events to audit every time Lambda reads your code.
What happens when the object is unavailable
Lambda periodically accesses the source object from your S3 bucket to reoptimize your function code. You must maintain access to the source object for your function to remain active.
If Lambda loses access to the source object for a function, the function transitions to the Inactive state. To restore the function, restore access to the source object and then update the function.
Performance considerations
Lambda functions with self-managed code storage behave the same as standard Lambda functions with one difference during function creation and update. Lambda does not copy your deployment package to a Lambda-managed S3 bucket. In our testing with a 200MB Python 3.13 function, functions using self-managed storage showed function creation times approximately 5s less than the default COPY mode. Reading directly from your S3 bucket without an intermediate copy step can provide a modest advantage, particularly for larger deployment packages.
Getting started with infrastructure as code
Self-managed code storage can be implemented using infrastructure-as-code tooling with either the AWS CLI or AWS CloudFormation today.
AWS CLI
AWS CloudFormation
Using it at scale
Once you adopt self-managed S3 buckets for your Lambda deployment packages, your artifact bucket grows over time as you deploy new versions of your functions. This section covers strategies for managing that growth efficiently, keeping your versions organized, and planning for cross-Region deployments.
Managing artifact lifecycle with S3 lifecycle policies
Every time you update a function’s code, S3 creates a new object version in your bucket. The previous objects don’t disappear. They accumulate. Without a cleanup strategy, your storage grows indefinitely and old artifacts clutter your bucket.
S3 Lifecycle policies let you automate this entirely. You define rules that transition or delete objects based on age, and S3 executes them on your behalf: no scripts, no cron jobs, no manual intervention.
Strategy 1: Archive old versions to Glacier
If compliance or audit requirements mandate that you retain all historical deployment packages, but you rarely need to access them, transition old object versions to a lower-cost storage class:
This rule transitions any non-current object version to S3 Glacier Flexible Retrieval after 30 days. Your active deployment packages remain in S3 Standard for fast access, while historical versions move to archival storage at a fraction of the cost.
For artifacts you need to retain for years but will rarely access again, consider a tiered approach: moving to Glacier Flexible Retrieval first, then to Deep Archive:
Strategy 2: Delete old versions you no longer need
If you don’t have a compliance requirement to retain every historical artifact, you can expire old versions outright:
This rule keeps the 2 most recent non-current versions of each object (giving you a rollback path) and deletes anything older than 14 days beyond that. This aligns well with a deployment strategy where you want the ability to quickly roll back to your previous one or two releases, but don’t need to retain anything older.

Tracking object and function versions
With REFERENCE mode, there is a direct relationship between your S3 object version and your Lambda function version. We recommend the following practices:
- Tag your objects with metadata from your CI/CD pipeline (commit SHA, build ID, pipeline run ID) so you can trace any deployed function back to the exact source that produced it.
- Document the mapping between Lambda function versions (or aliases) and S3 object version IDs. This makes rollbacks straightforward: update the function to reference the previous object version.
Cross-account considerations
How you organize your artifact buckets across AWS accounts depends on your operational model:
- Centralized artifact account: A single bucket in a shared-services or tooling account, with bucket policies granting cross-account
s3:GetObjectaccess to Lambda execution roles in workload accounts. This gives your platform team a single inventory of all deployment artifacts with consistent lifecycle, encryption, and access policies. - Per-account buckets: Each workload account owns its own artifact bucket. Requires less effort to set up, but harder to enforce consistent governance across many accounts.
Either pattern works with self-managed storage. Choose based on how your organization balances centralized control against team autonomy.
Cross-Region considerations
With REFERENCE mode, your S3 object is the authoritative copy for your function. Self-managed code storage supports cross-Region function creation within a partition for all default Regions (non-opt-in Regions). You can store your code packages in one Region and deploy your functions in another. This makes cross-Region planning critical. There are four factors to balance:
Disaster recovery
This is the most critical consideration. Because your S3 object is the single source of truth in REFERENCE mode, you do not want all your deployment artifacts in a single Region with no fallback. A recommended pattern:
- Primary Region: Your main artifact bucket where CI/CD pipelines deposit new deployment packages.
- Fallback Region: A secondary bucket populated via S3 Cross-Region Replication (CRR). If your primary Region becomes unavailable, you can update your Lambda functions to reference the replicated objects in the fallback Region.
Enable S3 Replication Time Control (RTC) if you need a guaranteed SLA (15 minutes) for replication completion.
Cost
Weigh replication + storage costs against per-deploy cross-Region data transfer. If you deploy frequently, storing replicated copies in each target Region is usually cheaper. For infrequent deployments, a one-time transfer may suffice.
Governance and data residency
Some organizations, particularly in regulated industries, have strict requirements about where code artifacts can reside. Before configuring cross-Region replication, confirm that your data is permitted to leave its current Region. Certain regulatory frameworks (for example, data sovereignty laws, FedRAMP boundaries) may restrict replication to specific Region pairs.
Performance
If your workload requires fast function creation and activation times, for example, in a CI/CD pipeline where deployment speed is critical, keep your S3 objects in the same Region where you are creating your Lambda functions. Cross-Region reads add latency to the initial code download, which directly impacts how quickly a new function version becomes active after deployment.
For workloads where creation speed is less critical (for example, batch processing functions that are updated infrequently), the latency of a cross-Region read might be acceptable and can simplify your architecture.
Things to know
Before adopting self-managed S3 buckets for your Lambda functions, keep the following in mind:
- Availability: You can use this feature today in all AWS standard regions where Lambda is supported.
- Pricing: There is no additional Lambda charge. You pay standard S3 costs for storage, and any cross-Region data transfer.
- Maximum deployment package size: The existing limits apply: 250 MB unzipped.
- Supported runtimes: All Lambda runtimes that support .zip deployment packages are compatible. Container image deployments are not affected by this feature.
- Migration: You can switch an existing function from service-managed to self-managed storage by calling
UpdateFunctionCodewith the--s3-object-storage-mode REFERENCEparameter. Lambda recreates the function by referencing the object in your S3 bucket and deletes the saved copy. - Reverting: You can switch back to service-managed storage at any time by updating the function with
--s3-object-storage-mode COPY. Lambda resumes copying the artifact to its internal bucket. - Object availability is your responsibility: In
REFERENCEmode, Lambda depends on your S3 object being accessible. If the object is deleted, the bucket policy changes, or the KMS key is disabled, new invocations requiring a cold start will fail.
Conclusion
In this post, we showed how self-managed S3 buckets for Lambda give you more capacity, more control, and simpler compliance, all without changing how you write or invoke your functions. Your deployment packages no longer count against account quotas, your security team can apply the same policies to code artifacts that they apply everywhere else, and your disaster recovery story is as strong as the replication capabilities of S3.
To get started:
- Read the Lambda Developer Guide: Self-managed S3 code storage for full documentation.
- Try it in the AWS Lambda Console. Choose Reference Mode under Code storage mode when creating your next function.
- Review S3 Lifecycle Configuration examples to plan your artifact retention strategy.
- Explore S3 Cross-Region Replication for disaster recovery planning.
Comic for 2026.07.17 – Promise
Post Syndicated from Explosm.net original https://explosm.net/comics/promise
New Cyanide and Happiness Comic
Когато умира дете. Палиативни грижи в края на живота
Post Syndicated from Надежда Цекулова original https://www.toest.bg/kogato-umira-dete-paliativni-grizhi-v-kraya-na-zhivota/

От началото на тази поредица (а и доста преди нея) непрекъснато обясняваме, че съвременните палиативни грижи са много повече от „грижи в края на живота“. И все пак те са и това. Понякога сред пациентите, които се нуждаят от палиативни грижи в края на живота, има и деца.
Децата страдат и умират. Но в болестта и в смъртта си те остават деца със своите детски нужди и особености – разбиране, което, както видяхме в предходните текстове от поредицата „Да говорим с грижа“, не е утвърдено в българския публичен дебат и публични политики. Нашите държавни системи не са пригодени да подкрепят детството нито в живота, нито в смъртта.
Затова тази подкрепа остава въпрос на разбиране и хуманност от страна на хората, през чиито ръце, умове и сърца преминават тънките нишки на детския живот. В следващите редове ще ви срещнем с двама от тях.
В България няма ясна система за детски палиативни грижи. Няма медицински стандарт, специалност, научно дружество или какъвто и да е друг формален документ или орган, които да регламентират какви са добрите практики в грижите за деца със заболяване, преминаващо в терминален стадий. Съществува клинична пътека, която обаче е по-скоро механизъм за заплащане на медицински дейности и гарантира до 30 дни болничен престой на онкологичен пациент в рамките на последните 6 месеца от живота му.
А това е далеч от достатъчно – и като обхват на допустимите диагнози, и като обхват на допустимите дейности, и като продължителност на грижите, а в повечето случаи и като себестойност, заплащана от НЗОК за ден болничен престой по тази клинична пътека.
Така грижите за децата в края на живота им и подкрепата за техните семейства са оставени на съвестта и възможностите на отделните специалисти и клиники. Ето защо деца със сходни нужди могат да получат напълно различно отношение, условия и грижи в различните лечебни заведения. Или дори в едно и също лечебно заведение, но в различни моменти в зависимост от различните обстоятелства и… от случайността.





Сензорна стая в Клиниката по детска клинична хематология и онкология в УМБАЛ „Царица Йоанна“ – ИСУЛ
„Всъщност най-важното е да си човек“
Едно от местата, в които детската смърт не може да бъде забранена тема, е Клиниката по детска клинична хематология и онкология в УМБАЛ „Царица Йоанна“ – ИСУЛ в София. Там годишно се лекуват средно стотина деца, 50–60 от които са новодиагностицирани.
Между 10 и 15 са случаите, в които оказваме палиативна грижа, като не във всички това е грижа в края на живота“,
разказва клиничната психоложка Камелия Стоянова. И там, както и в Центъра за настаняване от семеен тип на деца с потребност от постоянни медицински грижи, за които разказахме в предишния текст, палиативните грижи невинаги се наричат така, пояснява Камелия. Самата тя е немска възпитаничка и продължава да прилага протоколи, познати от практиката ѝ в клиника в Германия. „Бихме могли да започваме по-рано с палиативните интервенции“, казва психоложката и допълва, че нагласата и на лекари, и на родители в България е да се гони упорито излекуването, понякога дори след като е пределно ясно, че няма как да бъде постигнато, докато „в Германия е по-различно“.
В практиката ѝ палиативните грижи нямат начало, отбелязано с формуляр, диагноза или нов надпис на вратата на болничната стая. Те постепенно се вплитат в лечението, когато това се наложи – чрез обезболяването, терапиите, които вече не могат да излекуват, но могат да дадат още време или повече комфорт, чрез психологическата подкрепа за детето и разговорите с родителите за страховете им, за другите им деца и за живота след това.
Когато стане ясно, че краят наближава, грижите се съсредоточават върху малките неща, които още може да се направят.
Екипът се опитва да събере семейството и да разбере дали има конкретен човек, когото детето иска да види. Ако състоянието му позволява, заедно изработват нещо, което да остане за родителите – рисунка, малък предмет или просто отпечатък от ръчичката. Психолозите окуражават близките да говорят на детето, да го докосват дори когато то вече не може да им отговори.
Най-вече ги окуражаваме да не се страхуват да си обичат детето – дори и в последните моменти, когато това изглежда много страшно. Всъщност най-важното в тези моменти е наистина да си човек. Никоя техника, никоя добра практика не може да замени този човешки фактор.
„Подкрепата от родителя е незаменима“
На човешкия фактор разчитат и в Клиниката по детска анестезиология и интензивно лечение на УМБАЛСМ „Пирогов“ в София – друго лечебно заведение, в което оказват грижи за деца в края на живота им. През детската реанимация на „Пирогов“ преминават около 400 деца годишно, като повечето от тях получават краткосрочни грижи след хирургични процедури. Между 10 и 15 деца постъпват в клиниката с нужда от грижи в края на живота. Към 8 юли тази година починалите са осем, пет от които са били деца с онкологични заболявания и са прекарали там последните часове или дни от живота си.
В тези случаи работата на екипа вече е насочена не към излекуване, а към спиране на дискомфорта – болка, задух, страх.
Това, което със сигурност можем да обещаем и да гарантираме, е, че няма да има страдание,
казва доц. Богдан Младенов, началник на клиниката.
В реанимацията може да се приложат обезболяващи и успокояващи медикаменти в дози, чиито странични ефекти не биха могли да се овладеят извън интензивно отделение. „Стараем се да не казваме, че няма какво повече да се направи, защото то не е и вярно – обяснява лекарят. – Може да го обезболим, да се погрижим да няма задух, да няма запек, да няма повръщане. Това не е нищо, нали?“
Ако детето е достатъчно стабилно и родителите имат желание и възможност да се грижат за него, то може да се прибере у дома. „Нашето старание, когато имаме такова детенце, е винаги когато може, то да си е с близките – дали вкъщи, дали в болнично отделение. Да прекара максимално време, по възможност качествено време, обезболено, с близките си. Да не го отнемаме от тях“, обяснява доц. Младенов.
Когато има нужда от кислород, венозно обезболяване, аспирация или други грижи, които семейството не може да осигури у дома, следващата стъпка е детето да бъде настанено в болнично отделение, където има възможност родителят да остане в стаята. Едва когато нарушенията на дишането, съзнанието или останалите жизнени функции вече не могат да бъдат овладени там, детето се приема в реанимация.
Самата клиника по реанимация и интензивно лечение е построена във време, когато присъствието на родителите не е било част от представата за медицински грижи, и пространството не позволява те да остават непрекъснато до леглото. Официалното свиждане е кратко – 30 минути в денонощие. Доц. Младенов разказва, че когато е ясно, че животът на детето е към края си, екипът се опитва да не се придържа механично към ограничението. „Пускаме хората колкото пъти и за колкото време можем, когато няма работа – обяснява лекарят. – Насърчаваме ги да участват и в немедицинските грижи.“
Младенов е убеден, че присъствието на родителите в този момент е незаменимо – те могат да дадат на детето спокойствие, кураж и познатото усещане, че не е само̀: „Аз не мога да го направя вместо майката. Вместо бащата. Без семейството няма как. Особено при малки деца е абсурдно.“
Трудностите – административни и емоционални
Липсата на стандарт за детски палиативни грижи означава, че разказаното дотук от Камелия Стоянова и доц. Богдан Младенов е много повече въпрос на осъзнатост на конкретни специалисти, отколкото гаранция, че всяко дете и семейството му, стигнали до последния етап на терминално заболяване, ще получат нужните хуманни грижи. Наред с несигурността за самите пациенти това повишава и натиска върху медиците.
Тъй като в българските лечебни заведения не съществува „палиативен екип“, едни и същи лекари и медицински сестри участват в диагностиката, в активното лечение, а когато медицината изчерпи възможностите си за излекуване – и в грижите в края на живота.
„За нас е особено трудно да дефинираме кога да спрем с всичко това – споделя доц. Младенов, визирайки реанимационните дейности, популярни като „изкуствено“ поддържане на живота. – В момента се опитваме частично да дефинираме това в проекта за нов стандарт по интензивни грижи, но най-добре би било, естествено, да има отделен стандарт по палиативни грижи, в частност детски палиативни грижи.“
Анестезиологът обяснява, че конкретно в неговата клиника един такъв стандарт трябва да посочва кога целта на лечението се променя от удължаване на живота към осигуряване на комфорт и облекчаване на страданието. Без такъв регламент лекарите остават уязвими пред обвинението, че не са направили „всичко“, а реанимационните действия могат да продължат дълго без добавена стойност за самия пациент до пълното изчерпване на възможностите.
Психологическите предизвикателства обаче често се оказват по-сериозни от административните.
И в двете клиники има опити екипите да бъдат подготвяни за разговорите, за които по време на медицинското си образование невинаги са получавали достатъчно насоки. В ИСУЛ Камелия Стоянова организира семинари за комуникация в трудни ситуации. Това не е професионална супервизия (тя изрично подчертава, че не е супервайзър), а защитено пространство, в което членовете на екипа могат да разглеждат случаи, останали дълго в съзнанието им, и да се упражняват в разговори, преди да се наложи да ги водят с истинско дете или семейство. Групите са смесени, а участниците разменят ролите си, за да видят ситуацията и през погледа на другия.
„Моето лично мнение е, че супервизията е нещо задължително. Няма как иначе да гарантираме качеството на нашата работа, на нашата услуга, независимо дали сме лекари, психолози, медицински сестри, социални работници“, казва тя. И за да гарантира това качество на собствената си работа, продължава да получава подобен вид подкрепа от специалисти в Германия, заплащайки я с лични средства.
В „Пирогов“ част от лекарите са преминавали обучения, свързани с грижите за тежко болни деца, а през годините са организирани и обучения за съобщаване на лоши новини. Но доц. Младенов не смята, че това е умение, което се усвоява отведнъж. Пред екипа всеки път отново стоят въпросите колко надежда може да бъде оставена, как да се каже истината, кой трябва да присъства на разговора, дори как да седнат хората в стаята; къде е балансът между това родителите да разберат какво се случва, без да бъдат напълно сринати в момент, когато детето все още има нужда от тях. „Това ни е много трудно и колкото и пъти да ни обучават, всеки път ще ни е полезно“, признава специалистът.
Подкрепящите грижи за семейството
В терминалния етап родителите са едновременно най-важната опора за детето и хората, които имат най-голяма нужда от подкрепа. Камелия Стоянова разказва, че почти неизбежно се появява и чувството за вина: „Има ли нещо, което направих, за да се случи това?“, питат родителите, а понякога дори не поставят под съмнение убеждението, че тежката прогноза е по тяхна вина. В същото време доц. Богдан Младенов подчертава колко важна остава подкрепата на майката и бащата за самото дете:
Има родители, които успяват да запазят присъствие на духа през цялото време, да са в помощ на детето си и да не показват уплах, тревога, отчаяние пред него. Това се предава и на детето и му осигурява спокойствие по начин, който медицината не може да постигне с лекарства.
Съвременното разбиране за палиативните грижи в края на живота предполага подкрепа не само за детето пациент, но и за неговото семейство както в терминалния етап, така и след смъртта му. У нас обаче поради липса на системна подкрепа често семействата остават сами със своята загуба. В рамките на практиката си в клиниката Камелия Стоянова се опитва да компенсира този дефицит поне за конкретните семейства, с които е работила. „Със сигурност връзката не приключва дотам“, казва тя, но подчертава, че това става само ако семейството го желае. Случаите са различни – има родители, които сами идват в клиниката и искат да споделят, и други, които, след като изгубят детето си, прекъсват връзката.
Професионалният траур
Камелия Стоянова споделя, че в тяхната клиника лечението обичайно е продължително, екипите изграждат отношения с пациентите и семействата им и загубата преминава през всички. „Болезнено е за екипа, когато загубим пациент. Това наистина се приема като лична загуба, защото всеки се бори да даде още малко – още малко качество на живот, още малко да се закрепи детето, още малко да поживее – казва тя. – Имам чувството, че понякога дори болката обединява много. Това сплотява по някакъв начин екипа.“
Психоложката работи с колегите си върху разбирането, че
професионалният траур не е слабост и че всеки трябва да намери начин да се сбогува с пациента – понякога чрез разговор с колегите, друг път чрез писмо, което може никога да не бъде изпратено, или чрез друг символичен жест.
Това сбогуване обаче следва да бъде отделено от потребностите на семейството: „Трябва наистина много внимателно да оценим от какво има нужда семейството, от какво има нужда пациентът или съответно близките, които са загубили дете, и от какво имам нужда аз като професионалист, който също преживява тази загуба.“
Детската реанимация на „Пирогов“ разполага три дни седмично с психолог, който разговаря с децата, когато това е възможно, с родителите им, а при нужда и с персонала. „Никой не обича да гледа как умират деца“, казва доц. Младенов и споделя, че понякога има особено тежки моменти. Неотдавна за период от около две седмици в клиниката умират три деца, като една от медицинските сестри се случва на дежурство и при трите. „Това е огромен емоционален товар, впоследствие няколко сестри искаха да напуснат“, признава Младенов.
Психологът се включва в подкрепата на персонала, но това отново зависи от личната му мотивация и натовареността, липсва установена система за подкрепа на специалистите как да се справят с преживяванията си. Според доц. Младенов подобна подкрепа трябва да бъде ясно уредена, защото за хората, които професионално се срещат с детската смърт, преживяното „не е безплатно“.
От пожелателно стечение на обстоятелствата към дължими грижи
В края на живота на едно дете понякога най-важното се събира в наглед малки неща: да не го боли, да чува познат глас, да усеща ръцете на майка си и баща си и те да не са от другата страна на стерилните болнични стени. В момента в България нищо от това не е в достатъчна степен гарантирано за всяко дете и близките му.
Как едно семейство ще преживее последния етап от живота и раздялата с тежко болно дете, зависи до голяма степен от специалистите, при които детето ще попадне – дали те ще разпознаят нуждите отвъд „медицинския модел“, дали ще имат уменията, условията и ресурса да отговорят на тези нужди. Но нито семействата трябва да разчитат на случайността да срещнат такива специалисти, нито специалистите трябва да остават сами с решенията, отговорността и траура си. Гарантирането и регламентирането на детските палиативни грижи в края на живота няма да заменят човечността, но може да я превърнат от пожелателно стечение на обстоятелствата в дължими грижи.

Настоящата публикация е създадена по проект „Да говорим с грижа: Палиативните грижи за деца през погледа на медиите“. Проектът се осъществява благодарение на най-голямата социално отговорна инициатива на Лидл България „Ти и Lidl“, в партньорство с Фондация „Работилница за граждански инициативи“, Български дарителски форум и Асоциация на европейските журналисти. Отговорността за съдържанието е на журналистката Надежда Цекулова и по никакъв начин не отразява официалните позиции на финансиращите организации.

Latitude and Longitude
Post Syndicated from xkcd.com original https://xkcd.com/3273/

1994 Keytec Magic Touch Screen – LGR Oddware
Post Syndicated from LGR original https://www.youtube.com/watch?v=nQXltwj6kzU
NVIDIA Announces Expanded Jetson Thor Lineup with Mid-Range T3000 and T2000 Modules
Post Syndicated from Ryan Smith original https://www.servethehome.com/nvidia-announces-expanded-jetson-thor-lineup-with-mid-range-t3000-and-t2000-modules/
NVIDIA has announced the addition of two new mid-range boards to their Jetson Thor lineup, the T3000 and T2000, which will arrive in Q1’27. The new boards aim to be a cheaper offering for customers feeling pressured by the high cost of memory
The post NVIDIA Announces Expanded Jetson Thor Lineup with Mid-Range T3000 and T2000 Modules appeared first on ServeTheHome.
Welcome to our live show!
Post Syndicated from The Atlantic original https://www.youtube.com/watch?v=LPs-5KzWPrc
S9 E5: England’s Royal Tour & Harm Reduction: Last Week Tonight with John Oliver
Post Syndicated from LastWeekTonight original https://www.youtube.com/watch?v=kGbY6db4cjw
Migrate from Apache Solr to Amazon OpenSearch Serverless
Post Syndicated from Jon Handler original https://aws.amazon.com/blogs/big-data/migrate-from-apache-solr-to-amazon-opensearch-serverless/
If you’re running Apache Solr for search, now is a great time to migrate to Amazon OpenSearch Service. Amazon OpenSearch Serverless offers a modern, managed destination that greatly reduces operational overhead. Migration Assistant for Amazon OpenSearch Service now supports Apache Solr sources from versions 6.x through 9.x. Migration Assistant now includes an AI assistant that you can drive from your preferred AI tools. The assistant walks you through the migration, providing a detailed report with timelines, blockers, schema and query translation.
In this post, you will learn why now is the time to take advantage of the ease of operations and native AI capabilities of OpenSearch Serverless, and migrate from Solr.
The challenge of managing Solr
Many organizations have Solr deployments that have run for years, carrying accumulated technical debt: older versions, custom patches, and operational processes originating with engineers who have left. Running Solr in production requires ongoing investment in upgrades, security patches, monitoring, failure recovery, and capacity planning. The operational burden compounds as your deployment ages and the engineers who built it move on, leaving the remaining team with a system that is difficult to modify safely.
Meanwhile, search has evolved. Users interact through chat interfaces and AI agents that synthesize information on their behalf. These patterns require semantic understanding, hybrid retrieval, and agentic capabilities like memory and Model Context Protocol (MCP) support. OpenSearch is an open source software suite for search, analytics, and observability, licensed under the Apache License V2.0 and based on Apache Lucene. OpenSearch provides a broad and deep set of vector capabilities for AI workloads: multiple engines (Facebook AI Similarity Search (FAISS) and Lucene), multiple algorithms (Hierarchical Navigable Small World (HNSW) and Inverted File (IVF)), quantization for cost management, hybrid search with score normalization, neural sparse search, and a connector framework. You can use the OpenSearch connector framework to connect to your own models hosted in services such as Amazon Bedrock and Amazon SageMaker. With these capabilities, you can build chat-based search, power AI agents, and implement Retrieval Augmented Generation (RAG) workflows on your search engine.
Technical debt in custom patches and undocumented procedures can make shipping new features on Solr slow and risky. OpenSearch Serverless provides a modern engine with all the capabilities just mentioned, along with automatic scaling, and minimal infrastructure to maintain. Even if you remain focused on traditional search, OpenSearch Serverless delivers relevant results with less operational effort.
OpenSearch Serverless simplifies search
Amazon OpenSearch Serverless alleviates infrastructure provisioning, capacity planning, and data lifecycle management. You create a collection, send data, and run queries. OpenSearch Serverless automatically matches compute to your workload, independently scaling up indexing and search compute during spikes, and scaling compute to zero when idle. You pay only for storage when no requests are being processed. For variable traffic patterns, OpenSearch Serverless can cost up to 60% less than an OpenSearch Service domain provisioned for peak.
The vector engine supports HNSW and IVF with FAISS and Lucene, plus quantization techniques to manage cost as your collection grows. With Automatic Semantic Enrichment, you can enable a sparse model with a single setting to augment text with vectors and improve relevance without building an embedding pipeline. GPU acceleration reduces HNSW index build times from hours to minutes. OpenSearch Serverless also supports agents and RAG workflows.
If your workload requires tight control over infrastructure: specific instance types, custom plugin configurations, or extreme scale beyond what serverless deployments target, Amazon OpenSearch Service domains are the alternative destination. Domains give you full control over the cluster with one-click provisioning, patching, and backups. Migration Assistant supports both destinations, so you can pick the deployment model that fits your workload without changing your migration approach.
Migration Assistant for Amazon OpenSearch Service
Migration Assistant has helped customers move from self-managed Elasticsearch and OpenSearch to OpenSearch Service since December 2023. It now supports Solr sources. Migration Assistant now includes an AI-assisted experience that you can drive from your preferred AI tools, like Kiro, Claude Code, and others, to plan a migration, deploy the necessary infrastructure, and execute both historical and live traffic migration.
Historically, migrations required weeks of planning and assessments before any data movement could begin, and the process was often error-prone. The AI-assisted experience provides an agent-guided workflow that helps you structure, execute, and validate your migration faster and more reliably. You can use Migration Assistant itself to do your assessment, or connect with the skills in the AWS Model Context Protocol (MCP) server. Migration Assistant also now supports live traffic capture and replay for Solr, so you can validate the new environment with real workloads before cutting over.
Migration Assistant supports migrations to OpenSearch Serverless and OpenSearch Service domains from a range of Solr, Elasticsearch, and OpenSearch versions. It’s open source, so you can use it for migrating to OpenSearch Serverless in all commercial AWS Regions and AWS GovCloud (US) Regions where OpenSearch Serverless is available.
Migrate now
OpenSearch Serverless gives you vector, hybrid, and semantic search, automatic scaling, scale-to-zero compute, and zero operational overhead. Migration Assistant for Amazon OpenSearch Service provides the AI-assisted tools to get there: plan with the agent, deploy the infrastructure, run a backfill from your Solr backups, and validate with live traffic capture and replay before you cut over. Start by pointing your AI tool of choice to Migration Assistant to get a plan, timeline, and cost estimate.
For more information, see the Amazon OpenSearch Service documentation and the Migration Assistant for Amazon OpenSearch Service documentation.
About the author
Prioritize your AWS Health alerts using AWS User Notifications
Post Syndicated from Naga Bhargav original https://aws.amazon.com/blogs/architecture/prioritize-your-aws-health-alerts-using-aws-user-notifications/
If you run critical workloads on AWS, such as a contact center on Amazon Connect Customer, database workloads on Amazon Relational Database Service (Amazon RDS), or hybrid connectivity through AWS Direct Connect, service health events demand your attention. But not all events are equal. An operational issue, a scheduled maintenance window, and a deprecation notice buried in your inbox have very different consequences. The problem is that they all arrive through the same channel, making their urgency difficult to determine.
AWS Health generates events for every service, every account, every Region. The service delivers ongoing issues, scheduled changes, account notifications, and deprecation notices in one undifferentiated stream. For operations teams, this creates a familiar problem: either you treat every notification as urgent with unwanted triage noise, or you start ignoring them and risk missing something that matters. Both paths lead to slower response times and unwanted escalations.
This post walks you through a lightweight approach to solving this problem using AWS User Notifications, a fully managed service for routing AWS events to your preferred delivery channels. This solution filters health events to only the services you want to be notified about, then separates what remains into two priority tiers. Critical events arrive immediately. Informational events arrive as batched summaries. In this post, we address this problem with a single AWS CloudFormation template with four deployment approaches that you can deploy in your AWS environment.
Solution overview
The design follows a simple principle: filter first, then separate by priority.
The first layer filters out noise. Event rules match health events only for the services your organization depends on, such as AWS Direct Connect, Amazon Connect Customer, and Amazon RDS. Everything else is silenced before it reaches your inbox.
The second layer separates what remains by urgency. Two notification configurations handle different priority tiers:
- CRITICAL — Matches events where eventTypeCategory is issue or scheduledChange. These arrive immediately as individual notifications with no batching.
- INFORMATIONAL — Matches everything else using an anything-but filter such as accountNotification. AWS User Notifications batches these within a five-minute window and delivers them as grouped summaries.
In this solution, a CloudFormation template supports four deployment modes through a DeploymentMode parameter:
| Mode | Scope | What you get |
| Linked (default) | Single account | Email contacts + User Notifications event rules + channel associations |
| Payer | Entire organization or OU | Everything in Linked, plus organizational unit associations scoped to a root or OU |
| Combined | Single account | Everything in Linked, plus Amazon EventBridge rules and an Amazon Simple Notification Service (Amazon SNS) topic with [CRITICAL]/[INFORMATIONAL] prefixed custom email |
| PayerCombined | Entire organization or OU | Everything in Linked, plus org associations AND Amazon EventBridge rules with SNS custom email messages |
The following diagram shows how health events flow through the solution:

Figure 1: Architecture diagram showing priority-based AWS Health alerting using AWS User Notifications
What gets deployed
Once you deploy the CloudFormation stack, AWS provisions the following resources:
- Prioritized AWS services — AWS Direct Connect, Amazon Connect Customer, and Amazon RDS are pre-configured as the monitored services. You can customize this list directly in the CloudFormation template parameters.
- Two notification configurations on AWS User Notifications — one scoped for CRITICAL events (service issues and scheduled changes) and one for INFORMATIONAL events (account notifications), ensuring targeted alerting.
- Email delivery channel — AWS automatically links both notification configurations to the email address you provide during stack deployment, so alerts reach the right contacts from day one.
How the notification flow works
User Notifications path (all deployment modes)
- AWS Health emits an event and lands on the default Amazon EventBridge event bus.
- User Notifications event rule filters by service + category → two priority tiers.
- Notification configuration routes: Critical = immediate, Informational = 5-min batch.
- Email contact receives AWS-standard formatted notification.
Amazon EventBridge + SNS path (Combined and PayerCombined modes only)
In parallel with the above, a second delivery path activates:
- Same AWS Health events land on the default Amazon EventBridge event bus.
- Custom Amazon EventBridge rules (deployed by the template) evaluate the events on the default event bus and filter by the same service and category criteria as the AWS User Notifications event rules.
InputTransformerreformats the event into a human-readable message with [CRITICAL] and [INFORMATIONAL] prefix.- Amazon SNS delivers the custom formatted email to all subscribers via the Amazon SNS topic.
- Failed deliveries route to an Amazon Simple Queue Service dead letter queue and an Amazon CloudWatch alarm triggers if an Amazon SNS delivery fails.
Prerequisites
To follow along, you need:
- An active AWS account.
- Permissions to deploy AWS CloudFormation stacks and create AWS User Notifications resources.
- For organization-wide deployment: access to the management (payer) account and the organization root ID or organizational unit (OU) ID.
- (Optional) The AWS Command Line Interface (AWS CLI), installed and configured, for CLI-based deployment.
Deployment walkthrough
This section walks you through deploying, verifying, and testing the solution. Choose one of the four deployment modes based on your scope, then follow the remaining steps to confirm everything works.
Step 1: Deploy the AWS CloudFormation stack
Download and deploy the complete solution through this sample CloudFormation template
Select the deployment option that matches your requirements:
Option A: Single account (Linked mode)
Deploy using the AWS CLI:
Note : Set NotificationHubAlreadyEnabled=Yes if your AWS account already has a notification hub enabled in AWS User Notifications.
Or deploy through the AWS CloudFormation console:
- Open the CloudFormation console and choose Create stack.
- Upload the prioritize-aws-health-notifications.yaml template file.
- For Stack name, enter health-notifications.
- For DeploymentMode, select Linked.
- For NotificationEmail, enter the email address for notifications.
- For NotificationRegions, enter the Regions to monitor (comma-separated)
- For NotificationHubAlreadyEnabled, select Yes/No
- Choose Submit.
Option B: Organization-wide (Payer mode)
Before deploying, run the following command from the payer account to grant the AWS Health service access to your organization:
Then deploy:
Replace r-xxxx with your organization root ID to cover all accounts, or use an OU ID (for example, ou-xxxx-xxxxxxxx) to scope coverage to a specific unit.
Option C: Single account with custom SNS email (Combined mode)
Option D: Organization-wide with custom SNS email (PayerCombined mode)

Figure 2: CloudFormation console showing CREATE_COMPLETE status.
Step 2: Confirm the email subscription
After the stack deploys, check the email inbox you specified during deployment. You will receive a subscription confirmation from AWS User Notifications.
- Open the confirmation email.
- Choose Confirm subscription.
Important: Notifications will not be delivered until you confirm the email contact.
Expected result: The email contact shows Verified in the AWS User Notifications console

Figure 3: AWS User Notifications console showing verified email contact.
Step 3: Verify the notification configurations
Open the AWS User Notifications console and confirm the following resources were created:
- Navigate to Notification configurations — you should see two entries:.
- Health-Critical-Notifications — scoped to issue and scheduledChange event types.
- Health-Informational-Notifications — matches all event categories except issue and scheduledChange using an anything-but filter.
- Choose each configuration and verify:.
- Event rules list your selected services (AWS Direct Connect, Amazon Connect Customer, Amazon RDS).
- Delivery channels show your confirmed email contact.
Expected result: Two notification configurations visible, each with event rules matching your monitored services and the email channel associated.

Figure 4: AWS User Notifications console showing two notification configurations.
Step 4: Test the solution
Validate the deployed resources via the AWS CLI:
Expected result: Returns two configurations with their ARNs and aggregation settings — CRITICAL with no aggregation (NONE) and INFORMATIONAL with a 5-minute aggregation window (SHORT).
To verify end-to-end delivery, check the AWS Health Dashboard for any active events in your monitored Regions. When a matching event occurs:
- CRITICAL (issue or scheduled change): Email arrives immediately with event details, affected resources, and recommended actions.
- INFORMATIONAL (account notification): Email arrives as a grouped summary within 5 minutes.
Expected result: Email notification received with the correct delivery pattern — standalone for critical, batched for informational.
What you receive
The pattern is simple: a standalone email means something needs attention now. A batched summary means routine updates you can review on your own schedule. The email format is controlled by AWS User Notifications and cannot be customized. The priority distinction comes from the delivery pattern, not from text labels in the email body.
For teams using AWS Chatbot in chat applications (Slack or Microsoft Teams) or the console Notification Center, the configuration names [CRITICAL] and [INFORMATIONAL] appear directly in the notification, providing explicit priority context.

Figure 5: Sample CRITICAL email notification from AWS User Notifications related to an ISSUE.

Figure 6: Sample INFORMATIONAL digest email from AWS User Notifications related to an accountNotification.
Customizing the solution
You can tailor the solution to your environment by adjusting which services are monitored and which Regions are covered.
Adding or removing monitored services
This template monitors AWS Direct Connect, Amazon Connect Customer, and Amazon RDS by default. To monitor additional services, update the service array in the EventPattern of both event rules. For example, to add Amazon Elastic Compute Cloud (Amazon EC2):
Update the stack, and the new services are covered immediately.
Multi-Region monitoring
To get notifications about other AWS Regions, pass multiple Regions in the NotificationRegions parameter:
Always include us-east-1 regardless of where your workloads run. AWS Health global events — such as those for AWS Identity and Access Management (IAM), Amazon Route 53, and Amazon CloudFront — are delivered to us-east-1. If you exclude it, you miss global events.
Adding delivery channels
The solution starts with an email, but you can extend it without modifying the core event rules or notification configurations:
- More email recipients: Create additional EmailContact resources and associate them with the existing CRITICAL and INFORMATIONAL configurations.
- Slack or Microsoft Teams: Set up an AWS Chatbot in chat applications channel and create a ChannelAssociation linking it to the notification configurations.
- Mobile push: Install the AWS Console Mobile App and sign in. User Notifications delivers to the mobile app automatically — no additional CloudFormation resources needed.
- Team-based routing: Associate the network team’s email only with the CRITICAL configuration, and the general ops team with both CRITICAL and INFORMATIONAL. This is done through channel associations alone — no changes to event rules.
How this solution compares to existing approaches
Several tools exist for routing AWS Health events, each designed for different operational needs. This solution is not a replacement for all of them — it fills a specific gap.
| Approach | What it does | Trade-offs |
| AWS Health Aware (AHA) | Open-source framework with Lambda, DynamoDB, Secrets Manager. Supports Slack, Teams, Chime, and email with event deduplication. | Requires Business or Enterprise Support plan. Ongoing maintenance of deployed components. |
| HEIDI / CID Health Events Dashboard | Historical analysis and trend visualization using Amazon QuickSight , Amazon Athena , and Amazon S3 . | Designed for operational planning and post-incident review — not real-time alerting. Requires Business or Enterprise Support plan. |
| Custom Amazon EventBridge + Lambda + SNS | Full flexibility for routing and transformation. | Requires writing, testing, and maintaining application code. |
| Third-party tools (PagerDuty, Datadog) | Escalation, on-call routing, and acknowledgment workflows. | Licensing costs and vendor dependencies. |
| This solution | Simplest path to priority-separated, real-time health alerting. One stack, no code, no compute, no support plan requirement. | No deduplication, no escalation/acknowledgment, no historical storage. |
The approach in this post sits at a different point on the spectrum. It works well as a standalone solution for teams that need straightforward alerting, and it works equally well as a foundation layer that feeds into more advanced tools as operational needs grow.
You can start with this solution for immediate coverage, then consider adding PagerDuty by subscribing it to the Amazon SNS topic (Combined mode) for escalation and on-call routing, or pair it with HEIDI for historical trend analysis.
Things to consider
This solution is intentionally lightweight, and that comes with trade-offs worth understanding:
- Email format: AWS User Notifications controls the email body and subject line. You cannot add custom text like ‘[CRITICAL]’ to the email itself by default. The priority signal is the delivery pattern — standalone means critical, batched means informational. For teams that need explicit priority labels in email, the Combined deployment mode adds an Amazon EventBridge + SNS layer with
InputTransformerthat prefixes the email body with ‘[CRITICAL]’ or ‘[INFORMATIONAL]’. - Delivery monitoring (Combined modes): The Amazon EventBridge + SNS layer includes built-in reliability. A dead letter queue (DLQ) retains failed deliveries for 14 days for troubleshooting, and a CloudWatch alarm fires if SNS fails to deliver notifications. This means you are alerted not just about AWS Health issues, but also about failures in the notification pipeline itself.
- No deduplication: AWS Health events have a lifecycle — created, updated, resolved. Each update triggers a new notification. A single incident might generate 2–4 emails as the event progresses. For strict deduplication, consider pairing with AHA or adding a lightweight Lambda function.
- No escalation or acknowledgment: This solution sends notifications but does not track whether anyone acted on them. For on-call routing and escalation chains, integrate with an incident management tool like PagerDuty or OpsGenie via the SNS topic.
- No historical storage: Notifications are delivered in real time but not stored for later analysis. For post-incident review and trend reporting, pair with HEIDI or the CID Health Events Dashboard.
The advantage of this approach is that it does not lock you into a single path. The notification configurations and event rules remain in place as you layer on additional capabilities.
Cleanup
If you no longer need the health notification resources, delete the CloudFormation stack:
Note: AWS CloudFormation preserves resources with DeletionPolicy: Retain (notification configurations, event rules, email contacts, and channel associations) after you delete the stack. To fully remove them, delete the resources manually through the AWS User Notifications console or the AWS CLI.
Expected result: Stack reaches DELETE_COMPLETE within 2–3 minutes.
Conclusion
In this post, we walked through how to set up priority-based AWS Health alerting using AWS User Notifications and a single CloudFormation template. The solution filters health events to only the services that matter to your organization, then separates what remains into immediate critical alerts and batched informational summaries.
The core value is simplicity. No Lambda functions to patch. No DynamoDB tables to manage. No code to maintain. One stack, deployed in minutes, covering a single account or an entire organization. Because it uses only native AWS services with no support plan requirement, any team can adopt it regardless of their current tooling or support tier.
This approach works as a standalone alerting solution. It also works as a starting point that you can extend with Slack and Microsoft Teams integration through AWS Chatbot in chat applications, escalation workflows through PagerDuty or OpsGenie, and historical analysis through HEIDI or CID.
To get started, download the CloudFormation templates from the GitHub repository. For more information, see the AWS User Notifications User Guide and the AWS Health User Guide.
If you have questions or want help implementing this solution for your organization, contact your AWS account team or visit the AWS Contact Us page.
About the Authors
Protecting Privacy in an AI Era
Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2026/07/protecting-privacy-in-an-ai-era.html
Daniel Solove argues in the Wall Street Journal (alternate link) that giving people control of their personal data is not an effective way to regulate privacy in this era. Instead, we need to hold companies accountable for their actions, similar to what we do with food and drug companies. Measures such as rigorous data minimization, fiduciary duties, liability for negligent or reckless technological design, liability for algorithms that cause harm, and multi-stakeholder review of technologies will be far more effective.
[$] Sched-ext: enqueue() for sub-schedulers and proxy-execution support
Post Syndicated from corbet original https://lwn.net/Articles/1082717/
The extensible
scheduler class (sched_ext) allows the installation of custom CPU
schedulers as a set of BPF programs. While sched_ext, in its current form,
has already led to a lot of interesting scheduler-development work, the
subsystem itself is still undergoing rapid evolution. Among other work,
the ability to set up a hierarchy of sub-schedulers is approaching completion, and
a longstanding incompatibility with proxy
execution is coming to an end.
Security updates for Thursday
Post Syndicated from jzb original https://lwn.net/Articles/1083201/
Security updates have been issued by AlmaLinux (cups, git-lfs, kernel, libsolv, libxml2, python3.12, and python3.9), Debian (chromium, dhcpcd5, and ntfs-3g), Fedora (firefox, perl-Imager, python-bcrypt, python-tiktoken, roundcubemail, and xrdp), Mageia (openssl, poppler, python-mistune, and tmux), Oracle (389-ds-base, cups, git-lfs, glibc, host-metering, kernel, libsolv, libxml2, nginx:1.24, PackageKit, python-pillow, and qemu-kvm), Red Hat (buildah, containernetworking-plugins, and skopeo), SUSE (buildah, cosign, curl, distribution, dnsmasq, glib-networking, glibc, gnutls, gstreamer-plugins-bad, ImageMagick, kernel, podman, python-cryptography, python313-django-debug-toolbar, rekor, sccache, sssd, and yelp), and Ubuntu (dotnet8, dotnet10, libslirp, luajit, python-idna, sympa, and tomcat8).