[$] Extending run-time verification for the kernel

Post Syndicated from daroc original https://lwn.net/Articles/1030685/

There are a lot of things people expect the Linux kernel to do correctly. Some
of these are checked by testing or static analysis; a few are ensured by
run-time verification: checking a live property of a running Linux system. For
example, the scheduler has a handful of different correctness properties that
can be
checked in this way.
Nam Cao posted a

patch series
that aims to extend the kinds of properties that the kernel’s
run-time
verification system
can check, by adding support for

linear temporal logic
(LTL). The patch set has seen eleven revisions since the

first version
in March 2025, and recently made it into the linux-next
tree, from where it seems likely to reach the mainline kernel soon.

Научни новини: Комети, мляко без крави и потомство от еднополови родители

Post Syndicated from Михаил Ангелов original https://www.toest.bg/nauchni-novini-kometi-mlyako-bez-kravi-i-potomstvo-ot-ednopolovi-roditeli/

Мляко без крави

Научни новини: Комети, мляко без крави и потомство от еднополови родители

Млякото е изключително важна (и вкусна) суровина, която към момента може да се добива само от животни. Отглеждането им ще става все по-трудно и по-скъпо заради очакваните климатични промени и намаляващите водни ресурси и затова интересът към създаването на млечни аналози е изключително голям. Засега най-достъпният метод е биотехнологичното производство на отделните компоненти на млякото, които после да бъдат смесени. А ако се цели производство на млечни субпродукти (например суроватъчни протеини), компонентите могат да бъдат директно вложени в тях, като така се премахва нуждата от разделянето им.

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

В последните години няколко компании съобщават, че са решили загадката и имат „биотехнологично мляко“, но за съжаление, никоя от тях не предлага пълна алтернатива. Една от тези компании е Perfect Day (по популярната песен на Lou Reed), основана през 2014 г. Тя работи по B2B модел и предлага своя продукт като суровина на различни компании с цел производство на всякакви хранителни продукти – сладолед, овкусени млека и др.

Зад технологията стои утвърден биотехнологичен модел. Гените за желаните протеини се клонират от първоначалния организъм (в случая крава) в микроорганизъм, който може да се отглежда в биореактори. Perfect Day са избрали за синтез суроватъчния протеин лактоглобулин, а като биологична „фабрика“ – една нишковидна гъба от рода Триходерма. Тези гъби са подходящи за подобен вид производство, тъй като имат свойството да отделят извън клетките си големи количества ензими и с тяхна помощ разграждат целулозата, с която се хранят. Използвайки генетични редакции, учените успяват да ги подлъжат, така че вместо тези хранителни ензими те да синтезират и отделят протеини, чужди за тях.

За съжаление, информацията, която е представена от компанията, може да се окаже не съвсем вярна – това предстои да се установи в дело, заведено преди няколко месеца от две организации – Асоциацията на органичните консуматори (OCA) и GMO/Toxin Free USA.

Perfect Day обявяват съдържание на гъбни протеини от около 7% в своя продукт като следствие от производствения процес. Според ищците независим анализ показва почти обратното – само 13% от продукта представляват рекомбинантен тлактоглобулин, т.е. 87% е съдържанието на гъбни протеини.

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

Наред със суроватъчните протеини казеините са ключова част от млечните аналози (съставят около 80% от кравето мляко), поради което възможността за техния синтез също представлява голям интерес. В млякото те се намират под формата на агрегати от няколко вида казеин. Важно условие за формирането на тези агрегати е отрицателният заряд на протеините, който те получават чрез фосфорилиране (закрепване на фосфатни групи към тях).

В скорошна публикация са описани два подхода за синтез на фосфорилиран казеин в бактерии. Първият е относително директен – освен гена за казеин от крава се вмъкват и няколко кинази от бактерията Bacillus subtilis. Киназите са ензими, които могат да фосфорилират протеина, закачайки фосфатни групи към него. Второто решение е по-иновативно и се състои в редакция на състава на протеина чрез подмяна на една аминокиселина – серинът се заменя с аспарагинова киселина. Тя има негативен заряд, който ѝ придава свойства, сходни на свойствата на фосфорилирания серин. Екипът нарича този модифициран протеин фосфомиметична версия на казеина, тъй като се държи като него, но няма фосфорилиране.

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

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

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

Татко, татко и аз

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

Важен елемент от този процес е епигенетичният феномен „генетичен импринтинг“. След сливането на половите клетки в получената зигота има два набора хромозоми – по един от всеки родител, като всеки се състои от една полова хромозома (X или Y) и няколко автозоми. Тъй като всеки ген е представен от две копия, е нужен прецизен контрол на тяхната активност, за да няма нарушения в развитието на организма. Това е ролята на импринтинга – с помощта на епигенетични механизми някои гени, намиращи се на автозомите, се изключват.

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

Това кара учените да се запитат дали не е възможно изкуствено да се създаде потомство от индивиди от един и същи пол.

Основите на тези опити са поставени през 80-те години на миналия век от английски учени, но резултатите само потвърждават, че наличните към момента технологии не са достатъчни за намеса в специфичния процес на ембриогенеза и в импринтинга. Първият сериозен пробив е направен през 2018 г., когато китайски учени успяват да манипулират ембрионални стволови клетки чрез премахване на няколко ключови гена, които са обект на импринтинг. Най-вероятно поради грубия подход (премахване на цели гени вместо на импринтинга върху тях) от родените 12 мишлета оцеляват само две, при това за по-малко от 48 часа. Въпреки това процедурата е окуражаваща и показва, че с подобни намеси могат да се преодолеят първите критични фази, като образуването на плацентата и началните стадии в развитието на ембриона. В същата публикация е описана сходна технология, чрез която успешно се създават мишки от две майки, даващи нормално потомство след кръстосване с обикновена мишка.

Информация за сходен експеримент бе публикувана и в началото на януари. С помощта на CRISPR/Cas9 китайски учени нарушават функционирането на 20 гена в миши сперматозоиди. Тази намеса е по-успешна – получените мишки оцеляват, но последиците от нея са налице. Животните са по-големи от обикновените, с уголемени органи и по-кратък живот; освен това не са фертилни. Двата експеримента потвърждават сложността на процеса и необходимостта от присъствие на гените.

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

Разработката, публикувана през 2023 г., е на японски екип, който нарича новата технология „инвитро гаметогенеза“. Процедурата започва със създаване на стволови клетки от възрастни мъжки мишки чрез вземане на материал от опашките им. След това тяхната Y хромозома се премахва и се дублира останалата X, което е една от най-важните стъпки. Така направените XX клетки се имплантират в изкуствено създаден яйчник, където се оформя „мъжката“ яйцеклетка.

След оплождането на тези изкуствени яйцеклетки със сперматозоиди от немодифицирани животни те са имплантирани в сурогатни майки. Получените седем мишки се развиват нормално, без забележими дефекти. Една мъжка и една женска от тях са изпитани за фертилност, като и в двата случая опитите са успешни. Въпреки че само от 1% от имплантираните ембриони се раждат модифицирани мишки, това се оценява като сериозен напредък в полето на репродуктивната генетика.

