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.

Micron 9650 PCIe Gen6 SSD Announced with Micron 6600 ION 122TB and 7650 SSDs

Post Syndicated from Eric Smith original https://www.servethehome.com/micron-9650-pcie-gen6-ssd-announced-with-micron-6600-ion-122tb-and-7650-ssds/

The Micron 9650 PCIe Gen6 SSD is capable of 28GB/s sequential reads, 5.5M random 4K read IOPS and is just one of three models being announced

The post Micron 9650 PCIe Gen6 SSD Announced with Micron 6600 ION 122TB and 7650 SSDs appeared first on ServeTheHome.

Security updates for Tuesday

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

Security updates have been issued by AlmaLinux (freerdp, git-lfs, golang-github-openprinting-ipp-usb, grafana, grafana-pcp, icu, ipa, iputils, krb5, libvpx, nodejs:22, osbuild-composer, perl, python-tornado, qt6-qtbase, sqlite, unbound, valkey, wireshark, and yggdrasil), Debian (libfastjson and php8.2), Fedora (glibc), Oracle (firefox, icu, perl, and unbound), Red Hat (389-ds-base, glib2, icu, libtpms, redis:6, redis:7, and yelp), SUSE (boost, forgejo-longterm, java-11-openj9, java-17-openj9, java-1_8_0-openj9, kernel, nginx, and salt), and Ubuntu (linux-xilinx-zynqmp, openjdk-8, openjdk-lts, poppler, and sqlite3).

Leveling Up Security: New Enterprise Features in Backblaze B2 Platform Update

Post Syndicated from Kari Rivas original https://www.backblaze.com/blog/leveling-up-security-new-enterprise-features-in-backblaze-b2-platform-update/

A decorative header showing a laptop with several icons, including files, a warning signal, and others.

Security teams are under constant pressure to stay ahead of increasingly sophisticated threats while enabling fast, reliable access to data across the business. Whether you’re protecting media assets, safeguarding backups, or supporting a global development workflow, your cloud storage needs to do more than store data—it needs to actively support your security posture.

To make that easier, we’ve launched a new set of enterprise-grade security features for Backblaze B2 Cloud Storage. These updates are designed to help organizations detect unusual activity faster, manage access more precisely, and strengthen visibility across their storage environments—all without added complexity or hidden costs.

These new tools build on the security foundations you already count on: Object Lock for ransomware protection, SOC-2 compliance, encryption, 3x free egress for disaster recovery, and more.

Here’s a look at what’s new and how it helps.

Smarter protection with Anomaly Alerts (Now in private preview)

Anomaly Alerts are your new AI-powered watchdog. This feature analyzes usage patterns in your B2 Cloud Storage buckets to detect potential red flags—like spikes in downloads or uploads beyond the baseline—that could signal a breach or exfiltration attempt.

If your team wants early access to this feature, drop us a line at [email protected] to join the private preview.

New enterprise web console & role-based access controls (Now in private preview)

Managing cloud storage across large teams just got a whole lot easier. We introduced a brand-new enterprise web console built for scalability and control. Combined with robust role-based access controls (RBAC), IT and security teams can now better align with zero-trust policies by enforcing the principle of least privilege across their organizations.

This console simplifies storage administration at scale—whether you’re managing terabytes or petabytes. 

Get an expert introduction to the enterprise web console.

If you’re a Backblaze customer with a committed contract, reach out to your Customer Success Manager (CSM) to see if you’re eligible to participate. Not sure who your CSM is? Email [email protected] for help.

Full visibility with Bucket Access Logs (Now generally available)

Need to know who touched what and when? Bucket Access Logs are now generally available, providing a detailed audit trail of every action in your B2 buckets—uploads, downloads, deletions, and more.

Learn more about querying Bucket Access Logs in this webinar.

They’re fully S3-compatible and configurable through both the Backblaze B2 web UI and API, supporting:

  • Security audits
  • Usage tracking
  • Forensics and threat investigation

Real-time Event Notifications

Time matters when it comes to spotting and stopping threats. With Event Notifications, you can get real-time alerts on changes to your bucket contents—think object creations, deletions, or modifications—so your team can jump into action immediately.

