Съвременно градоустройство – два добри примера от Балканите

Post Syndicated from Георги Велев original https://toest.bg/suvremenno-gradoustroystvo-dva-dobri-primera-ot-balkanite/

Преди няколко месеца разказах за начина на изработване на изменението на Общия устройствен план на Пловдив – документа, който определя развитието на града през следващите 15–20 години и как се преценява дали да се поемат нови многомилионни заеми. Подобни стратегически решения следва да са продукт на ясна визия за бъдещето, широки обществени обсъждания и отчитане на интересите на различни групи хора. Това обаче почти никога не става. А за сметка на това се реализират лесни харчове, за които има съмнения, че облагодетелстват приближени на властта.

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

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

Често исканията на граждани и неправителствени организации за промяна на цялостната концепция на развитие на града е посрещана с укорително-подигравателни забележки, че Пловдив не е Амстердам, Париж или Копенхаген и трябва да се съобразяваме с ограничения бюджет и начина на мислене в България. В същото време градове, които не се намират в Западна или Северна Европа, а на Балканите, демонстрират как с адекватно планиране, провеждане на широк обществен дебат и разумно използване на наличните финанси могат да постигнат качествена промяна за сравнително кратък период от време.

Скопие: от спорното „антично“ наследство към зелен град на бъдещето

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

 

 

След падането от власт на ВМРО–ДПМНЕ, предизвикано от масови улични протести, от 15 октомври 2017 г. до 1 ноември т.г. Скопие се управлява от Петре Шилегов, политик от Социалдемократическия съюз на Македония (СДСМ). Администрацията решава, че ще се дистанцира от опитите за създаване на несъществуваща история и ще насочи усилията си към утвърждаване на зелен и устойчив град с чист въздух, енергийно ефективни сгради, защитени реки и множество паркови площи. За осигуряване на част от необходимото финансиране се сключва споразумение с Европейската банка за възстановяване и развитие (ЕБВР) и се приема многогодишен план за действие с конкретни цели, времеви график и оценка на въздействието на реформите. Шилегов и неговият екип осъзнават, че Скопие има нужда от дълбока промяна, и започват изпълнение на редица мерки, включително осигуряване на модерен градски транспорт.

През 2017 г. качеството на публичния транспорт наподобява това в Пловдив в момента – автобусите се движат на дизел и замърсяват въздуха, а електронна система за продажба на билети не съществува. Първият заем от ЕБВР се сключва през есента на 2018 г., възлиза на 10 млн. евро и с него се закупуват 35 автобуса, които ползват газ и отговарят на стандарта Евро 6. Инвестира се и в изграждането на необходимата ИТ инфраструктура за електронно таксуване.

След успешното изпълнение на този проект в края на 2020 г. Община Скопие подписва ново споразумение с банката, въз основа на което 70 млн. евро ще бъдат насочени към цялостно обновяване на обществения транспорт. Предвижда се обособяване на коридори за бързо придвижване на автобуси по централните градски булеварди (Bus Rapid Transit), първите по рода си на Западните Балкани. Също така ще се внедрят допълнителни функционалности в електронната система на автобусите, ще се изгради ново депо и ще се закупят хибридни превозни средства, т.нар. трамваи автобуси. Заемите от ЕБВР са с по-дълъг гратисен период и с по-ниска лихва, отколкото стандартните банкови продукти.

 

Скопие © Andrew Milligan / Flickr

Едновременно с модернизацията на обществения транспорт Шилегов залага на ускорено изграждане на велоалеи, като дължината им достига 100 км през 2021 г. Стесняването на автомобилните ленти по главни градски булеварди като „Св. св. Кирил и Методий“ и „Четвърти юли“ позволява да се обособят достатъчно широки пространства за колоездачи. Заедно с предоставените от Общината безвъзмездно по 3000 денара (равняващи се на 100 лв.) на човек за купуване на велосипед, жителите на Скопие получават още един стимул да ползват най-безопасното превозно средство при продължаващата пандемия от COVID-19.

Наследството на Петре Шилегов не е еднозначно – на местните избори миналия месец той загуби от кандидатката на ВМРО–ДПМНЕ Данела Арсовска, а обещаната цялостна промяна се сблъсква с познати проблеми, като недостатъчен капацитет на общинските служители, влиятелни строителни лобита и наследени тежки казуси, които не могат да се решат в рамките на един мандат.

В същото време в Пловдив идеята за създаване на общинско предприятие, което да кандидатства за безвъзмездно финансиране от Европейския съюз за закупуване на електрически автобуси, буксува вече две години. Нужната сума от 21 млн. лв. за първия етап на проекта не е осигурена, а вместо това Здравко Димитров предпочете да бъде взет заем за изпълнение на доказали неефективността си мерки – като разширение на улици и строеж на кръстовище на две нива на Водната палата. Скопие и Пловдив имат сходно по размер население и бюджет между 75 и 100 млн. евро годишно, но въпреки че българският град от 2007 г. насам може да разчита и на фондовете на ЕС, множество възможности за ускорена дигитализация и развитие на транспортната мрежа бяха пропилени.

Вдъхновяващият пример на едно населено място в Трансилвания

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

Между 1992 и 2004 г. Клуж-Напока се управлява от националиста Георге Фунар, който го води към икономически застой, докато изгражда политиката си върху противоречиви нападки към унгарското и еврейското малцинство. От 2004 г. насам Емил Бок печели общо три мандата и коренно променя урбанистичната визия на града, поставяйки акцент върху дигиталните решения с мисъл за пешеходците и велосипедистите.

В рамките на три години (между 2017 и 2020 г.) 30 стари дизелови автобуса от градския транспорт се заменят с 41 електрически благодарение на 12,6 млн. евро безвъзмездна помощ от Европейския фонд за регионално развитие и 5 млн. евро национално и частно съфинансиране. Техническият университет в Клуж-Напока изработва девет сценария и избира вариант, който води до максимално намаляване на времето за пътуване и увеличаване на средната скорост на автобусите. След изпълнението на проекта пътниците в градския транспорт са с 35% повече и значително се намалява нивото на отделяния азотен диоксид и прахови частици – ясен белег за успех. Към момента половината от автобусите в Клуж-Напока са електрически, като целта на градската управа е да постигне 100% екологичен транспорт до 2026 г.

Цялостната градска трансформация е изградена върху няколко елемента – приемане и изпълнение на интегриран план за развитие, влагане на еднаква грижа за инфраструктурата в центъра и в крайните квартали и ускорена модернизация на публичните системи. „Молнар Пиариу“ се брандира като първата „умна“ улица в Румъния след поставянето на 30 зарядни станции за електрически коли и велосипеди, система за капково напояване със сензори, пейки с USB зарядни станции за мобилни устройства и енергийно ефективно осветление. В допълнение се премахват бордюрите и се увеличава пешеходната част, която става два пъти по-голяма от лентите за автомобили.