Разбира се, историята не свършва дотук – в края на миналия месец беше описан нов подход за решаване на тази загадка. Той се базира на модифицирана CRISPR система, редактираща не самия геном, а епигенетичните маркери, които носи ДНК. За получаване на ембрион с генетичен материал от двама бащи се имплантират два сперматозоида в яйцеклетка с премахнато ядро. Така получената „диплоидна“ клетка, която носи два набора хромозоми, се подлага на прецизно насочена редакция, прицелена към алели, които се срещат само на едната хромозома – от единия или от другия татко.

Крайният резултат са две мишлета, които оцеляват и се развиват нормално.

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

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

За добро или лошо, все още сме далеч от прилагането на тези подходи при хора. Дори да приемем, че това би се приело от обществото и се предложи като част от пакетите за репродуктивна помощ, чисто технологично има множество спънки, които трябва да бъдат преодолени. Едната от тях е самото ни познание за гените, подложени на импринтинг – през 2014 г. са били известни около 70, а през 2019 г. броят им надхвърля 200, тоест тепърва се трупат данни. Много е вероятно процедурата да крие рискове, за които все още не подозираме; в повечето публикации полученото потомство не се подлага на тестове за оценка на когнитивните способности. Дискусията доколко етични са подобни технологии, тепърва предстои и няма да бъде лека. 

Далечен гост

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

В началото на месеца системата за засичане на обекти, представляващи риск за Земята (ATLAS), регистрира ново тяло при преминаването му покрай орбитата на Юпитер.

Траекторията и скоростта му показваха, че идва от пространство извън Слънчевата система и няма да се задържи дълго в нея. Това е едва третият засечен подобен обект, поради което е наречен 3I/ATLAS. Той е по-голям от предишните два, забелязани през 2017 и 2019 г., но точният му размер не може да се определи, защото е активна комета с ядро, обградено от прах (т.нар. кома). Най-вероятно диаметърът му е около 1–2 км, но може да се окаже и към 10 км.

Научни новини: Комети, мляко без крави и потомство от еднополови родители
Композитна снимка на част от пътя на 3I/ATLAS / Снимка на самата комета. Изображение: NOIRLab

В момента комата е сравнително компактна и опашката ѝ е къса, но най-вероятно с приближаването към Слънцето ще започне да расте. 3I/ATLAS не представлява опасност за Земята и ще прелети на повече от 200 млн. км от нас, преминавайки през орбитата на Марс, без да го застраши. Според сегашните изчисления перихелият (моментът, когато ще е най-близо до Слънцето) ще е на 29 октомври, след което кометата отново ще се отправи към междузвездното пространство в Млечния път. По това време Земята ще бъде от другата страна на Слънцето и няма да е възможно да се правят наблюдения. Орбитите ще позволят това чак през декември, но все още не е ясно дали тогава 3I/ATLAS ще бъде видим.

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

Телескопът „Хъбъл“ направи наблюдения на 21 юли, а през ноември с негова помощ ще бъдат проведени спектроскопски измервания в ултравиолетовия спектър, които ще определят съотношението между сяра и кислород в кометата. Обсерваторията „Джеймс Уеб“ ще наблюдава обекта през август и декември, измервайки съдържанието на различни вещества в него (вода, амоняк, въглероден диоксид) чрез спектроскопия в инфрачервения спектър.

Тъй като ще прелети най-близо до Марс, учените предвиждат наблюдения и с помощта на изкуствен спътник (MAVEN) в орбита около Червената планета. Измерванията от тези телескопи ще дадат ценна информация за средата, в която се е формирала кометата, и за компонентите, които са присъствали в този момент. Куриозно и за късмет на астрономите, новата обсерватория „Вера Рубин“ също е заснела обекта по време на предварителните ѝ тестове, давайки допълнителни данни отпреди първоначалното му засичане.

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

Към момента не е ясно откъде точно идва 3I/ATLAS, но учените подозират, че е изключително стар обект.

Предположенията за възрастта му обхващат голям диапазон: според една статия – от 3 до 11 млрд. години, а според друг екип – между 7,6 и 14 млрд. години. Това е впечатляващо, защото може да се окаже, че 3I/ATLAS се е формирал преди нашата Слънчева система. Една от допълнителните улики за произхода на кометата ще бъде и това колко бързо се върти – ако е бързо, най-вероятно е „издърпана“ от друга звезда, а ако е бавно – по-вероятно е просто да е „отплавала“.

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

[$] On becoming a Python contributor

Post Syndicated from jake original https://lwn.net/Articles/1030821/

In the first keynote at
EuroPython 2025 in Prague,
Savannah Bailey described her path to becoming a CPython core developer in
November 2024. She started down that path a few years earlier and her
talk was meant to inspire others—not to slavishly follow hers,
but to create their own. In the talk, entitled “You don’t have to be a compiler engineer
to work on Python”, she had lots of ideas for those who
might be thinking about contributing and are wondering how to do so.

Security updates for Wednesday

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

Security updates have been issued by AlmaLinux (firefox, icu, kernel-rt, libtpms, redis:6, redis:7, and sqlite), Fedora (chromium and cloud-init), Oracle (icu, java-1.8.0-openjdk, java-21-openjdk, kernel, nodejs:22, perl, and sqlite), SUSE (docker, java-1_8_0-openj9, libxml2, python-starlette, and thunderbird), and Ubuntu (cloud-init, linux-azure, linux-azure-5.4, linux-azure-fips, linux-raspi,
linux-raspi-5.4, and perl).

Measuring the Attack/Defense Balance

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2025/07/measuring-the-attack-defense-balance.html

“Who’s winning on the internet, the attackers or the defenders?”

I’m asked this all the time, and I can only ever give a qualitative hand-wavy answer. But Jason Healey and Tarang Jain’s latest Lawfare piece has amassed data.

The essay provides the first framework for metrics about how we are all doing collectively—and not just how an individual network is doing. Healey wrote to me in email:

The work rests on three key insights: (1) defenders need a framework (based in threat, vulnerability, and consequence) to categorize the flood of potentially relevant security metrics; (2) trends are what matter, not specifics; and (3) to start, we should avoid getting bogged down in collecting data and just use what’s already being reported by amazing teams at Verizon, Cyentia, Mandiant, IBM, FBI, and so many others.

The surprising conclusion: there’s a long way to go, but we’re doing better than we think. There are substantial improvements across threat operations, threat ecosystem and organizations, and software vulnerabilities. Unfortunately, we’re still not seeing increases in consequence. And since cost imposition is leading to a survival-of-the-fittest contest, we’re stuck with perhaps fewer but fiercer predators.

And this is just the start. From the report:

Our project is proceeding in three phases—­the initial framework presented here is only phase one. In phase two, the goal is to create a more complete catalog of indicators across threat, vulnerability, and consequence; encourage cybersecurity companies (and others with data) to report defensibility-relevant statistics in time-series, mapped to the catalog; and drive improved analysis and reporting.

This is really good, and important, work.

From coder to mentor: Meet Isabelle

Post Syndicated from Sophie Ashford original https://www.raspberrypi.org/blog/from-coder-to-mentor-meet-isabelle/