This is especially valuable for compliance teams, incident response workflows, or any operations team who wants tighter control over their cloud perimeter.

Watch our hands-on Event Notifications demo to learn more about how to streamline cloud storage management.

Multi-Bucket and Scalable Application Keys

Security and scalability should go hand in hand. With Multi-Bucket Application Keys, you can now create access keys that cover specific groups of buckets, giving you more flexibility without going full wildcard. This enhancement provides more granular control over bucket access, contributing to a reduced attack surface.

And, with Scalable Application Keys, you can generate up to 10,000 short-lived keys per minute. This capability enhances security by limiting the exposure window of individual keys, thus reducing the attack surface for endpoint-generated content and high-volume data operations.

Custom Upload Timestamps

Custom Upload Timestamps allow you to specify when an object was originally created or uploaded. This is a critical feature for:

  • Regulatory compliance
  • Accurate version tracking
  • Legal and audit requirements

Built for a Secure, Open Cloud

Security isn’t a one-time add-on, it’s an ongoing promise. As enterprises scale and integrate cloud storage into more parts of their workflow—from backup and archiving to AI pipelines—they need solutions that support open cloud strategies without compromising their data.

This update is another step forward in our mission to provide developers, IT teams, and enterprises with cloud storage that’s secure by design, simple to use, and affordable at scale. Ready to get started with Backblaze B2? Contact our Sales team today. 

The post Leveling Up Security: New Enterprise Features in Backblaze B2 Platform Update appeared first on Backblaze Blog | Cloud Storage & Cloud Backup

How to rapidly design and adapt quality learning experiences for your students

Post Syndicated from Sean Sayers original https://www.raspberrypi.org/blog/how-to-rapidly-design-and-adapt-quality-learning-experiences-for-your-students/

At this time of year, many educators are considering ways to update their content ahead of the new school term. Whether you’re a teaching assistant or head of department, it’s important to ensure that the content you’re updating — or even designing anew — is relevant and high quality, and meet learners’ needs. In today’s blog we’re highlighting ‘ABC learning design’, and how it can be used to rapidly design and improve learning experiences.

Educators in the classroom

We also share our new ABC-focused Pedagogy Quick Read, which you can download for free to: 

  • Find practical tips on how to use the ABC process and related approaches with your learners
  • Read a summary of the research behind the framework

What is ABC learning design?

ABC learning design is a rapid, hands-on approach to design and develop blended learning experiences. The framework has traditionally been used at undergrad level, and had a lot of success when used in response to the global pandemic in 2020, when learning experiences had to quickly transition from being delivered in-person to being accessible remotely. 

The model is centred around six learning types:

  • Acquisition: Learning by reading, listening, or watching
  • Collaboration: Learning by working with others towards a common goal, involving co-creation and shared outputs
  • Discussion: Learning through dialogue, sharing ideas, and responding to others
  • Investigation: Learning by exploring, comparing, and evaluating new information or experiences
  • Practice: Learning by applying knowledge and skills, receiving feedback, and refining understanding
  • Production: Learning by expressing understanding or creating something to demonstrate knowledge and skills

Before continuing, it’s important to distinguish between ‘learning types’ and the widely discredited concept of ‘learning styles’. Whilst learning styles refer to fixed characteristics or preferences of learners, learning types refer to different kinds of learning activities and pedagogical approaches that can be designed into a course.

Copy of the ABC learning design Pedagogy Quick Read

These learning types are representative simplifications of pre-existing learning theories. For each learning type, educators can use different activities to deliver that type of learning. The activities will depend on your context and what’s right and applicable for your students.

How can I apply ABC learning design?

ABC learning design is often done in a team-based workshop setting (you can do it by yourself as well). Firstly, you analyse your existing content. Consider the goal of your current learning sequence, and assess how your learners are going to reach that goal with the different learning types.

Educators in the classroom

By analysing existing content and activities, you can then identify what’s missing from your sequence. This allows you to build on existing gaps and consider different types of activities you could implement. You then create a set of learning cards, which help you to storyboard and plan your new learning sequence.

Learning cards are typically postcard-sized and colour-coded to one of the six learning types. Colour coding helps you to tell the cards apart, and to easily see which learning types are or aren’t included in your sequence. 