В края на 2020 г. е обявена обществена поръчка за преобразяване на централния площад „Маращи“ и заобикалящия го жилищен квартал, като отново целта е паркингите да се преместят под земята и да се заменят с повече дървета и зони за пешеходци. Футуристично звучат плановете за придобиване на до 12 автономно задвижвани автобуса, които да служат за превоз на пътници в централните части, но Общината желае да последва примера на Париж, Лион и Виена.






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

От кого зависи бъдещето на градовете?

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

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

Заглавна снимка: Улица „Молнар Пиариу“ в Клуж-Напока. Източник: Facebook профилът на кмета Емил Бок

Източник

По буквите: Дън, Борисов, Цонев

Post Syndicated from Зорница Христова original https://toest.bg/po-bukvite-donne-borisov-tsonev/

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

„За кого бие камбаната“ от Джон Дън

превод от английски Александър Шурбанов, София: изд. „Лист“, 2021

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

Аз наблюдавам лекаря със същото прилежание, с което той наблюдава болестта. Виждам, че се страхува – и аз се страхувам с него; настигам го, изпреварвам го в неговия страх и забързвам […] Страхът може да наподоби всяко заболяване на душата. Той може да заприлича на любов, любов към имането, но е само страх, ревнив и подозрителен страх от загубата. Може да наподоби доблест, като презира и подценява опасността, а е просто страх, който надценява хорското мнение и оценка, и страх да не ги изгуби.

Писано е през 1623 г. Дън е от големите имена в английската, а и в световната литература; почти връстник на Шекспир, но вече от друга епоха; католик по произход (от рода на Томас Мор), в светската си младост автор на любовна поезия със сложна и динамична образност, спечелила му възхищението на Т. С. Елиът, а и на немалко съвременни читатели. След като приема англиканството, става проповедник в най-голямата лондонска катедрала – „Свети Павел“. Именно по това време пише „богопосвещенията“. Ето как.

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

Каква утеха може да предложи Дън на съвременния читател? На онзи, който не вярва, или на онзи, чиято вяра е угнетена от скептицизма на другите, от безмилостния им намек, че посяга към вярата като към опиум, с който да приспи болката си? (Чеслав Милош ще каже, че истинският опиум е безверието, защото то носи идеята за безнаказаност.) Каква утеха може да даде на циника, който мечтае да не бъде циник и да не вярва, че близостта с любимите му хора е обречена на гибел? Каква утеха може да даде на онзи, който се чувства като затворен в себе си остров – остров, потъващ в морето?

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

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

Цялото човечество е от един автор и е един том; когато умре един човек, от книгата не се откъсва глава, а тя се превежда на по-добър език; и всяка глава трябва да бъде така преведена; Бог наема различни преводачи; някои части се превеждат от старост, някои от болест, някои от война, някои от правосъдието, но ръката на Бог е във всеки превод и пак неговата ръка ще преподвърже в едно всички наши пръснати листове за онази библиотека, в която всички книги ще легнат отворени едни към други.

Прочетете непременно послеслова на проф. Шурбанов към великолепния му превод на „богопосвещенията“, а също допълнете с „Анаграмата“ – преведените от Кристин Димитрова стихотворения на Дън, публикувани през 1999 г. от издателство „Обсидиан“. Бих приканила да обърнете специално внимание на „Свещените сонети“. И да очаквате следващата седмица в „Тоест“ интервю с проф. Шурбанов за смисъла и контекста на тази книга.

„Откаченият вагон“ от Георги Борисов

Велико Търново: изд. „Фабер“, 2021

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

Самопонятното в събраните спомени и свидетелства за делото на Георги Борисов е „другата“ руска и съветска литература, сериозният, но и страстен интерес към писателите дисиденти, нещо повече – споделеният глад на цяло литературно поколение за… истина. За смелост. Това поколение не само ще изрецитира остатъка от „Товарищ Сталин, вы большой ученый“, а ще има сетивен спомен за партийния новговор, от който отскачат тези стихове на Юз Алешковски, за неговата всепроникваща мъгла. Ще знае защо са толкова важни литературните разговори по кухни, кръчми и влакове, какво пречи те да се водят на сцената на литературните клубове и до тях да са допуснати всички. Ще познава страха. И ще знае какво страховито понятие е доверието в тези времена.

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

Другото, което уж се разбира от само себе си, е промяната в медиите. По-точно казано – променената представа за това кое е и не е недопустимо. През 80-те, през 90-те и сега. Георги Борисов е публикувал свои спорове с различни редакции – и това е в пряка връзка с въпроса за публичността и доверието. За уж незабележимите промени в разбирането за достойнството на професията. В книгата хем е събрано наистина впечатляващото дело на Георги Борисов, хем изплъзващите се контури на времето, за което все още бихме могли да развием сетиво.

Много е нетипично всички тези неща да бъдат събрани в книга. Спомени, некролози дори, спорове с редакции, слова, прочетени на тази или онази премиера. Като цяло – ефимерни работи. Летливи. Но без тях нищо не е самопонятно.

„Баща ми, бояджията“ от Васил Цонев

София: изд. „Лист“, 2021

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

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

Българите впрочем се оказват предимно добруджанци, а песента, която най-често звучи по страниците на книгата – „О, добруджански край“. Това ме кара леко да се съмнявам в споменатата във филма дата – там се говори за новата 1932 година, а в книгата героите шумно празнуват свободна Добруджа, което значи 1940-та… Очевидно целият квартал е пълен с бежанци, защото всички – от свещеника, който първо се сърди, че едно хлапе му бие камбаната, до свидливия стопанин на крушовата градина – пощуряват при новината за освобождението. Ако е 40-та година обаче, интересно защо не се споменава войната – иначе е логично обяснение защо всички са чак толкова бедни. Можем да се досетим само по намиращите се наблизо трудоваци – нали на техните хранителни отпадъци се разчита за отглеждането на прасето.

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

Не мога да пропусна великолепното оформление на Милена Вълнарова, което отдава почит на историята, на времето, но и на знаковия филм: страхотно решение е текстовете на песните да разделят и пресичат разказа, да те накарат да завъртиш книгата, за да видиш историята от друг ъгъл – и да ѝ припяваш. И тя няма да си отиде.


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

Източник

Седмицата в „Тоест“ (22–26 ноември)

Post Syndicated from Тоест original https://toest.bg/editorial-22-26-november-2021/

С национален траур беше белязана първата седмица след изборите у нас. Заради два трагични инцидента с общо 54 жертви в рамките на няколко часа в понеделник вечерта: пожар в старческия дом в село Рояк и изгорял след катастрофа автобус на магистрала „Струма“. Иначе, перманентната трагедия, в която живеем – COVID-19, отне живота на над 900 души в България само през последните 7 дни. И 93% от тях не са били ваксинирани.

Йоанна Елми

25 ноември е обявен от ООН за международен ден за борба с насилието над жени. В същия ден млада жена от София е пребита до смърт от нейния интимен приятел. Две седмици по-рано в куфар, изхвърлен във водоем край Перник, беше открито тялото на друга млада жена – Евгения Владимирова, удушена от съпруга си. А в петък беше погребението на Елена Генчева, намерена убита в апартамента си в Хага. Заподозрян беше нейният приятел, който се самоуби, преди да бъде арестуван….