We love hearing from members of the community and sharing stories of amazing young people, volunteers, and educators who are using their passion for technology to create positive change in the world around them.

Meet Isabelle, a youth mentor at a library Code Club, whose inspiring story tells how a passion for helping others and a love for reading led back to a childhood interest, shaping an unexpected and rewarding journey.

Isabelle celebrating her 18th birthday.

Saturdays spent at the library

Isabelle’s coding journey began around the age of nine. An avid reader, she regularly attended her local library in Stourbridge with her gran. When they saw there was a Code Club held on a Saturday morning, they both decided it might be a good skill for Isabelle to learn.

“I used to have like an entire folder of all the projects I’d completed. I’ve still got it somewhere in my room!” 

She quickly progressed through Scratch, Python, and HTML, even finding herself teaching the adults at the club at some points! But, as secondary school approached, her involvement naturally tapered off as she began to focus on her studies.

A return through volunteering 

In secondary school, Isabelle was looking for volunteering opportunities as part of her Duke of Edinburgh (DofE) award. Remembering her positive experiences at the library, and continued love of books, she initially considered volunteering there. Then, she had an idea.

“I suddenly thought ‘What if they still do Code Club?’ I really enjoyed it when I did it and I still remembered enough about it to help others. So, I felt like I could actually be useful instead.”

Isabelle reached out, and thanks to her gran’s long-standing connection with the library, she was remembered and welcomed back. What started as a three-month commitment for her DofE award soon extended to six. 

“I really looked forward to each session at the library and decided to stick with it for the whole time.”

Embracing the chaos and connection

Isabelle’s return coincided with the Code Club restarting. Stepping into a mentoring role, she quickly found herself in the thick of it. With five computers and a group of new young people, most of whom had no prior coding experience, the first sessions were a whirlwind. 

“It’s like the best kind of chaos. It doesn’t get easier as such. But it’s so fun meeting these new kids, they’re all different and they bounce off each other.”

She works closely with Lucy, the club leader, helping manage the flow of projects and supporting the children as they navigate everything from creating Scratch accounts to tackling challenging projects.

Isabelle at her club in Stourbridge with Code Club Community Coordinator Rujeko.
Isabelle with Lucy, Stourbridge Library Assistant, and Rujeko, Code Club Community Coordinator

More than just code

While the technical skills are central, Isabelle emphasises that Code Club offers so much more. She’s seen shy children blossom, making new friends and becoming more involved.

“I think there’s the whole element of socialising as well. And beyond coding, kids develop essential IT skills, like learning how to use a mouse and keyboard. Something many who just use tablets and phones don’t know!”

Four years and counting  

Isabelle, now preparing to go on to further education, could not have predicted how her mentoring journey would turn out. What began as a three-month DofE requirement has turned into a four-year commitment. 

“It has just never been something that I thought ‘oh, I don’t want to do this anymore’. It’s just part of the weekly routine now. It’s been four years and it’s shocking how quickly it’s gone.”

Isabelle’s dedication hasn’t gone unnoticed. She’s built strong bonds with the staff and gained invaluable experience. She’s learned to organise, work in a team, and even run sessions independently, developing skills that will be invaluable for her future.

“I like the bond that I have with the staff and with Lucy. It feels great to be trusted that much and it has just been such a nice experience.” 

Lucy, Stourbridge Code Club leader and Library Assistant, shared her experience with the club and collaborating.

“Since Code Club offers so much more than just coding — confidence building, creativity, friendship, etc. — it plays an important role for children and young people in the community. The library is much more than just a place for books, and hosting Code Club here creates a welcoming space where young people can explore technology away from the classroom.”

“Isabelle has been absolutely fantastic both in supporting us with club admin as well as supporting the children with their coding! She understands the projects inside and out and is brilliant at not only solving problems, but also, importantly, encouraging the club to find ways of solving problems themselves. Our Code Club couldn’t have become what it is today without her input!”

Isabelle’s advice for future mentors

As Isabelle prepares to head off to the Bath Spa University to study media communications and publishing, she offers this advice for other young people considering becoming a Code Club mentor…”just go for it!” 

Isabelle admits to being anxious at times, but the experience has significantly boosted her confidence. 

“It built my confidence a bit more. You make friends along the way and you learn a lot of new things. And don’t worry if you don’t have a lot of coding experience. I don’t think you need it. I had a little bit but I was still basing it mainly off of reading the project instructions. And in all fairness, the instructions are really helpful!”

Mentoring at Code Club isn’t just about teaching, it’s about learning, growing, and connecting. It’s an opportunity to give back, build confidence, and discover the joy in supporting the next generation of digital creators. As Isabelle’s journey shows, sometimes the most rewarding paths are the ones you never planned to take.

Lucy shared why she thinks having youth mentors involved with Code Club is such an important dynamic.

“Youth mentors are great as role models and inspiration for children, and as a young person themselves they build such a great rapport with the club members. A mentor who’s closer to their age often feels more approachable, which helps create a comfortable and encouraging environment for them.”

If Isabelle’s story has inspired you, why not explore the world of coding? You can get started at home with over 250 free projects on the Code Club Projects website.

Looking for a little extra support in your own coding journey or open to mentoring others? Join a Code Club near you to meet a like-minded and supportive community.

The post From coder to mentor: Meet Isabelle appeared first on Raspberry Pi Foundation.

На второ четене: „Нощен ферибот за Танжер“

Post Syndicated from Стефан Иванов original https://www.toest.bg/na-vtoro-chetene-noshten-feribot-za-tanzher/

„Нощен ферибот за Танжер“ от Кевин Бари

На второ четене: „Нощен ферибот за Танжер“

превод от английски Елка Виденова, София: изд. ICU, 2024
Неочакван криминален роман за бавното пътуване към покаяние, обвито в тютюнев дим, хероинови халюцинации и спомени, които не са достатъчно срамни, за да бъдат изтрити, нито достатъчно величави, за да бъдат оплаквани.

В стилистиката на съвременния постноар с примеси на Мартин Макдона, Бекет, Пинчън и някакъв изгубен ирландски Чехов

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

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

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

Терминалът в Алхесирас може да е автогарата в Благоевград или гръцки ферибот за някъде, но всъщност те не отиват никъде. Те чакат. Чакат Дили, която може да е дъщеря, но може и да е образ на изгубената невинност на Ирландия и България, на момичетата, които избягаха в Лондон, в Испания, в себе си.

И Ирландия, и България споделят една особена периферна меланхолия. Ирландия – със своите изселници, сивото море и вечното чакане на нещо по-добро, което в тяхното настояще май и почти дойде, поне икономически. България – със своята престъпна романтика на 90-те, където бруталността и криво привидяната героизация вървят ръка за ръка чрез образа на мутра, която слуша чалга, изнасилва, вилнее, граби, краде и убива, но медийното ѝ представяне е на нещо като рицар или Робин Худ.

Морис и Чарли могат спокойно да бъдат остарелите герои от ненаписаните романи на Христо Калчев,

ако бяха останали малко по-дълго в един определен бар на „Графа“, с леко жълтеникави зеници и алкохолен тремор.