Each card has the name and a short description of the learning type on the front, with examples of associated digital or in-person learning activities on the back. The learning cards:

  • Make the design process more engaging
  • Help with decision making
  • Support discussions if you’re working in a team
ABC Learning design cards and their application to an ABC storyboard plan

Adapting ABC learning design for your context

ABC design can be contextualised to your classroom, practices, and school, and to the technologies you have available. For example, on the back of each learning card you could include a set of activities that have been tried and tested in, or approved by, your school. Alternatively, you could link to other frameworks or teaching approaches that work for you and your students. 

Learning cards can also be used to collect other insights about teaching and learning within your context, and used as reminders of pedagogies to implement, as well as practical concerns. They can also help you to consider if there are opportunities for cross-curricular links within your learning sequence.

A shared toolkit you can reuse

In a computing department, ABC learning cards can become a shared resource that give fellow educators an understanding of what’s possible. The cards can be used again and again to help plan future learning experiences. 

Educators sharing ideas on a whiteboard

By running an ABC workshop and creating these learning cards, you and your team will put together a contextualised learning sequence toolkit specific to your school and learners.

Integration with universal design for learning to improve accessibility

In our blog How to build young people’s agency through accessible learning, we explored the universal design for learning (UDL) framework. UDL aims to support educators to reduce barriers for learners. It helps educators to create learning environments that are accessible and effective for all learners by providing multiple means of engagement, representation, and action and expression.

Gormley et al. (2022) described an initiative to integrate UDL within ABC learning design. They developed adapted ABC learning cards where the reverse side included specific UDL prompts, in addition to the usual example activities. For example:

  • An acquisition card could include the prompt “Will materials be available in a variety of formats (text, audio, and visual)? Will videos be captioned and transcribed?”
  • A production card could include the prompt “Are there multiple ways for learners to demonstrate their understanding? Can they choose between writing, presenting, or creating?”

By including these UDL considerations directly on the ABC cards, the design team ensured that accessibility and inclusivity were central to learning design conversations.

Adding UDL prompts to your learning cards is a fantastic way to help you design accessible learning sequences.

Applying ABC learning design: Some ideas for computing educators

In 2020, during the pandemic, the Computing at School (CAS) Research Working Group worked with classroom teachers to apply ABC learning design in their own contexts. 

Following some training, teachers analysed their existing classroom activities and then developed a range of suitable alternatives for remote learning, categorising them into low-tech, mid-tech, and high-tech options. 
The different activity options were then added to their own sets of ABC learning cards and used to help adapt lessons for remote teaching. You can read more about the project and view example cards on the CAS website.

The benefits of using ABC learning design

Potential benefits for educators:

  • Enables more rapid creation and delivery of high-quality content
  • Allows you to audit your current learning sequence and identify gaps that can be improved upon
  • Provides a shared, contextualised toolkit for curriculum design

Potential benefits for students:

  • Tailored, engaging, high-quality learning experiences

Want to hear more about ABC learning design?

If you’d like to find out more about ABC learning design, you can download our Quick Read for free.

You can also listen to a thought-provoking discussion on the topic between James Robinson, Carrie Anne Philbin, Jane Waite, and Matthew Wimpenny-Smith in season 1, episode 6 of the Hello World podcast: Could curriculum design be as simple as ABC?

The post How to rapidly design and adapt quality learning experiences for your students appeared first on Raspberry Pi Foundation.

Understanding HTTP Template Authorization in AWS

Post Syndicated from evgenii.gordymov original https://blog.zabbix.com/understanding-http-template-authorization-in-aws/30856/

Authorization in Amazon Web Services (AWS) determines what actions a user, service, or system can perform on resources. It answers the question: “Does this identity have permission to do this action on that resource?”

In AWS, authorization is primarily handled through:

  • IAM (Identity and Access Management) policies
  • Resource-based policies (like S3 bucket policies)
  • Session-based permissions (like STS AssumeRole)

What authorization types are available in Zabbix AWS templates?

  • Access key authorization
  • Role-based authorization
  • Assume role authorization

Let’s look briefly at each of them.

Before using the template, you need to create an IAM policy that grants the necessary permissions for the AWS services the template will interact with.