За културните и социалните причини, които захранват домашното насилие и насилието, основано на пола, за липсата на официална статистика за жертвите на този вид престъпления в България – по тези и други теми пише Йоанна Елми в обзорната си статия „Време е за задълбочен разговор за домашното насилие“. В текста ѝ може да прочетете и личния разказ на Л.Б., която познава отблизо насилието, токсичните отношения и последствията от тях.


Емилия Милчева

Иначе, серията от извънредни и редовни избори у нас сякаш приключи. Поне за тази календарна година. Предстои да видим как новите управляващи ще реагират на глобалните и локалните кризи вследствие на високите цени на енергоносителите, невъзстановените все още световни вериги за доставки и производствени капацитети, нестихващата пандемия от COVID-19. Наравно с това отговори чакат и въпросите за бъдещето, свързани със зелените политики, човешките права, сигурността, разширяването на ЕС, иновациите и социалните политики.

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


Венелина Попова

От всички теми на преговорите за коалиционно споразумение, международните отношения останаха най-накрая – за днес следобед между 15 и 18 ч. Темата не бе особено засегната и по време на предизборната кампания. Венелина Попова потърси политолога Димитър Бечев за разговор по ключовите въпроси за външната политика, по които страната ни трябва съвсем скоро да има ясни позиции. Според Бечев e време за по-прагматични отношения с Русия и съседите ни.


Марина Лякова

В любопитни изследвания в Германия напоследък се анализира връзката между политическия уклон на хората и тяхното отношение към COVID-19, ваксините и риска да се разболеят. Проблемът, разбира се, е многопластов и всъщност е силно зависим както от историческия, така и от културно-социалния контекст, но със сигурност заслужава внимание. Прочетете повече в текста на социоложката Марина Лякова, озаглавен „Вирусът на радикализма. Зависи ли заболеваемостта от ковид от ценностната ориентация?“


Що е то „Нов европейски Баухаус“?, пита арх. Анета Василева в заглавието на най-новия си материал. Тази относително нова инициатива на ЕС се опитва чрез позитивното от миналото да формулира ново, зелено, постпандемично европейско бъдеще. И като минимум да стартира активен културен дебат за зеления преход. Но какви са опасностите пред тази европейска инициатива? Научете повече от статията.


Георги Велев

В края на юли т.г. Георги Велев ни разказа за бъдещето на Пловдив според най-важния документ, който определя развитието на града през следващите 15–20 години – новия и все още неприет Общ устройствен план. В тазседмичния си текст Георги съпоставя Пловдив с два сходни по размер и население града от съседни на България страни – Румъния и Северна Македония. Няколко идеи, които могат да ни служат за вдъхновение. Прочетете повече в статията „Съвременно градоустройство – два добри примера от Балканите“.


Зорница Христова

И нека завършим с хубава литература. Три книги, избрани и препоръчани от Зорница Христова в редовната ни рубрика „По буквите“. Този път това са „богопосвещенията“ на Джон Дън, издадени на български в превод на проф. Александър Шурбанов под заглавието „За кого бие камбаната“, мемоарният сборник с литературни портрети, есета и критика от Георги Борисов „Откаченият вагон“ и сборникът с разкази „Баща ми, бояджията“ от Васил Цонев.

Приятно четене!

Източник

Filtering event sources for AWS Lambda functions

Post Syndicated from Benjamin Smith original https://aws.amazon.com/blogs/compute/filtering-event-sources-for-aws-lambda-functions/

This post is written by Heeki Park, Principal Specialist Solutions Architect – Serverless.

When an AWS Lambda function is configured with an event source, the Lambda service triggers a Lambda function for each message or record. The exact behavior depends on the choice of event source and the configuration of the event source mapping. The event source mapping defines how the Lambda service handles incoming messages or records from the event source.

Today, AWS announces the ability to filter messages before the invocation of a Lambda function. Filtering is supported for the following event sources: Amazon Kinesis Data Streams, Amazon DynamoDB Streams, and Amazon SQS. This helps reduce requests made to your Lambda functions, may simplify code, and can reduce overall cost.

Overview

Consider a logistics company with a fleet of vehicles in the field. Each vehicle is enabled with sensors and 4G/5G connectivity to emit telemetry data into Kinesis Data Streams:

  • In one scenario, they use machine learning models to infer the health of vehicles based on each payload of telemetry data, which is outlined in example 2 on the Lambda pricing page.
  • In another scenario, they want to invoke a function, but only when tire pressure is low on any of the tires.

If tire pressure is low, the company notifies the maintenance team to check the tires when the vehicle returns. The process checks if the warehouse has enough spare replacements. Optionally, it notifies the purchasing team to buy additional tires.

The application responds to the stream of incoming messages and runs business logic if tire pressure is below 32 psi. Each vehicle in the field emits telemetry as follows:

{
    "time": "2021-11-09 13:32:04",
    "fleet_id": "fleet-452",
    "vehicle_id": "a42bb15c-43eb-11ec-81d3-0242ac130003",
    "lat": 47.616226213162406,
    "lon": -122.33989110734133,
    "speed": 43,
    "odometer": 43519,
    "tire_pressure": [41, 40, 31, 41],
    "weather_temp": 76,
    "weather_pressure": 1013,
    "weather_humidity": 66,
    "weather_wind_speed": 8,
    "weather_wind_dir": "ne"
}

To process all messages from a fleet of vehicles, you configure a filter matching the fleet id in the following example. The Lambda service applies the filter pattern against the full payload that it receives.

The schema of the payload for Kinesis and DynamoDB Streams is shown under the “kinesis” attribute in the example Kinesis record event. When building filters for Kinesis or DynamoDB Streams, you filter the payload under the “data” attribute. The schema of the payload for SQS is shown in the array of records in the example SQS message event. When working with SQS, you filter the payload under the “body” attribute:

{
    "data": {
        "fleet_id": ["fleet-452"]
    }
}

To process all messages associated with a specific vehicle, configure a filter on only that vehicle id. The fleet id is kept in the example to show that it matches on both of those filter criteria:

{
    "data": {
        "fleet_id": ["fleet-452"],
        "vehicle_id": ["a42bb15c-43eb-11ec-81d3-0242ac130003"]
    }
}

To process all messages associated with that fleet but only if tire pressure is below 32 psi, you configure the following rule pattern. This pattern searches the array under tire_pressure to match values less than 32:

{
    "data": {
        "fleet_id": ["fleet-452"],
        "tire_pressure": [{"numeric": ["<", 32]}]
    }
}

To create the event source mapping with this filter criteria with an AWS CLI command, run the following command.

aws lambda create-event-source-mapping \
--function-name fleet-tire-pressure-evaluator \
--batch-size 100 \
--starting-position LATEST \
--event-source-arn arn:aws:kinesis:us-east-1:0123456789012:stream/fleet-telemetry \
--filter-criteria '{"Filters": [{"Pattern": "{\"tire_pressure\": [{\"numeric\": [\"<\", 32]}]}"}]}'