Дили е не само дъщеря. Тя е обещание, което не се е сбъднало. В българския контекст тя е представителна за онова поколение момичета, което избяга от страната, от миналото, от мъжете като Морис и Чарли. Тя е бившата ученичка с петици по литература, която сега продава амулети в Ибиса и има куче, наречено Гала. А бащите я търсят не за да я върнат, а за да си простят. Или да си отмъстят.

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

Представени така, Морис и Чарли са не просто герои на ирландската литература. Те са и български архетипи. Бивши мутри, превърнали се във философи по неволя. С твърде много време и вина и твърде малко надежда. Те чакат ферибот, който няма да дойде – и не защото го няма, а защото вече нямат къде да отидат. Може би и затова читателят може – ако не да ги обикне – то поне да ги разбере. В тях има от всички нас, от бащите, но и от децата, които (може би) няма да се върнат.

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

в сърцето на писането стои черният хумор като форма на екзистенциална самозащита.

При Макдона хуморът идва от абсурдната бруталност на реалното, а при Бари, Морис и Чарли е жизнен инструмент срещу тъгата. Една полуиронична мъжкарска поза, за да не избухнат в плач. Ако се пренапишат репликите на Морис и Чарли за сцена, ще се получиш диалогов ритъм, почти неразличим от този на Макдона.

Героите на Макдона са просташки, поетични и опасни. Макдона обожава онези брутални, полуобразовани, дълбоко наранени мъже, които цитираш дори когато ги мразиш. Същото важи за Морис и Чарли. Те са като братовчеди на неговите ирландци или като остарели версии на героите от „В Брюж“. Усещаш, че могат да убият, но могат и да се разплачат на песен на Луис Армстронг.

Както в „Три билборда извън града“, където мъртвата дъщеря присъства във всяка сцена, така и в настоящия роман Дили е център, който отсъства. Отсъстващият персонаж е емоционалният двигател. И при двамата автори липсата е по-силна от присъствието. Тя не е дъщеря – тя е вина, призрак, разплата, смисъл и самонаказание.

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

Разликата е в това, че Бари е по-литературен. Той обича експерименталния ритъм, гъстотата на вътрешния глас. Макдона е по-театрален, по-зрелищен, с по-ясен конфликт и повече социална и човешка чернотия. Въпреки всичко този роман би могъл да се чете като един литературен Макдона, само че пречупен през призмата на Бекет, с щипка Кустурица и саундтрак от Tindersticks. И със силен превод на български от Елка Виденова, заслужено получила наградата „Кръстан Дянков“ за миналата година.

На второ четене: „Нощен ферибот за Танжер“

Силата на романа е в езика, ритъма и носталгичната грозота на героите. Слабостта е в прекалената едностранчивост на перспективата,

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

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

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


Активните дарители на „Тоест“ получават постоянна отстъпка в размер нa 20% от коричната цена на всички заглавия от каталога на издателство ICU, както и на няколко други български издателства в рамките на партньорската програма Читателски клуб „Тоест“. За повече информация прочетете на toest.bg/club.

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

Сребро Филипов – за ръгбито и за приобщаването

Post Syndicated from Ина Иванова original https://www.toest.bg/srebro-filipov-za-rugbito-i-za-priobshtavaneto/

Сребро Филипов – за ръгбито и за приобщаването

Сребро Филипов е роден и израсъл в Пловдив. Описва себе си като „част от едно голямо италианско семейство“. Но всъщност има две – и второто е ръгби общността под тепетата, за чието сформиране носи пряка отговорност.

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

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

Ръгбито неслучайно е наричан джентълменски спорт – до 90-те години на XIX век е бил практикуван основно от аристократи и военни. Смята се, че води началото си от 20-те години на същия век, когато по време на футболна игра едно момче грабнало топката в ръка и започнало да тича с нея. По това време правилата във футбола са били доста неустановени и топката се е подавала и с ръце. В края на XIX век се създава Международният ръгби борд, който регулира правилата и започва да организира международни срещи. 

Играта се разпространява широко в страни като Франция, Великобритания, Австралия, Нова Зеландия, Южна Африка, Аржентина и др. И днес се играе с екипи, приличащи на тези в европейския футбол, и по това нетренираното око най-лесно я различава от американския футбол, в който състезателите носят защитни дрехи, наподобяващи хокейни екипи. Разбира се, топката, игрището и правилата в ръгбито и американския футбол са коренно различни.

Сребро Филипов – за ръгбито и за приобщаването
Сребро Филипов. Снимка: Виктор Цонев – PinkTsonk

Сребро Филипов, когото приятелите наричат Пери, намира пристан именно в ръгби общността, която се оформя покрай създадения от него клуб „Бесите“. И макар всичко да тръгва от една мечта, оказва се, че се стига до пространство, в което различни хора намират възможност да тренират и да се движат – сред тях има нотариус, държавни служители, лицензиран ръгби треньор, университетски преподавател… Ядрото на клуба се състои от хора, между които има голяма възрастова разлика, но и силно приятелство, скрепено с общо (и нерядко цинично) чувство за хумор. Празнуват заедно рождени дни, понякога ходят заедно на музикални фестивали.

Извън ръгбито Сребро Филипов работи в областта на маркетинга и комуникациите. Има опит в български и международни компании, а в момента е част от екипа на образователната платформа „Уча се“.


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

Да, ние сме пъстра общност – имаме пекар от пекарната в „Капана“, който сутрин става в три за работа, но идва на нашите вечерни тренировки. Имаме английски студенти, които учат медицина. Имаме бивш турски национал, най-усмихнатия човек, когото познавам – той играе с нас, докато е в Пловдив. Също и млади момчета, които в момента играят за Националната спортна академия. Сега в клуб „Бесите“ идва и едно момиче, което е тренирало в Щатите, когато е живяло там. Впрочем тя вече е национал. Разбира се, ние само тренираме, в професионалния спорт е невъзможно отборът да е смесен – трудно ще е за 60-килограмовата Рая срещу 130-килограмов противник.

Клуб „Бесите“ все още не играе в първенството, но всичко предстои. Надяваме се догодина да сме готови за блицформата „Ръгби 7“.

А целта и надеждата ни е от септември да имаме и детско-юношеска школа. Ще отидем в различни училища, в които ще направим презентации и ще разкажем за спорта. Имаме вече и треньор.

Аз исках да създам клуб – роди се общност.

Как се стигна до създаването на ръгби клуб „Бесите“ в Пловдив?

Аз съм израснал в семейство, в което се гледат всякакви видове спорт, баща ми е от поколението, в което доста хора спортуваха, а на него футболът му се е отдавал. Имам страхотна връзка с него – отидохме заедно на първия ми концерт, слушах музика от неговата фонотека, четях книги от библиотеката му, той ме заведе и на стадиона. Гледали сме заедно и доста ръгби през годините. После мои приятели създадоха баскетболен клуб, част от спортното семейство на ПФК „Локомотив Пловдив“, и тогава си казах: искам да играя ръгби, но няма къде. Може би трябва аз да го организирам.

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