This policy defines what actions are allowed, on which resources, and optionally, under which conditions. Once created, the policy should be attached to the IAM role or user that will run the template.

IAM policy for Zabbix

Add the following required permissions to your Zabbix IAM policy in order to collect metrics. The policy can change when new metrics and services are added in Zabbix templates.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "cloudwatch:DescribeAlarms",
                "cloudwatch:GetMetricData",
                "ec2:DescribeInstances",
                "ec2:DescribeVolumes",
                "ec2:DescribeRegions",
                "rds:DescribeEvents",
                "rds:DescribeDBInstances",
                "ecs:DescribeClusters",
                "ecs:ListServices",
                "ecs:ListTasks",
                "ecs:ListClusters",
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation",
                "s3:GetMetricsConfiguration",
                "elasticloadbalancing:DescribeLoadBalancers",
                "elasticloadbalancing:DescribeTargetGroups",
                "ec2:DescribeSecurityGroups",
                "lambda:ListFunctions"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

To create and attach the policy:

  • Go to IAM → Policies → Create policy
  • Choose JSON and paste your policy
  • Review and create the policy

Access key authorization

1. Attach the required policy to the IAM user

  • Go to IAM → Users → Select a user → Permissions tab
  • Click Attach policies
  • Select the policy you created before (IAM Policy for Zabbix)
  • Click Attach policy

2. Get your access key and secret access key

In the AWS console:

  • Go to IAM → Users → Select a user → Security credentials tab

  • Click Create access key

  • Copy:

    • Access key ID
    • Secret access key

⚠ Never expose your keys publicly!

3. Configure AWS CLI

Open your terminal and run:

configure aws cli

aws configure --profile zabbix_user

You’ll be prompted to enter:

AWS Access Key ID [None]: AKIAXXXXXXXXXXXEXAMPLE
AWS Secret Access Key [None]: asdkjhUSADWDskhjdasd/EXAMPLEKEY
Default region name [None]: eu-central-1
Default output format [None]: json

4. Test it

List all S3 buckets:

aws s3 ls --profile zabbix_user

Get EC2 tags:

Use region where you create instance

aws ec2 describe-instances --region eu-central-1 --query 'Reservations[*].Instances[*].Tags' --profile zabbix_user

If you get this error…