For the CLI, the value for Pattern in the filter criteria requires the double quotes to be escaped in order to be properly captured.

Alternatively, to create the event source mapping with this filter criteria with an AWS Serverless Application Model (AWS SAM) template, use the following snippet.

Events: 
  TirePressureEvent: 
    Type: Kinesis    
    Properties: 
      BatchSize: 100
      StartingPosition: LATEST
      Stream: "arn:aws:kinesis:us-east-1:0123456789012:stream/fleet-telemetry"
      Filters: 
        - Pattern: "{\"data\": {\"tire_pressure\": [{\"numeric\": [\"<\", 32]}]}}"

For the AWS SAM template, the value for Pattern in the filter criteria does not require escaped double quotes.

For more information on how to create filters, refer to examples of event pattern rules in EventBridge, as Lambda filters messages in the same way.

Reducing costs with event filtering

By configuring the event source with this filter criteria, you can reduce the number of messages that are used to invoke your Lambda function.

Using the example from the Lambda pricing page, with a fleet of 10,000 vehicles in the field, each is emitting telemetry once an hour. Each month, the vehicles emit 10,000 * 24 * 31 = 7,440,000 messages, which trigger the same number of Lambda invocations. You configure the function with 256 MB of memory and the average duration of the function is 100 ms. In this example, vehicles emit low-pressure telemetry once every 31 days.

Without filtering, the cost of the application is:

  • Monthly request charges → 7.44M * $0.20/million = $1.49
  • Monthly compute duration (seconds) → 7.44M * 0.1 seconds = 0.744M seconds
  • Monthly compute (GB-s) → 256MB/1024MB * 0.744M seconds = 0.186M GB-s
  • Monthly compute charges → 0.186M GB-s * $0.0000166667 = $3.10
  • Monthly total charges = $1.49 + $3.10 = $4.59

With filtering, the cost of the application is:

  • Monthly request charges → (7.44M / 31)* $0.20/million = $0.05
  • Monthly compute duration (seconds) → (7.44M / 31) * 0.1 seconds = 0.024M seconds
  • Monthly compute (GB-s) → 256MB/1024MB * 0.024M seconds = 0.006M GB-s
  • Monthly compute charges → 0.006M GB-s * $0.0000166667 = $0.10
  • Monthly total charges = $0.05 + $0.10 = $0.15

By using filtering, the cost is reduced from $4.59 to $0.15, a 96.7% cost reduction.

Designing and implementing event filtering

In addition to reducing cost, the functions now operate more efficiently. This is because they no longer iterate through arrays of messages to filter out messages. The Lambda service filters the messages that it receives from the source before batching and sending them as the payload for the function invocation. This is the order of operations:

Event flow with filtering

Event flow with filtering

As you design filter criteria, keep in mind a few additional properties. The event source mapping allows up to five patterns. Each pattern can be up to 2048 characters. As the Lambda service receives messages and filters them with the pattern, it fills the batch per the normal event source behavior.

For example, if the maximum batch size is set to 100 records and the maximum batching window is set to 10 seconds, the Lambda service filters and accumulates records in a batch until one of those two conditions is satisfied. In the case where 100 records that meet the filter criteria come during the batching window, the Lambda service triggers a function with those filtered 100 records in the payload.

If fewer than 100 records meeting the filter criteria arrive during the batch window, Lambda triggers a function with the filtered records that came during the batch window at the end of the 10-second batch window. Be sure to configure the batch window to match your latency requirements.

The Lambda service ignores filtered messages and treats them as successfully processed. For Kinesis Data Streams and DynamoDB Streams, the iterator advances past the records that were sent via the event source mapping.

For SQS, the messages are deleted from the queue without any additional processing. With SQS, be sure that the messages that are filtered out are not required. For example, you have an Amazon SNS topic with multiple SQS queues subscribed. The Lambda functions consuming each of those SQS queues process different subsets of messages. You could use filters on SNS but that would require the message publisher to add attributes to the messages that it sends. You could instead use filters on the event source mapping for SQS. Now the publisher does not need to make any changes, as the filter is applied on the messages payload directly.

Conclusion

Lambda now supports the ability to filter messages based on a criteria that you define. This can reduce the number of messages that your functions process, may reduce cost, and can simplify code.

You can now build applications for specific use cases that use only a subset of the messages that flow through your event-driven architectures. This can help optimize the compute efficiency of your functions.

Learn more about this capability in our AWS Lambda Developer Guide.

Metasploit Wrap-Up

Post Syndicated from Christophe De La Fuente original https://blog.rapid7.com/2021/11/26/metasploit-wrap-up-140/

Self-Service Remote Code Execution

Metasploit Wrap-Up

This week, our own @wvu-r7 added an exploit module that achieves unauthenticated remote code execution in ManageEngine ADSelfService Plus, a self-service password management and single sign-on solution for Active Directory. This new module leverages a REST API authentication bypass vulnerability identified as CVE-2021-40539, where an error in the REST API URL normalization routine makes it possible to bypass security filters and upload arbitrary files on the target. wvu’s new module simply uploads a Java payload to the target and executes it, granting code execution as SYSTEM if ManageEngine ADSelfService Plus was started as a service.

Storm Alert

Warning, this is not a drill! A critical unauthenticated command injection vulnerability is approaching the Nimbus service component of Apache Storm and has been given the name CVE-2021-38294. A new exploit module authored by our very own zeroSteiner has landed and will exploit this vulnerability to get you OS command execution as the user that started the Nimbus service. Please, evacuate the area immediately!

Metasploit Community CTF 2021

We’re happy to announce this year’s CTF will start on Friday, December 3, 2021! Similar to last year, the game has been designed to be accessible to beginners who want to learn and connect with the community. Keep in mind that while a team can have unlimited members, only 1,000 team spots are available, and once they’re gone you will have to join someone else’s team. You can find the full details in our blog post.

New module content (2)

Enhancements and features

  • #15887 from smashery – The path expansion code has been expanded to support path-based tab completion. Users should now tab-complete things such as cat ~/some_filenam<tab>.
  • #15889 from dwelch-r7 – An update has been made to library code so that terminal resize events are only sent if the Meterpreter client supports it. Additionally, extra feedback is now provided to users on whether or not terminal resizing is handled automatically or if they should adjust it manually.
  • #15898 from jmartin-r7 – Ruby 3.x removes support for URI.encode and URI.escape. This PR replaces uses of these functions in modules with calls to URI::DEFAULT_PARSER.escape so that Ruby 3 can run these modules instead of raising errors about missing functions.
  • #15899 from dwelch-r7 – This improves the user experience when shell is invoked from a Meterpreter session. Now, when the fully_interactive_shells feature is enabled, a message is displayed to inform the operator that a fully interactive TTY is supported. Note that you can start it by invoking shell -it.

Bugs fixed

  • #15864 from timwr – A bug has been fixed whereby the sessions -u command would not return a x64 Meterpreter session on a x64 Windows host, and would instead return a x86 session. This issue has now been addressed so that sessions -u will determine the architecture of the target host prior to upgrading and will generate a new Meterpreter session of the appropriate architecture.