Но първо трябваше да регистрираме сдружение. Тогава в групата за фенове на ръгби културата в България, се появи въпрос от Павел, който в момента е в Управителния ни съвет: „Има ли къде да се играе в Пловдив?“ Аз отговорих: „Да, скоро ще има.“ Така се запознахме. Помагат ни от ПФК „Локомотив Пловдив“, имаме подкрепата и на Община Пловдив, така че благодарение на тях в неделя играем на игрище 5 на Гребната база.

Спортно-технически за всичко се грижи Абеди Бираджакли, аз съм поел административната работа. С мен се свърза и Костадин Дебренлиев, той ни пое като треньор, направи ни програма, идваше да ни тренира. Костадин и брат му Смилко са потомствени ръгбисти, синове на Димитър Дебренлиев, когото изгубихме миналата година и това беше шок за нас.

Всички ние, които сме в Управителния съвет, имаме професии и никой от нас не е взел нито стотинка. В бъдеще ще кандидатстваме за финансиране, за да можем да плащаме за труда на треньора и лечението на контузените играчи.

Сребро Филипов – за ръгбито и за приобщаването
Клуб „Бесите“. Снимка: личен архив

Когато ръгби мачът завърши, всички играчи се поздравяват един друг. На какво Ви научи този спорт, какво Ви даде?

Станах по-целеустремен и по-отворен към хората, макар че живеенето в общност не ми е чуждо. Аз винаги съм принадлежал към различни субкултури – болен фен към на „Локо Пловдив“. Музикално съм свързан с хардкор и пънк общността в България, тя е много силна.

Откакто съществуват „Бесите“ обаче, сякаш всичко в живота ми тръгна по-добре. Веднъж казах на съпругата ми Веси: „Това ме спаси.“

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

Как ръгбито развива човешкото същество?

Ментално и физически. Интелектуално и физически ти трябва да печелиш територия, да преместваш – понякога с по 50 сантиметра – тази топка с форма на пъпеш, докато я подаваш назад. Тоест като в живота е – трябва да си поставиш цел, да я завоюваш и отстояваш. Движиш се и мислиш на бързи обороти, а ако видиш празно пространство, го атакуваш. Правиш залъгващи движения. И трябва физически да си подготвен, за да няма контузии.

Според мен защитата в този спорт е по-трудна. Ръгбито те сваля на земята – буквално и преносно. Главата ти може да е затисната в калта и тогава трябва да знаеш, че зад теб има още 14 човека, които ще те извадят.

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

Сребро Филипов – за ръгбито и за приобщаването
Клуб „Бесите“. Снимка: личен архив

Две момчета и баща с интереси към футбола, ръгбито, баскетбола. Какви топки имате вкъщи?

Всякакви! Тенис, баскетболни, за ръгби, футболна, имаме и топки за сушилня, които невинаги се използват по предназначение… Единият ми син тренира баскетбол, впрочем двата спорта много си приличат като контакт и физическо натоварване. Децата ми са много щури, но силно се обичат и непрекъснато се търсят.

Ако решат да тренират ръгби, когато създадем детско-юношеската школа, с най-голямо удоволствие бих се търкалял с тях в калта, бих ги измъквал оттам и най-вероятно в някакъв момент и те ще го направят за мен. Но е важно да спортуват! Животът става все по-дигитален, аз им давам възможност да опитат различни начини да спортуват – на ски съм ги водил, на плуване, малкият е ходил на катерене. Искам, докато пораснат, да са опитвали различни outdoor активности и да продължат с това, което им харесва.

Да поговорим за нуждата от образование.

Безспорна е! За единия ми син – той ще бъде в първи клас – избрах училище, за което знам, че се обръща по-голямо внимание на децата, не на родителите. И го видях в деня на отворените врати. Друг въпрос е, че е близо до жилището на родителите ми, защото не знам какво трябва да работи един родител, за да може да си прибере детето в 16:30 ч. Средата в училище е много важна, също и да бъде конкурентна.

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

Разбира се, нашето образование има нужда от реформи. Боя се обаче, че ако се увеличат учителските заплати без необходимото сито, ще стане по-зле.

Какво кратко и лично си пожелавате за по-далечното бъдеще?

Да пътуваме с жена ми с кемпер. Да се науча да карам сърф и да си чета любимите криминални романи, докато си почиваме и пием кава [испанско пенливо вино – б.р.]. Да продължим да посещаваме музикални фестивали, да съм навън с децата си и да играя ръгби.


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

2025-06-30 Kultur Shock

Post Syndicated from Vasil Kolev original https://vasil.ludost.net/blog/?p=3506

Такъв post не съм писал от 10 години.

Снощи в клуб/кино “Кабана” (едно нещо на открито до НДК) Kultur Shock направиха “таен” концерт, т.е. такъв, който обявили от сцената в Пловдив преди два дни (и питали дали има кой да ги закара до София 🙂 ).

Мястото е сравнително малко и се напълни добре, беше доста плътно пред сцената. А самите Kultur Shock свириха както правят по принцип – без паузи между песните, с много желание и весели както винаги. Обещаха и да дойдат за нещо по-голямо догодина, за 30-годишнината си (и горе-долу 20-годишнина от първия си концерт тук), по някое време през април.

Не съм сигурен доколко са ми липсвали концертите, но гледайки ефекта, спокойно мога да кажа, че са по-евтини от антидепресантите 🙂

p.s. имам още 2-3 полунаписани неща, които тряба да пусна в близките дни.

Troubleshooting Elastic Beanstalk Environments with Amazon Q Developer CLI

Post Syndicated from Adarsh Suresh original https://aws.amazon.com/blogs/devops/troubleshooting-elastic-beanstalk-environments-with-amazon-q-developer-cli/

Introduction

Developers working with AWS find AWS Elastic Beanstalk to be an invaluable service which makes it straightforward to deploy and run web applications without worrying about the underlying infrastructure. You simply upload your application code, and Elastic Beanstalk automatically handles the details of capacity provisioning, load balancing, scaling, and monitoring, which allows you to focus on writing code.

With the release of the Amazon Q Developer’s new enhanced CLI agent, we’ve already seen how Q CLI can be used to transform the approach to the software development process.

In addition to software development, developers and DevOps teams may spend most of their time on operational tasks such as deploying and testing their code on multiple environments, including troubleshooting any deployment related failures or application health issues. Q CLI’s new agentic features can be used to significantly simplify this process by helping you identify and resolve operational issues in a more efficient manner.

When troubleshooting Elastic Beanstalk environment issues, Q CLI becomes a go-to companion. When environments show degraded health or deployment failures, developers can use Q CLI to quickly investigate without having to navigate through multiple AWS console pages or parse multiple logs manually.

For instance, when facing deployment failures, you can run q chat to start a new conversation and describe the issue. Q CLI can help analyze instance logs, check environment configurations, and identify misconfigurations in applications. It can pull relevant error messages from Elastic Beanstalk logs and suggest specific fixes based on the error patterns it recognizes.

When dealing with health issues, developers can ask Q CLI to check their environment’s status, resource utilization, and recent events. It can identify if an application is experiencing out of memory problems, connectivity issues, or dependency related failures. Q CLI can also examine application logs to find recurring errors that might be causing health degradation.