An error occurred (AccessDenied) when calling the DescribeInstances operation: User: arn:aws:iam::123456789010:user/zabbix_user is not authorized to perform: ec2:DescribeInstances on resource: arn:aws:ec2:eu-central-1:123456789010:instance/*

…you need to check the following permission to the role you are using (IAM Policy for Zabbix).

5. Set the following macros in Zabbix:

  • {$AWS.AUTH_TYPE} – set to access_key
  • {$AWS.ACCESS.KEY.ID} – set to your access key ID
  • {$AWS.SECRET.ACCESS.KEY} – set to your secret access key

Security tips

  • Never hardcode access keys in scripts or code.
  • Store them in ~/.aws/credentials, which is protected by file system permissions.
  • Apply least privilege with IAM policies.

Role-based authorization

1. Add the appropriate permission to the role you are using:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::{Account}:role/{RoleNameWithPath}"
        },
        {
            "Effect": "Allow",
            "Action": [
                "theSameAsIAMPolicyForZabbix",
            ],
            "Resource": "*"
        }
    ]
}

2. Add a principal to the trust relationships of the role you are using:

  • Go to IAM → Roles → Select a role → Trust relationships tab
  • Click Edit trust relationship
  • Add a principal to the trust relationships of the role you are using:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "ec2.amazonaws.com"
                ]
            },
            "Action": [
                "sts:AssumeRole"
            ]
        }
    ]
}

⚠ Using role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.

3. Attach the role to the instance

  • Go to EC2 → Instances → Select an instance → Actions → Security → Modify IAM role
  • Select the role you created before which has the policy attached (IAM Policy for Zabbix)
  • Click Apply

4. Test it

Connect to ES2 ssh terminal in instance and run:

  • Go to EC2 → Instances → Select an instance → Connect → SSH client

Example:

ssh -i "zabbix_user.pem" [email protected]

Get caller identity:

aws sts get-caller-identity

Get token for metadata service:

export TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")

Get IAM role from metadata service:

curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials

Get IAM role credentials from metadata service using role name from instance metadata service (see Get IAM role from metadata service):

curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/<<--role_name-->>

6. Set the following macros in Zabbix:

  • {$AWS.AUTH_TYPE} – set to role_base
  • {$AWS.ASSUME.ROLE.ARN} – set to your role ARN

Assume role authorization

This method has two options:

  • Using access key authorization for getting creds for assume role
  • Using role-based authorization for getting creds for assume role

Lets look first at using access key authorization for getting creds for assume role.

Using access key authorization for getting creds for assume role

1. Create access key for user (see Access Key Authorization)

2. Add the appropriate permission in role you are using:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::{Account}:user/{UserName}"
        },
        {
            "Effect": "Allow",
            "Action": [
                "theSameAsIAMPolicyForZabbix",
            ],
            "Resource": "*"
        }
    ]
}

3. Add principal to the trust relationships of the role you are using:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{Account}:user/{UserName}"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}


4. Test It

Get assume role credentials using access key authorization

aws sts assume-role --role-arn arn:aws:iam::123456789010:role/Zabbix_Role --role-session-name test-session --profile zabbix_user

An example of response:

{
    "Credentials": {
        "AccessKeyId": "ASDFGHJKLEXAMPLE",
        "SecretAccessKey": "QowihdwoieuoinflksnliooEXAMPLE",
        "Expiration": "2029-09-09T22:22:22+00:00"
    },
    "AssumedRoleUser": {
        "AssumedRoleId": "ASDFGHJKLEXAMPLE:test-session",
        "Arn": "arn:aws:sts::123456789010:assumed-role/Zabbix_Role/test-session"
    }
}

5. Set the following macros in Zabbix:

  • {$AWS.AUTH_TYPE} – set to assume_role
  • {$AWS.ACCESS.KEY.ID} – set to your access key ID
  • {$AWS.SECRET.ACCESS.KEY} – set to your secret access key
  • {$AWS.ASSUME.ROLE.ARN} – set to your role ARN
  • {$AWS.ASSUME.ROLE.AUTH.METADATA} – set to false

Getting credentials for assume role using cross-account role (best practice)

1. Create role (see Role-Based Authorization)

2. Add the appropriate permission to the role you are using:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::{Account}:role/{RoleNameWithPath}"
        },
        {
            "Effect": "Allow",
            "Action": [
                "theSameAsIAMPolicyForZabbix",
            ],
            "Resource": "*"
        }
    ]
}

3. Add the principal to the trust relationships of the role you are using:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{Account}:role/{RoleNameWithPath}"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

⚠ Using assume role with role-based authorization is only possible when you use a Zabbix server or proxy inside AWS.

4. Test it

Connect to ES2 ssh terminal in the instance and run:

  • Go to EC2 → Instances → Select an instance → Connect → SSH client

Get assume role credentials using role name from instance metadata service:

aws sts assume-role --role-arn arn:aws:iam::123456789010:role/NewRole --role-session-name test-session

An example of response:

{
    "Credentials": {
        "AccessKeyId": "ACCESS_KEY_ID",
        "SecretAccessKey": "SECRET_ACCESS_KEY",
        "SessionToken": "SESSION_TOKEN",
        "Expiration": "EXPIRATION_DATE"
    },
    "AssumedRoleUser": {
        "AssumedRoleId": "ASSUMED_ROLE_ID",
        "Arn": "arn:aws:sts::ACCOUNT_ID:assumed-role/ROLE_NAME/SESSION_NAME"
    }
}

5. Set the following macros in Zabbix:

  • {$AWS.AUTH_TYPE} – set to assume_role
  • {$AWS.ASSUME.ROLE.ARN} – set to your role ARN
  • {$AWS.ASSUME.ROLE.AUTH.METADATA} – set to true

Well done! You have successfully configured AWS authorization in Zabbix AWS templates.

Now you can use the template to collect metrics from AWS.

The post Understanding HTTP Template Authorization in AWS appeared first on Zabbix Blog.

The collective thoughts of the interwebz