Get it

As always, you can update to the latest Metasploit Framework with msfupdate
and you can get more details on the changes since the last blog post from
GitHub:

If you are a git user, you can clone the Metasploit Framework repo (master branch) for the latest.
To install fresh without using git, you can use the open-source-only Nightly Installers or the
binary installers (which also include the commercial edition).

How the US paused shopping (and browsing) for Thanksgiving

Post Syndicated from João Tomé original https://blog.cloudflare.com/how-the-us-paused-shopping-and-browsing-for-thanksgiving/

How the US paused shopping (and browsing) for Thanksgiving

So, if you like to keep up with the tradition in the United States you and your family yesterday (November 25, 2021) celebrated Thanksgiving. So on a special day, with family gatherings for many and with a lot of cooking if you’re into the tradition (roast turkey, stuffing and pumpkin pie), it makes sense that different Internet patterns show up on Cloudflare Radar.

First, let’s look at shopping habits. After a busy Monday, Tuesday and Wednesday, online shopping paused for Thanksgiving Day and dipped at lunchtime. So in a very good week for e-Commerce, Thanksgiving was an exception, especially at the extended lunchtime.

How the US paused shopping (and browsing) for Thanksgiving

Now, let’s focus on Internet traffic at the time of the Thanksgiving Dinner. First, what time is that? Every family is different, but a 2018 survey of US consumers showed that for 42% early afternoon (between 13:00 and 15:00 is the preferred time to sit at the table and start to dig in). But 16:00 seems to be the “correct time” — The Atlantic explains why.

Cloudflare Radar shows that Internet traffic in the US increased this past seven days, compared with the previous period, and that makes sense given that it’s traditionally a good week for online shopping. But we can also see in the next chart that the time of Thanksgiving dinner in the continental US was a clear exception.

How the US paused shopping (and browsing) for Thanksgiving

The circle in red in the chart clearly shows us that yesterday afternoon in the US the Internet traffic was a lot slower than the previous days at the same time and that’s more evident between 21:00 and 01:00 UTC (we use that as a standard timezone in Radar). That time period is “translated” for the East Coast between 16:00 and 20:00 EST and for the West Coast the time between 13:00 to 17:00 PST.

Internet traffic is going up

We can also use Cloudflare Radar to see that in the last two weeks Internet traffic in the US has been increasing (compared with the same period of the previous month). In a time of the year when temperatures go down, Internet traffic was definitely going up. That’s more evident this week after Sunday, November 21.

How the US paused shopping (and browsing) for Thanksgiving

The biggest spike of the last 30 days, so far (maybe today, Black Friday, November 26, will change that — you can see the live trends using Radar), was definitely in the evening of Monday, November 22 (~02:00 UTC, November 23). This past Tuesday night, November 23, was the second day of the month with the highest traffic in the US, and the third day was actually the next day (Wednesday, November 24).

How the US paused shopping (and browsing) for Thanksgiving

We can also see on Radar (represented in the next chart) that after several days of the Internet traffic peaks being reached at around 02:00 UTC (which “translates” to 21:00 EST and 18:00 PST), this Thanksgiving Day it was reached later, at about 03:00 UTC (22:00 EST and 19:00 PST).

How the US paused shopping (and browsing) for Thanksgiving

Mobile traffic goes up in the busiest online week of the month

Another interesting trend regarding Thanksgiving week in the US is how there are more people this week using mobile devices to access the Internet than in the previous weeks.

Yesterday, November 25, mobile traffic represented 54% of the Internet traffic in the US. That’s 8% more than the usual 46% of mobile traffic percentage in the US that we registered in the last 30 days — in the last seven days that number goes up to 49%.

Actually, back in October when we blogged about the popularity of mobile traffic in the world, only 42% of the Internet traffic in the US was made using mobile devices.

How the US paused shopping (and browsing) for Thanksgiving

We can actually see this more clearly when we only focus on mobile traffic. This past Thursday, Thanksgiving Day, the mobile traffic percentage in the US increased by about 6% compared to the previous week:

How the US paused shopping (and browsing) for Thanksgiving

Conclusion

When we announced Cloudflare Radar, back in September 2020, we explained how Internet use follows patterns that humans create. Throughout the pandemic we saw different trends caused by people being more at home than usual, but Internet patterns also change at specific times of the year (like when students go back to school or when it’s colder outside) or on some holidays like Thanksgiving.

Like we saw in the US yesterday, a holiday can affect Internet traffic as a whole, but also the time of the day we are online most, the devices we use to access the Internet and the types of websites we visit (e-commerce websites are getting an increase in traffic this week).

And remember: you can keep an eye on Cloudflare Radar to monitor how we see Internet traffic globally and in every country.

Security updates for Friday

Post Syndicated from original https://lwn.net/Articles/876922/rss

Security updates have been issued by Fedora (freerdp, gnome-boxes, gnome-connections, gnome-remote-desktop, guacamole-server, hydra, java-1.8.0-openjdk-aarch32, medusa, mingw-gstreamer1, mingw-gstreamer1-plugins-bad-free, mingw-gstreamer1-plugins-base, mingw-gstreamer1-plugins-good, php, pidgin-sipe, remmina, vinagre, and weston), openSUSE (kernel and netcdf), and SUSE (kernel and netcdf).

Heard in the halls of Web Summit 2021

Post Syndicated from João Tomé original https://blog.cloudflare.com/web-summit-2021-internet/

Heard in the halls of Web Summit 2021
Opening night of Web Summit 2021, at the Altice Arena in Lisbon, Portugal. Photo by Sam Barnes/Web Summit

Heard in the halls of Web Summit 2021

Global in-person events were back in a big way at the start of November (1-4) in Lisbon, Portugal, with Web Summit 2021 gathering more than 42,000 attendees from 128 countries. I was there to discover Internet trends and meet interesting people. What I saw was the contagious excitement of people from all corners of the world coming together for what seemed like a type of normality in a time when the Internet “is almost as important as having water”, according to Sonia Jorge from the World Wide Web Foundation.

Here’s some of what I heard in the halls.

With a lot happening on a screen, the lockdowns throughout the pandemic showed us a glimpse of what the metaverse could be, just without VR or AR headsets. Think about the way many were able to use virtual tools to work all day, learn, collaborate, order food, supplies, and communicate with friends and family — all from their homes.

While many had this experience, many others were unable to, with some talks at the event focusing on the digital divide and how “Internet access is a basic human right”, according to the grandson of Nelson Mandela — we interviewed him, and you can watch the conversation below.

The future already has some paths laid out, and many were discussed at the event.

The pandemic helped to accelerate most of them, especially by bringing more people (in some countries) to the digital world.

The CPO of Meta, Chris Cox, shared how the company previously known as Facebook has some ideas about the future of augmented reality, and how they want to see those ideas play out in the next five to 10 years. “We want to get the conversation going,” he said.

Also present at the event was Jon Vlassopulos, Global Head of Music, Roblox. He explained how virtual concerts on the video game platform could be the future of music performances, and even bring free tickets to fans of famous music stars like Adele. Stars like Zara Larsson, KSI and Ava Max have already performed on Roblox and “they’re making big money from selling digital merchandise”.