What developers appreciate most is how Q CLI connects the dots between different AWS services. If an Elastic Beanstalk environment is having issues because of an underlying Amazon VPC configuration issue or Amazon S3 permission issue, Q CLI can identify these connections and provide holistic solutions.

The time savings are significant – what used to take hours of investigation across multiple AWS console pages now takes minutes with targeted Q CLI queries. This has dramatically improved developers’ ability to maintain healthy environments and quickly resolve issues when they arise.

Below, we’ll take you through some examples of how you can use Q CLI to troubleshoot some of the issues that you may face while managing Elastic Beanstalk environments.

Solution Walkthrough

Prerequisites

If you’d like to follow along on your own machine, please make sure you complete the following prerequisites:

  1. An AWS account with Elastic Beanstalk access
  2. Basic familiarity with Elastic Beanstalk concepts (environments, applications, deployments)
  3. AWS CLI installed and configured with appropriate permissions to access Elastic Beanstalk resources, and collect logs
  4. AWS Q Developer CLI installed and setup
  5. EB CLI installed and setup (optional)
  6. Elastic Beanstalk environments created for troubleshooting

Now let’s dive into troubleshooting specific Elastic Beanstalk issues with Q CLI. All the scenarios below were tested with Amazon Q Developer CLI with a Pro tier subscription as it provides higher request limits, but is not required for the purposes of this demo.

Troubleshooting environment health

Let’s consider an Elastic Beanstalk environment running Node.js 22 AL2023, to which we’re going to deploy a new application version. After deploying a new application version to our Node.js based elastic beanstalk environment, we noticed that its health status changed to a “Warning” state with the following message visible in the environment events:

100% of requests failing with HTTP 5xx errors

Figure 1. EB Dashboard showing the Warning health state, along with the reason for the health status

Figure 1. EB Dashboard showing the Warning health state, along with the reason for the health status

This event message could be a result of a number of issues, including but not limited to Nodejs application failures, reverse proxy configuration issues, resource utilization issues etc.

Let’s use Q CLI to help us investigate further. We’ll initiate a new conversation with the agent by running q chat, and ask the following question:

Why is my beanstalk environment nodejs-app in us-east-1 unhealthy? Check the logs if required, and recommend steps to resolve the issue


Note that we’ve disabled all confirmations for q chat using the /tools trust-all option as we’re using a development environment, but this is generally not recommended as it can lead to unexpected changes.

As you can see, the Q CLI agent is able to use the AWS CLI tool to describe the environment details, its health status and retrieve the tail logs for further analysis. It then parses through the log file to identify the source of the issue, all without requiring additional prompts.

As we can see from the below image, the Q CLI agent was able to parse the logs and identify that the Nodejs application is running on port 3000, but the Nginx proxy is attempting to establish a connection to the application on port 8080 (which is the default forwarding port for Nodejs based elastic beanstalk environments), resulting in HTTP requests failing with a 502 response.

Figure 2. Q CLI solution for port issue

Figure 2. Q CLI solution for port issue

As requested in the prompt, the Q CLI agent also provides multiple ways to implement the recommended solution, along with specific steps or commands for each option. In this specific case, Q CLI correctly advised us to update the elastic beanstalk environment’s configuration to use port 3000 and shared multiple approaches to apply the recommended changes.

Environment creation failures

Here, we’re trying to create a new Elastic Beanstalk environment in a new VPC, but the environment creation fails with the following error message as we can see in the screenshot below:

The EC2 instances failed to communicate with AWS Elastic Beanstalk, either because of configuration problems with the VPC or a failed EC2 instance. Check your VPC configuration and try launching the environment again.

Figure 3. EB events describing the VPC connectivity issue

Figure 3. EB events describing the VPC connectivity issue

Now, let’s ask Q CLI to help us investigate this specific issue. We will issue the following prompt to Q CLI with the environment’s name and region, along with the specific error message that is observed:

The beanstalk environment "Dev-env" in the us-west-2 region failed to launch successfully with the following error:

The EC2 instances failed to communicate with AWS Elastic Beanstalk, either because of configuration problems with the VPC or a failed EC2 instance. Check your VPC configuration and try launching the environment again.

Check the environment configuration and recommend steps to resolve the issue.

Here, Q CLI is able to use the given context to invoke relevant AWS CLI commands to check and verify the elastic beanstalk environment’s configuration, including its underlying resources such as the VPC, subnets, route table, security groups and related resources.

Figure 4. Q CLI identified network configuration issues

Figure 4. Q CLI identified network configuration issues

After retrieving the required information, Q CLI was able to identify the source of the issue. The subnets configured for the elastic beanstalk environment’s EC2 instances do not have outbound internet access, due to which they are unable to communicate with the AWS service endpoints.

As seen in the following screenshot, Q CLI then goes on to recommend multiple solutions to resolve the issue, specifically highlighting the more secure options recommended for production vs other options that are simpler to manage but may not be as secure.

Figure 5. Q CLI solutions for resolving network configuration issues

Figure 5. Q CLI solutions for resolving network configuration issues

We can see how using Q CLI here results in significant time saved during troubleshooting as it quickly and efficiently verifies the relevant underlying resource configurations, hence removing the need for the developer to manually identify and check multiple AWS resource configurations.

Command Execution Failures

In this next scenario, we’re attempting to deploy a python application to an elastic beanstalk environment, using a Python 3.13 based solution stack. We noticed that the deployment fails with the following error message, visible in the environment events:

Command failed on instance. Return code: 1 Output: Engine execution has encountered an error.

Let’s ask Q CLI to help us identify and resolve the issue, with the following prompt:

The deployment to the beanstalk environment "modern-python" in the us-east-1 region failed with the error "Command failed on instance". Check the environment details, and logs if required, and recommend steps to resolve the issu

Here, we see how Q CLI can also help with troubleshooting application or dependencies related issues. By checking the environment events and the tail logs, Q CLI was able to identify the source of the deployment failure due to the “Jinja” package that was specified in the requirements.txt file. It correctly advises us to use a newer version of the “Jinja2” package, which is compatible with Python 3.13.

It also goes on to give us recommendations and steps on testing the changes locally before updating the requirements.txt and creating a new application version to be used for the deployment.

Figure 6. Q CLI identified the reason for command failure and provides solutions

Figure 6. Q CLI identified the reason for command failure and provides solutions

Using EB CLI with Amazon Q Developer CLI

To wrap this up, we will demonstrate the benefits of using Q CLI in your development environment, along with EB CLI.

EB CLI enables developers to deploy applications to Elastic Beanstalk with a simple eb deploy command, handling environment provisioning, artifact packaging, and configuration as code. It integrates with Git for version tracking and supports local testing through eb local run, making it ideal for CI/CD pipelines and iterative development workflows.

In this scenario, we have another application deployment that failed. We will use Q CLI to troubleshoot this issue by initiating a new q chat from the same directory where the application files are located, which also has EB CLI installed and setup using the command eb init.

Figure 7. Q CLI prompt to troubleshoot the python deployment issue

Figure 7. Q CLI prompt to troubleshoot the python deployment issue

As you can see above, we’ve used the following prompt:

The latest deployment to the beanstalk environment "modern-python" in the us-east-1 region failed, and the environment is in a Degraded health state. Check the environment details and logs if required, and recommend steps to resolve the issue.

Q CLI was able to check the relevant logs and identify the following error causing the deployment failure:

ModuleNotFoundError: no module named ‘app’

Because the q chat conversation was initiated from the directory containing the application files, Q CLI is also able to view my application files, and identify the solution to the problem, suggesting that main python file name is application.py, not app.py, and therefore, the Procfile needs to be updated accordingly.

Figure 8. Q CLI identifies the reason for deployment failure, and recommends updating the Procfile

Figure 8. Q CLI identifies the reason for deployment failure, and recommends updating the Procfile

Finally, because we already have EB CLI initiated in this directory with the application files, we can use Q CLI to automatically make the required changes to the Procfile and update the elastic beanstalk environment, all with just the following natural language prompt:

Update the Procfile with the recommended corrections, and deploy to the beanstalk environment

As seen above, Q CLI is able to update the Procfile with the necessary changes and use the eb deploy EB CLI command to deploy the changes to the elastic beanstalk environment.

These examples demonstrate how Amazon Q Developer’s CLI agent supercharges your operational and troubleshooting tasks throughout the entire development process when used in your CLI environment.

Best Practices for Troubleshooting Elastic Beanstalk with Amazon Q Developer CLI

  1. Be specific in your questions: Include environment name, region, and specific symptoms to help Q CLI provide more targeted assistance.
  2. Allow Amazon Q to access logs: When prompted, allow Amazon Q to retrieve and analyze logs for more accurate troubleshooting.
  3. Implement suggested fixes incrementally: If Amazon Q suggests multiple solutions, implement them one at a time to identify which one resolves the issue.
  4. Use caution with the /tools trust-all flag: This flag bypasses confirmation prompts during the troubleshooting. Review the security considerations and use with caution in production environments.

Cleaning up

If you’ve created any Elastic Beanstalk environments, please terminate them if they’re no longer being used to avoid incurring charges for unused AWS resources.

Conclusion

Amazon Q Developer CLI is a powerful tool for troubleshooting Elastic Beanstalk environments, capable of quickly identifying and helping resolve common issues. By leveraging Q CLI’s ability to analyze logs, check environment status, and provide targeted solutions, you can significantly reduce the time and effort required to troubleshoot Elastic Beanstalk problems.

Try Amazon Q Developer CLI today and see how quickly you can resolve Elastic Beanstalk issues. Transform hours of log parsing and console navigation into minutes of focused problem-solving with Amazon Q Developer CLI. Start with a simple q chat command and let AI-powered assistance transform your operational workflows. Install the CLI agent now and experience firsthand how conversational AI can help you maintain healthier Elastic Beanstalk environments with less effort!

About the Authors

Adarsh Suresh

Adarsh is a Senior Cloud Support Engineer working at AWS, specializing in the DevOps domain. He is also a subject matter expert in the AWS Elastic Beanstalk and AWS Codesuite services. With over 6 years of experience in supporting cloud-based applications, he provides architectural and technical guidance to customers, helping them with their migration and optimization journey in the AWS Cloud.

Chandu Utlapalli

Chandu Utlapalli is a Software Development Engineer II at Amazon Web Services (AWS), where he works on the Elastic Beanstalk service helping customers seamlessly deploy and manage their web applications in the cloud. He is passionate about building scalable cloud solutions and has a keen interest in artificial intelligence, particularly in exploring how AI can enhance developer productivity and cloud operations. When not coding, Chandu can be found on the cricket field, where he enjoys playing the sport and organizing friendly matches with fellow enthusiasts.

HeliumOS 10 released

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

The HeliumOS project has announced
the release of HeliumOS 10. It is relatively new image-based (“atomic”)
desktop distribution based on packages from CentOS Stream and
AlmaLinux, with a goal of providing 10 years of
support. HeliumOS 10 uses the KDE Plasma Desktop, Zsh as its
default shell, and Btrfs as its default filesystem.

AT&T email-to-text service migration: AWS solution implementation

Post Syndicated from Vinay Ujjini original https://aws.amazon.com/blogs/messaging-and-targeting/att-email-to-text-service-migration-aws-solution-implementation/

Email-to-text services allow businesses to send short message service (SMS) messages through email, critical for automatic notifications, customer service, and operational workflows. These services process over 1.2 billion messages annually across U.S. carriers, with AT&T supporting 34% of this volume through 2024. AT&T’s deprecation of email-to-text and text-to-email services impacts businesses that rely on these communication channels. This blog post outlines an Amazon Web Services (AWS) solution to maintain service continuity for customers.

AT&T discontinued their email-to-text and text-to-email services in Q2 2025, which will impact about 23,000 business customers. Organizations rely on these communication channels for critical workflows and need a quick solution to maintain business continuity. By the numbers:

  • Average message volume: 50,000 texts per customer monthly
  • Critical use cases: Appointment reminders, security alerts, and system notifications
  • Regulatory requirements mandate message retention and delivery confirmation

Solution architecture

The following diagram shows the architecture for the solution:

Email-to-SMS architecture flow:

  1. An email is sent to [phone-number]@[your-domain.com]
  2. Amazon Simple Email Service (Amazon SES) routes emails to the Mail Manager ingress endpoint
  3. The email is written to an Amazon Simple Storage Service (Amazon S3) bucket
  4. An Amazon S3 event notification triggers an AWS Lambda function
  5. Lambda extracts the email content, formats the phone number, and sends an SMS message using AWS End User Messaging
  6. Message details are stored in DynamoDB for tracking

System components in this solution:

  • Processing: Mail Manager applies rules to incoming emails
  • Storage: Amazon S3 stores emails securely
  • Computation: Lambda processes stored emails
  • Identification: Amazon DynamoDB lookup matches the sender email to phone number
  • Delivery: AWS End User Messaging User Messaging sends an SMS message to the recipient

This architecture, which uses simple notification service (SNS), is suitable for SMS-to-email. While this post and the AWS CloudFormation template primarily focus on email-to-SMS implementation, the SMS-to-email flow works as follows:

SMS-to-email flow:

  1. A user replies to an SMS message
  2. AWS End User Messaging SMS service captures the message and publishes it to an SNS topic
  3. SNS triggers a Lambda function
  4. Lambda formats the message and sends an email through Amazon SES
  5. The email is delivered to the original sender

The solution

The solution was to build an email-to-text service using AWS core services. The architecture routes emails through an Amazon SES Mail Manager ingress endpoint. After receiving an email, Mail Manager processes it using defined business rules and stores it in Amazon S3. This triggers a Lambda function to fetch the phone number associated with the email address and send an SMS to that phone number. When successful, it stores data such as the email address, phone number, and message ID from the sent text message in DynamoDB.

Estimated setup time: 15–20 minutes

Prerequisites

To deploy the solution described in this post, you must have the following in place:

Step 1: Set up Amazon SES Verified Identity