On the other hand, Paddy Cosgrave, CEO of Web Summit, says that there’s something magical about in-person big events that can’t be replicated in full online events. However, the real and virtual world can complement each other — it was announced that CES 2022 will use a combination of Web Summit online and offline software.

Web3 was another big part of the discussion, sometimes in clear sight, other times embedded in the many conversations about blockchain, NFTs and cryptocurrencies, and as a vision for a decentralized web (we’re actually working on that).

Speakers also focused on data privacy and security, ethics in AI and data protection. Ownership to the user and sovereignty were topics discussed and emphasized by Sir Tim Berners-Lee on the last day of the event.

The workplace was also a popular topic, as well as the changes it underwent in the past couple of years. We heard about the importance of diversity in the workplace, as well as the future of work — is it going to be flexible, hybrid, full remote or something in between? Speakers also mentioned The Great Resignation and the reset of people’s and organizations’ mindsets.

Using AI to hire and motivate people was also in the air, as well as big topics like the digitalization of healthcare, mental health, behaviour changes in humans (young and adult) who are more and more on the Internet and even the decentralization of financial services.

And here are some examples of the different speakers at the event we talked to:

Vice-Admiral Gouveia e Melo: Vaccination, misinformation and leadership

Portuguese Navy officer and coordinator of the Task Force for the Portugal COVID-19 vaccination plan

Portugal has achieved an 86% vaccination rate on the vice-admiral’s watch. He brought a sense of mission to a task that involved organization, focus and the use of both digital and communication tools.

The country started the vaccination process late but is now one of the countries with a higher vaccination rate in the world. We talked with the vice-admiral about how the Internet helped, but also how it created problems related to disinformation and misinformation, and we asked about the dangers of controlling speech online. Finally, we asked for bits of leadership advice.

Sonia Jorge: The need for Internet — affordable, fast and for everyone

Executive Director World Wide Web Foundation (Alliance for Affordable Internet)

“The Internet is now an essential public good that everybody needs at this time just like we need to drink water or to have electricity and shelter. We should do more to bring everyone into the digital society.”

In some countries around the world Internet access is very limited. In some places people have to go to a particular plaza to have access to the Internet — five years ago John Graham-Cumming saw something similar in Cuba. Sonia Jorge knows that very well. She is trying to bring affordable Internet to everyone and that challenge is more difficult than it appears.

She explains that the world is far behind in the UN’s goals for Internet access — today only about half of the earth’s population has any Internet access at all. But many of those who have access to the World Wide Web have limited possibilities to be online: “some have access once a month, for example.” So the digital divide is real, and it “should worry everyone”.

The pandemic caused health and economic difficulties that didn’t help the mission of bringing good, fast and reliable Internet to everyone. Nevertheless, Sonia — who is Portuguese and moved to the US to study when she was 17 — saw that many African countries like Nigeria began to realize that the Internet is really important for knowledge and also for the possibilities it opens in terms of cultural, financial and societal growth.

Sonia also highlights that there is a big disparity in the world between men and women in terms of Internet access.

David Kiron: The future of work and how AI (and philosophy) can help

Editorial director of MIT Sloan Management Review

Technology will play a significant role in the future of work. In a way, that “future” is already here, but isn’t evenly distributed — and researchers are just beginning to study it. David Kiron goes on to explain the challenge for some people to be “really seen by their leadership when you’re not in the office.”

The former senior researcher at Harvard Business School tells us how companies started valuing employees even more through the pandemic. There’s also an opportunity for different ways of work interaction through digital tools — “Zoom calls aren’t it.” He’s also worried that the pandemic caused a great reset that is driving many out of the workforce entirely: “There’s a trend of working moms opting out,” for example.

About the metaverse and a universe of universes: “If tech leaders spent more time reading philosophy they might have a better sense of where the world is going (…) more and more leaders of companies are taking on the philosopher’s role.”

And how can AI help? “Once you get AI going in a company we saw in our new study that there’s a big bump in morale, collaboration, learning and people’s sense on what they should be doing”. AI can also help better identify talent and match candidates to skills that are already represented in a company, but he also highlights that “humans play a role in all the stages of the hiring and working process.”

David Kiron explains that “if you’re not asking the right questions to your AI teams you’re going to be behind other companies that are doing better questions”. He adds that AI can help with performance, but it also helps “redefine what performance means in your organization by finding other metrics to look at.”

Ana Maiques: neuroscience & women in tech

Co-founder and CEO of neuroscience-based medical device company Neuroelectrics

We talked to Ana about the future of the Internet. She thinks moving forward there will be more fluid interfaces — not only limited to computers and smartphones, but we will have different devices that go beyond VR headsets and that will lead to new types of interactions. In the neuroscience field, she has big hopes in the technology that Neuroelectrics, her company, is developing in Barcelona, Spain. They work with devices that use non-invasive transcranial electrical stimulation to treat the brain in diseases like epilepsy, depression and Alzheimer.

Neuroelectrics is also developing a process called digital copy (for better personalized treatments) that could be useful in the future if someone develops one of these problems. But she says humankind is still very far from the dangers of something like a mind-reading device or the possibility of reading and downloading thoughts and dreams: “it’s fun to think of science fiction possibilities, but we need to act now on things and problems that are affecting us today.”

She also talks about the difficulties of being a woman in the tech business and raising money. “But little by little I see more women and that’s why it’s important to get out there and explain to women that they can do it.”

Siyabulela Mandela: The Internet is a human right

Director for Africa Journalists for Human Rights

The grandson of Nelson Mandela is on a mission to help journalists in Africa to be free to publish human rights stories. He explains how the Internet is critical for this mission and “a human rights issue”. Not only does the Internet give communities access to trustworthy information, but it also helps them become aware of their rights, gives access to financial tools and allows them to grow in our era.

He also highlights how the Internet can be misused, for example when it becomes a vehicle for misinformation, or when governments shut down Internet access to control communities — in Sudan the Internet has been cut off since October 25, 2021 (you can track that information on Cloudflare Radar).

Carlos Moedas: The light (and innovation) in Lisbon

Newly elected Mayor of Lisbon; previous European Commissioner for Research, Science and Innovation

Why is Lisbon attracting so many tech companies and talent? Carlos Moedas welcomes Cloudflare to his city — we’re growing fast in the city, and we have more than 80 job openings in the country. He also talks about why Portugal’s capital is so special and should be considered by company leaders who want to grow innovative companies. Paddy Cosgrave, from the Web Summit, told us something similar four weeks ago.

The ambition? “Make Lisbon the capital of innovation of the world” or, at least, of Europe. The new mayor also has a project called Unicorn Factory to achieve just that.

Sudarsan Reddy: Why is Cloudflare Tunnel relevant?

Cloudflare engineer from the Tunnel Team

Also, at the event was our very own engineer Sudarsan Reddy (based in Lisbon). We asked him some questions about Cloudflare Tunnel, our tunneling software that lets you quickly secure and encrypt application traffic to any type of infrastructure, so you can hide your server IP addresses, block direct attacks, and get back to delivering great applications.

Sudarsan focuses on what Tunnel is, why it is relevant, how it works and examples of situations where it can make a difference.

Yusuf Sherwani: Addiction treated online

Co-founder & CEO, Quit Genius

Yusuf graduated as a doctor from Imperial College School of Medicine, in London, but joined two passions, healthcare and technology, when he co-founded Quit Genius. He explains how in just 18 months the pandemic accelerated the adoption of digital health by 10 years, and there’s no going back. “The Internet enables people to unlock improvements to their lives, and digital healthcare went from being convenient to a necessity”.

We dig into the benefits of digital healthcare, but also the scrutiny that is needed in technology, now that it is more powerful than ever and cemented in people’s lives. Yusuf also gives examples of how his digital clinic is helping people in treating tobacco, vaping, alcohol, and opioid addictions.

Yusuf has co-authored 12 peer-reviewed studies on behavioural health and substance addictions. He was featured on the Forbes 30 Under 30 List of 2018 and in Fast Company’s 100 Most Creative People in Business.

David Shrier: From sharing economy to blockchain

American futurist and Professor of Practice, AI & Innovation with Imperial College Business School in London

David sums up how the pandemic has affected people’s relationship with technology: “Everyone is tired of Zoom calls, but the convenience opened people’s minds”.

We also talk about the digital divide, about human-centered ways of working with AI, and we also address the potential in VR and AR and how nobody saw the sharing economy coming 20 years ago and, now, “it’s incredible to see how people embraced blockchain and the digitalization of financial services”.

Dame Til Wykes: The mental health discussion went viral

Professor of Clinical Psychology and Rehabilitation at King’s College London, Director of the NIHR Clinical Research Network: Mental Health

As someone with experience in the psychology field for more than 50 years, Dame Til Wykes still had to learn new ways of engaging with patients throughout the pandemic — and even learn which buttons to push on a computer to make Zoom calls. COVID-19 and the hardships of the pandemic made people more aware and ready to talk about their mental health issues, like anxiety or depression. But the pandemic wasn’t the same for everyone and Dame Til Wykes is worried about some of the effects, “most of them remain to be seen”.

Remote consultations were a big help, but she reminds us that in her field it is important to see the whole person and not just the face — for example, “if someone is tapping a foot nervously while giving us a smile, that tells us something that we cannot see in a Zoom call”. She also mentions the adoption of meditation apps bringing a form of help to some was another positive trend in this difficult period, as well as the reset button the pandemic brought to some people’s lives.

Everything you ever wanted to know about UDP sockets but were afraid to ask, part 1

Post Syndicated from Marek Majkowski original https://blog.cloudflare.com/everything-you-ever-wanted-to-know-about-udp-sockets-but-were-afraid-to-ask-part-1/

Everything you ever wanted to know about UDP sockets but were afraid to ask, part 1
Snippet from internal presentation about UDP inner workings in Spectrum. Who said UDP is simple!

Everything you ever wanted to know about UDP sockets but were afraid to ask, part 1

Historically Cloudflare’s core competency was operating an HTTP reverse proxy. We’ve spent significant effort optimizing traditional HTTP/1.1 and HTTP/2 servers running on top of TCP. Recently though, we started operating big scale stateful UDP services.

Stateful UDP gains popularity for a number of reasons:

— QUIC is a new transport protocol based on UDP, it powers HTTP/3. We see the adoption accelerating.

— We operate WARP — our Wireguard protocol based tunneling service — which uses UDP under the hood.

— We have a lot of generic UDP traffic going through our Spectrum service.

Although UDP is simple in principle, there is a lot of domain knowledge needed to run things at scale. In this blog post we’ll cover the basics: all you need to know about UDP servers to get started.

Connected vs unconnected

How do you “accept” connections on a UDP server? If you are using unconnected sockets, you generally don’t.

But let’s start with the basics. UDP sockets can be “connected” (or “established”) or “unconnected”. Connected sockets have a full 4-tuple associated {source ip, source port, destination ip, destination port}, unconnected sockets have 2-tuple {bind ip, bind port}.

Traditionally the connected sockets were mostly used for outgoing flows, while unconnected for inbound “server” side connections.

UDP client

As we’ll learn today, these can be mixed. It is possible to use connected sockets for ingress handling, and unconnected for egress. To illustrate the latter, consider these two snippets. They do the same thing — send a packet to the DNS resolver. First snippet is using a connected socket:

Everything you ever wanted to know about UDP sockets but were afraid to ask, part 1

Second, using unconnected one:

Everything you ever wanted to know about UDP sockets but were afraid to ask, part 1

Which one is better? In the second case, when receiving, the programmer should verify the source IP of the packet. Otherwise, the program can get confused by some random inbound internet junk — like port scanning. It is tempting to reuse the socket descriptor and query another DNS server afterwards, but this would be a bad idea, particularly when dealing with DNS. For security, DNS assumes the client source port is unpredictable and short-lived.

Generally speaking for outbound traffic it’s preferable to use connected UDP sockets.

Connected sockets can save route lookup on each packet by employing a clever optimization — Linux can save a route lookup result on a connection struct. Depending on the specifics of the setup this might save some CPU cycles.

For completeness, it is possible to roll a new source port and reuse a socket descriptor with an obscure trick called “dissolving of the socket association”. It can be done with connect(AF_UNSPEC), but this is rather advanced Linux magic.

UDP server

Traditionally on the server side UDP requires unconnected sockets. Using them requires a bit of finesse. To illustrate this, let’s write an UDP echo server. In practice, you probably shouldn’t write such a server, due to a risk of becoming a DoS reflection vector. Among other protections, like rate limiting, UDP services should always respond with a strictly smaller amount of data than was sent in the initial packet. But let’s not digress, the naive UDP echo server might look like:

Everything you ever wanted to know about UDP sockets but were afraid to ask, part 1

This code begs questions:

— Received packets can be longer than 2048 bytes. This can happen over loop back, when using jumbo frames or with help of IP fragmentation.

— It’s totally possible for the received packet to have an empty payload.

— What about inbound ICMP errors?

These problems are specific to UDP, they don’t happen in the TCP world. TCP can transparently deal with MTU / fragmentation and ICMP errors. Depending on the specific protocol, a UDP service might need to be more complex and pay extra care to such corner cases.

Sourcing packets from a wildcard socket

There is a bigger problem with this code. It only works correctly when binding to a specific IP address, like ::1 or 127.0.0.1. It won’t always work when we bind to a wildcard. The issue lies in the sendto() line — we didn’t explicitly set the outbound IP address! Linux doesn’t know where we’d like to source the packet from, and it will choose a default egress IP address. It might not be the IP the client communicated to. For example, let’s say we added ::2 address to loop back interface and sent a packet to it, with src IP set to a valid ::1:

marek@mrprec:~$ sudo tcpdump -ni lo port 1234 -t
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
IP6 ::1.41879 > ::2.1234: UDP, length 2
IP6 ::1.1234 > ::1.41879: UDP, length 2