Start by setting up an Amazon SES verified identity.

  1. Sign in to the AWS Management Console.
  2. Navigate to Amazon SES service.
  3. In the navigation pane, go to Configuration and choose Identities (skip this step if you have a verified identity).
  4. If you do not have a verified identity, choose e.
  5. Review this post to learn how to verify an identity. Best practice is to verify a domain identity. This will authenticate your domain and improve deliverability. An email address identity, while simpler, won’t be authenticated through DomainKeys Identified Mail (DKIM), which might decrease deliverability.

Reference: Creating and verifying identities in Amazon SES

  1. Confirm that the status of your domain identity is Verified before proceeding to the next step.

Step 2: Deploy the email-to-SMS CloudFormation template

Use the following steps to create a CloudFormation stack that deploys all the required components for email-to-SMS functionality:

  1. Sign in to your AWS account.
  2. Download the email-to-sms.yaml CloudFormation template file.
  3. Navigate to the CloudFormation console.
  4. Choose Create stack and select With new resources (standard).
  5. Prerequisite: Prepare template is selected as Choose an existing template.
  6. Under Specify template, choose Upload a template file and  upload the email-to-sms.yaml file you downloaded earlier. Choose Next.
  7. For Stack name, enter Email-To-SMS-Stack.
  8. Configure the following parameters:
    • e: Enter the SES verified domain name or a verified email address.
    • OriginationPhoneNumberId: Enter the AWS End User Messaging SMS phone number ID that you plan to use to send SMS messages.
      • Go to AWS End User Messaging, under Phone Numbers, select your number and find Phone number ID.
    • DestinationPhoneNumber: Enter the destination phone number to receive SMS messages.
  9. Choose Next.
  10. (Optional) Add tags to help identify and organize your AWS resources.
  11. Select Acknowledge All checkbox and choose Next.
  12. Review the configuration and choose Submit.
  13. Wait for the stack creation to complete. You can monitor the progress in the CloudFormation console

Step 3: Verify deployed stack services

After successful CloudFormation template deployment, verify the following resources and configurations:

  1. A DynamoDB table is created with the name <stackname>-email-to-sms-db
  2. A Lambda function is created with the name <stackname>-<accountnumber>-<awsregion>-process-email-to-sms
  3. The Lambda function has the following AWS Identity and Access Management (IAM)role policies attached:
    1. s3:GetObject
    2. dynamodb:PutItem
    3. sms-voice:SendTextMessage
    4. kms:Decrypt for Lambda encryption keys.
    5. IAM permissions for dead letter queue (if configured).
  4. S3 buckets are created:
    1. Main bucket: <stackname>-<accountnumber>-<awsregion>-emailtosms-storage
    2. Logging bucket: <stackname>-<accountnumber>-<awsregion>-emailtosms-logging
  5. In Amazon SES:
    1. A receipt rule set is created named <stackname>-EmailToSms-Rule-Set
    2. The receipt rule is configured to:
      1. Write messages in the S3 bucket.
      2. Invoke the Lambda function.
    3. Traffic policy is created named <stackname>-EmailToSms-Traffic-Policy
    4. The Rule set and traffic policy are configured in the ingress point <stackname>-EmailToSms-Ingress-Point
      • CAUTION: Testing this solution requires access to modify mail exchange (MX) DNS records for your domain.
      • Potential impact: Changes to MX records can interrupt email delivery to your primary domain.
      • Best practice: We strongly recommend creating a dedicated subdomain (such as testing.example.com) rather than using your primary domain (example.com) for testing purposes. This approach prevents disruption to your organization’s regular email service

Additional verifications:

  • Verify that the S3 bucket policies are correctly set
  • Verify that S3 bucket logging is on and working
  • Check the Lambda function’s environment variables
  • Monitor Amazon CloudWatch logs for any errors

Step 4: Test the email-to-SMS flow

  1. Send an email to mobile-number@verified-domain
  2. You will receive an SMS from the source number (AWS End User Messaging phone number) containing:
    • Subject: <EmailSubject>
    • Content: First 160 characters of your email body
  3. SMS character Limitations:
    1. AWS End User Messaging’s SMS messaging has character limits based on content type
    2. By default, the solution uses first 160 characters
    3. You can modify this limit by updating the Lambda function code
  4. Troubleshooting:
    1. If SMS or email responses aren’t received
    2. Check Lambda function logs in CloudWatch
    3. Review any error messages or execution issues
    4. Verify all permissions and configurations are correct

Make sure that your domain and phone numbers are properly verified before testing. If you don’t receive the email or SMS, check the Lambda CloudWatch logs for troubleshooting

Clean up

To avoid ongoing charges and remove all deployed resources, perform the following cleanup steps:

  1. Remove the CloudFormation stack:
    1. Navigate to the CloudFormation console
    2. Delete the Email-To-SMS stack
    3. Wait for complete stack deletion confirmation
  2. Amazon SES cleanup:
    1. Navigate to the Amazon SES console
    2. Remove any verified domains
    3. Delete verified email addresses
    4. Confirm all SES resources are removed
  3. AWS End User Messaging:
    1. Navigate to the AWS End User Messaging console
    2. Release all provisioned phone numbers
    3. Verify that no active phone numbers remain
  4. Additional verification:
    1. Confirm that S3 buckets are deleted
    2. Verify that Lambda functions are removed
    3. Check that DynamoDB tables are deleted
    4. Make sure that all associated IAM roles and policies are removed

Verify complete resource removal to prevent unexpected charges.

Additional recommendations

  • Security best practices:
    • Set up S3 bucket logging to track access and changes
    • Make sure that S3 buckets have:
      • No public read/write access
      • Enable Encryption at rest
      • Apply appropriate bucket policies
    • Implement least privilege access for IAM roles
    • Use KMS encryption for sensitive data
    • Add CloudWatch logging for monitoring
    • Protect against SMS pumping:
      • Enable AWS End User Messaging protect configuration: Enable filter mode to automatically block suspicious messages
      • Block countries that you don’t do business in to prevent unnecessary exposure
      • Add CAPTCHA to web forms that trigger SMS to prevent bot attacks
      • Set up SMS volume alerts to quickly detect unusual activity
      • Create separate configurations for different message types (password resets compared to marketing)
  • Cost and operational considerations:

Results

This implementation delivers three key improvements:

  1. This achieves 99.99% uptime through AWS managed services.
  2. The pay-per-use model reduces operating costs by 45% compared to maintaining dedicated infrastructure. Customers save an average of $2.30 per thousand messages.
  3. End-to-end encryption and AWS security protocols maintain GDPR and CCPA compliance while protecting customer data.

Conclusion

This AWS-based solution addresses the immediate need and provides a foundation for future enhancements in cross-platform messaging. Whether you’re migrating from AT&T’s email-to-text service or building a new notification system, this AWS-based solution provides a scalable foundation for your messaging needs.


About the author

[$] A proxy-execution baby step

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

Priority inversion comes about when a low-priority task holds a resource
that is also needed by a high-priority task, preventing the latter from
running. This problem is made much worse if the low-priority task is
unable to gain access to the CPU and, as a result, cannot complete its work
and free the resources it holds. Proxy execution is a potential solution
to this problem, but it is a complex solution that has been under
development for several years; LWN first looked
at it
in 2020. The 6.17 kernel is likely to contain an important step
forward for this long-running project.

The collective thoughts of the interwebz