Here we can see the packet correctly flying from ::1 to ::2, to our server. But then when the server responds, it sources the response from ::1 IP which in this case is wrong.

On the server side, when binding to a wildcard:

— we might receive packets destined to a number of IP addresses

— we must be very careful when responding and use appropriate source IP address

BSD Sockets API doesn’t make it easy to understand where the received packet was destined to. On Linux and BSD it is possible to request useful CMSG metadata with IP_RECVPKTINO and IPV6_RECVPKTINFO.

An improved server loop might look like:

Everything you ever wanted to know about UDP sockets but were afraid to ask, part 1

The recvmsg and sendmsg syscalls, as opposed to recvfrom / sendto allow the programmer to request and set extra CMSG metadata, which is very handy when dealing with UDP.

The IPV6_PKTINFO CMSG contains this data structure:

Everything you ever wanted to know about UDP sockets but were afraid to ask, part 1

We can find here the IP address and interface number of the packet target. Notice, there’s no place for a port number.

Graceful server restart

Many traditional UDP protocols, like DNS, are request-response based. Since there is no state associated with a higher level “connection”, the server can restart, to upgrade or change configuration, without any problems. Ideally, sockets should be managed with the usual systemd socket activation to avoid the short time window where the socket is down.

Modern protocols are often connection-based. For such servers, on restart, it’s beneficial to keep the old connections directed to the old server process, while the new server instance is available for handling the new connections. The old connections will eventually die off, and the old server process will be able to terminate. This is a common and easy practice in the TCP world where each connection has its own file descriptor. The old server process stops accept()-ing new connections and just waits for the old connections to gradually go away. NGINX has a good documentation on the subject.

Sadly, in UDP you can’t accept() new connections. Doing graceful server restarts for UDP is surprisingly hard.

Established-over-unconnected technique

For some services we are using a technique which we call “established-over-unconnected”. This comes from a realization that on Linux it’s possible to create a connected socket *over* an unconnected one. Consider this code:

Everything you ever wanted to know about UDP sockets but were afraid to ask, part 1

Does this look hacky? Well, it should. What we do here is:

— We start a UDP unconnected socket.

— We wait for a client to come in.

— As soon as we receive the first packet from the client, we immediately create a new fully connected socket, *over* the unconnected socket! It shares the same local port and local IP.

This is how it might look in ss:

marek@mrprec:~$ ss -panu sport = :1234 or dport = :1234 | cat
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    Process                                                                         
ESTAB     0         0                    [::1]:1234               [::1]:44592    python3
UNCONN    0         0                        *:1234                   *:*        python3
ESTAB     0         0                    [::1]:44592              [::1]:1234     nc

Here you can see the two sockets managed in our python test server. Notice the established socket is sharing the unconnected socket port.

This trick is basically reproducing the ‘accept()` behaviour in UDP, where each ingress connection gets its own dedicated socket descriptor.

While this trick is nice, it’s not without drawbacks — it’s racy in two places. First, it’s possible that the client will send more than one packet to the unconnected socket before the connected socket is created. The application code should work around it — if a packet received from the server socket belongs to an already existing connected flow, it shall be handed over to the right place. Then, during the creation of the connected socket, in the short window after bind() before connect() we might receive unexpected packets belonging to the unconnected socket! We don’t want these packets here. It is necessary to filter the source IP/port when receiving early packets on the connected socket.

Is this approach worth the extra complexity? It depends on the use case. For a relatively small number of long-lived flows, it might be ok. For a high number of short-lived flows (especially DNS or NTP) it’s an overkill.

Keeping old flows stable during service restarts is particularly hard in UDP. The established-over-unconnected technique is just one of the simpler ways of handling it. We’ll leave another technique, based on SO_REUSEPORT ebpf, for a future blog post.

Summary

In this blog post we started by highlighting connected and unconnected UDP sockets. Then we discussed why binding UDP servers to a wildcard is hard, and how IP_PKTINFO CMSG can help to solve it. We discussed the UDP graceful restart problem, and hinted on an established-over-unconnected technique.

Socket type Created with Appropriate syscalls
established connect() recv()/send()
established bind() + connect() recvfrom()/send(), watch out for the race after bind(), verify source of the packet
unconnected bind(specific IP) recvfrom()/sendto()
unconnected bind(wildcard) recvmsg()/sendmsg() with IP_PKTINFO CMSG

Stay tuned, in future blog posts we might go even deeper into the curious world of production UDP servers.

Celebrating the community: Cian

Post Syndicated from Katie Gouskos original https://www.raspberrypi.org/blog/community-stories-cian-google-apprenticeship/

Today we bring you the sixth film in our series of inspirational community stories. It’s wonderful to share how people all across the world are getting creative with tech and solving problems that matter to them.

Cian Martin Bohan.

Our next community story comes from Drogheda, Ireland, where a group of programmers set up the second ever CoderDojo coding club for young people. One of that Dojo’s attendees was Cian Martin Bohan, whose story we’re sharing today.

“I can’t create anything I want in real life, but I can create anything I want on a computer.”

Cian Martin Bohan

Watch Cian’s video to find out how this keen programmer went from his first experience with coding at his local CoderDojo as an 11-year-old, to landing a Software Engineering apprenticeship at Google.

Cian, a boy at his first CoderDojo coding club session.
Cian at his very first CoderDojo session

Meet Cian

Cian (20) vividly remembers the first time he heard about CoderDojo as a shy 11-year-old: he initially told his dad he felt too nervous to attend. What Cian couldn’t have known back then was that attending CoderDojo would set him on an exciting journey of creative digital making and finding life-long friends.

Help us celebrate Cian by liking and sharing his story on Twitter, LinkedIn, and Facebook.

Right from the beginning, the CoderDojo gave Cian space to make friends and develop his coding skills and his curiosity about creating things with technology. He started to attend the Dojo regularly, and before long he had created his own website about the planets in our solar system with basic CSS and HTML.  

“I made a website that talked about the planets, and I thought that was the coolest thing ever. In fact, I actually still have that website.”

Cian Martin Bohan

In over 6 years of being part of his CoderDojo community, Cian was able to share his passion for programming with others and grow his confidence.

From meeting like-minded peers and developing apps and websites, to serving as a youth member on the Digital Youth Council, Cian embraced the many experiences that CoderDojo opened up for him. They were all of great benefit when he decided to apply for an apprenticeship at Google.

As someone who didn’t follow the university route of education, Cian’s time at CoderDojo and the mentors he met there had a profound impact on his life and his career path. His CoderDojo mentors always encouraged Cian to learn new skills and follow his interests, and in this way they not only helped him reach his current position at Google, but also instilled in him a steady desire to always keep learning.

The future is limitless for Cian, and we cannot wait to hear what he does next.

Help us celebrate Cian, and inspire other young people to discover coding and digital making as a passion, by liking and sharing his story on Twitter, LinkedIn, and Facebook.

The post Celebrating the community: Cian appeared first on Raspberry Pi.

The collective thoughts of the interwebz