Ще стане ли президентът Радев партийно величие?

Post Syndicated from Емилия Милчева original https://www.toest.bg/shte-stane-li-prezidentut-radev-partiyno-velichie/

Ще стане ли президентът Радев партийно величие?

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

Политолозите пак ще заговорят за партийния проект на президента, който все така е в люпилнята на „Дондуков“ 2 (макар че такова щраусово яйце трудно може да се скрие). А техният колега Слави Василев, работил и като щатен сътрудник на държавния глава до 2019 г., ще заговори за любимата си президентска република. 

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

На първи и втори поглед

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

И редовното правителство на ПП–ДБ, и служебното на Димитър Главчев запазиха и даже издигнаха негови назначения (като шефа на ДФ „Земеделие“, който за 2024 г. разпределя 3,302 млрд. лв. – Георги Тахов, станал министър на земеделието и храните). А онова, което направи служебното управление на Радев, сключвайки 13-годишната сделка с турската компания „Боташ“ при пълна непрозрачност и неизгодни за България условия, е сравнимо с построяването на „Турски поток“ от кабинета на ГЕРБ и Бойко Борисов. 

Трудно е за вярване, че президентът би напуснал тази зона на комфорт и власт, за да гони несгодите на едно партийно величие на терен със силна конкуренция и неизбежно споделяне на властовия ресурс. До края на втория му мандат има цели две години и половина и едва ли би го прекратил, за да поведе партия. А партия, която не е оглавявана от Радев, не би имала успеха, който всички смятат, че ѝ е предначертан по подразбиране. Независимо от факта, че втория мандат на Радев подкрепиха 1 537 347 души, а само малко повече български граждани гласуваха за седемте партии в 50-тия парламент – 1 880 161.

Радев е смятан за олицетворението на мечтата за „силна ръка“ и стабилност, каквато Борисов вече не е в състояние да осигури поради ред причини, и първата се нарича Пеевски. Но Румен Радев не е политикът, който би повторил модела „Орбан“. Подалият оставка като лидер на „Да, България“ Христо Иванов в интервю за „Дойче Веле“ казва:

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

Вероятно подобен катаклизъм би ускорил президентския проект, подпомогнат и от усилията на руските хибридчици – а може би не. Въпреки нескритите си амбиции за власт, като човек, издигнал се от низините, Румен Радев е прагматик, преминал и през достатъчно професионални изпитания в кариерата си на военен пилот, за да рискува сигурността на настоящото си положение. А и ще излезе, че хем критикува партиите, хем ще се „смали“ до нивото им в сравнение със сегашната висота на своята надпартийност. Пред очите му е и примерът на президента Георги Първанов (2002–2012), чийто опит за летене на партиен терен след двата мандата в Президентството се оказа провал.

Вазата на Рубин

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

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

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

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

Научни новини: Полезни отпадъци, пречистване на вода, „Старлайнер“ и „Вояджър 1“

Post Syndicated from Михаил Ангелов original https://www.toest.bg/nauchni-novini-polezni-otpadutsi/

Полезни отпадъци

Научни новини: Полезни отпадъци, пречистване на вода, „Старлайнер“ и „Вояджър 1“

Използването на плодовете на какаовото дърво е древна традиция, започнала преди повече от 5000 години в Южна Америка, на територията на днешен Еквадор. Европейските колонизатори за първи път пренасят какаови зърна на Стария континент през XVI век и както се казва, останалото е история. 

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

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

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

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

Това води и до следния недостатък на технологията: приложима е само в производството на тъмен шоколад, чийто конвенционален еквивалент съдържа около 10% добавена захар.

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

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

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

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

Резултатът е обещаващ, но въпреки че DOPO се счита за вещество с ниска опасност за здравето, авторите на изследването отбелязват, че трябва да се направи оценка на риска, преди да се използва. Ако безопасността му се потвърди, може да бъде добавен към продуктите, които се използват в момента, и да даде възможност за оползотворяване и добавяне на стойност при отпадъци от земеделието.

Пречистване на вода

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

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

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

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

Финалната стъпка е биоремедиацията на арсеника с помощта на тор от крави. В него се съдържат микроорганизми, които имат способността да метилират арсеника и да го преобразуват от неорганичен тежък метал в многократно по-безопасна органична форма. За този процес е нужно кратко време (около седмица) и после получената смес може да бъде депонирана, без да оказва голямо влияние върху околната среда.

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

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

За пречистване на вода може да се използват и различни растителни отпадъци. Процесът, при който замърсителите се адсорбират (прикрепват се по повърхността ѝ) или абсорбират (вмъкват се в нея) от биологична матрица, може общо да бъде наречен биосорбция.

Биосорбцията набира популярност и съществуват редица примери за употребата ѝ – абсорбция на живак в използвано кафе, лекарствени продукти в люспи от ориз, багрила в черупки от орехи. Кокосовите отпадъци, съставляващи над 60% от целия плод, са особено добър адсорбент и може да се използват за премахване на кобалт, хром и никел, при това без никаква обработка. 

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

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

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

„Старлайнер“ е в орбита

След дългогодишни отлагания капсулата „Старлайнер“ на „Боинг“ бе изстреляна към Международната космическа станция (МКС) с екипаж от двама астронавти – ветераните Сунита Уилямс и Бъч Уилмор. Първоначалният план беше капсулата да е завършена през 2014 г., а полетите с екипаж да започнат през 2017 г., но първо проектът имаше финансови проблеми с одобряването на бюджета за НАСА, а след това технически – от страна на „Боинг“. През 2022 г., след успешен пробен полет, капсулата беше одобрена за тест с астронавти, но при проверка се установи, че е използвана запалима изолация на кабелите и беше открит проблем с парашутите, което наложи поредното отлагане.

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

От НАСА и „Боинг“ взеха решение да забавят връщането на капсулата към Земята, докато не се анализират всички данни. Ако няма промяна в текущите планове, астронавтите трябва да кацнат на 26 юни в Ню Мексико.

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

„Вояджър 1“ отново изпраща научни данни

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

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

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

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

Така сондата отново заема мястото си на пионер в изследването на междузвездното пространство. Това е районът на Космоса отвъд хелиосферата – сферата, в която все още се усеща ефектът от магнитните полета и заредените частици (т.нар. слънчев вятър), излъчвани от Слънцето. Мисията „Вояджър“, състояща се от два идентични апарата, изстреляни с около две седмици разлика, е най-старата активна мисия на НАСА – 50-годишният юбилей ще бъде отбелязан през 2027 г. Двата апарата са и най-далечните обекти в Космоса, създадени от човек – намират се на почти един светлинен ден от Земята, или над 24 млрд. км.

Supermicro AOC-STG-b2T Review Broadcom Dual 10Gbase-T NIC

Post Syndicated from Rohit Kumar original https://www.servethehome.com/supermicro-aoc-stg-b2t-review-broadcom-dual-10gbase-t-nic/

The Supermicro AOC-STG-b2T is a dual 10GbE adapter for those who need 10Gbase-T connectivity in a server. This is a quick one that continues our series on network adapter reviews. The “b” in the model name tells us that we have a Broadcom-based solution. Let us get into it. Supermicro AOC-STG-b2T Hardware Overview The card […]

The post Supermicro AOC-STG-b2T Review Broadcom Dual 10Gbase-T NIC appeared first on ServeTheHome.

AWS CodeArtifact adds support for Rust packages with Cargo

Post Syndicated from Sébastien Stormacq original https://aws.amazon.com/blogs/aws/aws-codeartifact-adds-support-for-rust-packages-with-cargo/

Starting today, Rust developers can store and access their libraries (known as crates in Rust’s world) on AWS CodeArtifact.

Modern software development relies heavily on pre-written code packages to accelerate development. These packages, which can number in the hundreds for a single application, tackle common programming tasks and can be created internally or obtained from external sources. While these packages significantly help to speed up development, their use introduces two main challenges for organizations: legal and security concerns.

On the legal side, organizations need to ensure they have compatible licenses for these third-party packages and that they don’t infringe on intellectual property rights. Security is another risk, as vulnerabilities in these packages could be exploited to compromise an application. A known tactic, the supply chain attack, involves injecting vulnerabilities into popular open source projects.

To address these challenges, organizations can set up private package repositories. These repositories store pre-approved packages vetted by security and legal teams, limiting the risk of legal or security exposure. This is where CodeArtifact enters.

AWS CodeArtifact is a fully managed artifact repository service designed to securely store, publish, and share software packages used in application development. It supports popular package managers and formats such as npm, PyPI, Maven, NuGet, SwiftPM, and Rubygem, enabling easy integration into existing development workflows. It helps enhance security through controlled access and facilitates collaboration across teams. CodeArtifact helps maintain a consistent, secure, and efficient software development lifecycle by integrating with AWS Identity and Access Management (IAM) and continuous integration and continuous deployment (CI/CD) tools.

For the eighth year in a row, Rust has topped the chart as “the most desired programming language” in Stack Overflow’s annual developer survey, with more than 80 percent of developers reporting that they’d like to use the language again next year. Rust’s growing popularity stems from its ability to combine the performance and memory safety of systems languages such as C++ with features that makes writing reliable, concurrent code easier. This, along with a rich ecosystem and a strong focus on community collaboration, makes Rust an attractive option for developers working on high-performance systems and applications.

Rust developers rely on Cargo, the official package manager, to manage package dependencies. Cargo simplifies the process of finding, downloading, and integrating pre-written crates (libraries) into their projects. This not only saves time by eliminating manual dependency management, but also ensures compatibility and security. Cargo’s robust dependency resolution system tackles potential conflicts between different crate versions, and because many crates come from a curated registry, developers can be more confident about the code’s quality and safety. This focus on efficiency and reliability makes Cargo an essential tool for building Rust applications.

Let’s create a CodeArtifact repository for my crates
In this demo, I use the AWS Command Line Interface (AWS CLI) and AWS Management Console to create two repositories. I configure the first repository to download public packages from the official crates.io repository. I configure the second repository to download packages from the first one only. This dual repository configuration is the recommended way to manage repositories and external connections, see the CodeArtifact documentation for managing external connections. To quote the documentation:

“It is recommended to have one repository per domain with an external connection to a given public repository. To connect other repositories to the public repository, add the repository with the external connection as an upstream to them.”

I sketched this diagram to illustrate the setup.

Code Artifact repositories for cargo

Domains and repositories can be created either from the command line or the console. I choose the command line. In shell terminal, I type:

CODEARTIFACT_DOMAIN=stormacq-test

# Create an internal-facing repository: crates-io-store
aws codeartifact create-repository \
   --domain $CODEARTIFACT_DOMAIN   \
   --repository crates-io-store

# Associate the internal-facing repository crates-io-store to the public crates-io
aws codeartifact associate-external-connection \
--domain $CODEARTIFACT_DOMAIN \
--repository crates-io-store  \
--external-connection public:crates-io

# Create a second internal-facing repository: cargo-repo 
# and connect it to upstream crates-io-store just created
aws codeartifact create-repository \
   --domain $CODEARTIFACT_DOMAIN   \
   --repository cargo-repo         \
   --upstreams '{"repositoryName":"crates-io-store"}'	 

Next, as a developer, I want my local machine to fetch crates from the internal repository (cargo-repo) I just created.

I configure cargo to fetch libraries from the internal repository instead of the public crates.io. To do so, I create a config.toml file to point to CodeArtifact internal repository.

# First, I retrieve the URI of the repo
REPO_ENDPOINT=$(aws codeartifact get-repository-endpoint \
                           --domain $CODEARTIFACT_DOMAIN \ 
                           --repository cargo-repo       \
                           --format cargo                \
                           --output text)

# at this stage, REPO_ENDPOINT is https://stormacq-test-012345678912.d.codeartifact.us-west-2.amazonaws.com/cargo/cargo-repo/

# Next, I create the cargo config file
cat << EOF > ~/.cargo/config.toml
[registries.cargo-repo]
index = "sparse+$REPO_ENDPOINT"
credential-provider = "cargo:token-from-stdout aws codeartifact get-authorization-token --domain $CODEARTIFACT_DOMAIN --query authorizationToken --output text"

[registry]
default = "cargo-repo"

[source.crates-io]
replace-with = "cargo-repo"
EOF

Note that the two environment variables are replaced when I create the config file. cargo doesn’t support environment variables in its configuration.

From now on, on this machine, every time I invoke cargo to add a crate, cargo will obtain an authorization token from CodeArtifact to communicate with the internal cargo-repo repository. I must have IAM privileges to call the get-authorization-token CodeArtifact API in addition to permissions for read/publish package according to the command I use. If you’re running this setup from a build machine for your continuous integration (CI) pipeline, your build machine must have proper permissions to do so.

I can now test this setup and add a crate to my local project.

$ cargo add regex
    Updating `codeartifact` index
      Adding regex v1.10.4 to dependencies
             Features:
             + perf
             + perf-backtrack
             + perf-cache
             + perf-dfa
             + perf-inline
             + perf-literal
             + perf-onepass
             + std
             + unicode
             + unicode-age
             + unicode-bool
             + unicode-case
             + unicode-gencat
             + unicode-perl
             + unicode-script
             + unicode-segment
             - logging
             - pattern
             - perf-dfa-full
             - unstable
             - use_std
    Updating `cargo-repo` index

# Build the project to trigger the download of the crate
$ cargo build
  Downloaded memchr v2.7.2 (registry `cargo-repo`)
  Downloaded regex-syntax v0.8.3 (registry `cargo-repo`)
  Downloaded regex v1.10.4 (registry `cargo-repo`)
  Downloaded aho-corasick v1.1.3 (registry `cargo-repo`)
  Downloaded regex-automata v0.4.6 (registry `cargo-repo`)
  Downloaded 5 crates (1.5 MB) in 1.99s
   Compiling memchr v2.7.2 (registry `cargo-repo`)
   Compiling regex-syntax v0.8.3 (registry `cargo-repo`)
   Compiling aho-corasick v1.1.3 (registry `cargo-repo`)
   Compiling regex-automata v0.4.6 (registry `cargo-repo`)
   Compiling regex v1.10.4 (registry `cargo-repo`)
   Compiling hello_world v0.1.0 (/home/ec2-user/hello_world)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.60s

I can verify CodeArtifact downloaded the crate and its dependencies from the upstream public repository. I connect to the CodeArtifact console and check the list of packages available in either repository I created. At this stage, the package list should be identical in the two repositories.

CodeArtifact cargo packages list

Publish a private package to the repository
Now that I know the upstream link works as intended, let’s publish a private package to my cargo-repo repository to make it available to other teams in my organization.

To do so, I use the standard Rust tool cargo, just like usual. Before doing so, I add and commit the project files to the gitrepository.

$  git add . && git commit -m "initial commit"
 5 files changed, 1855 insertions(+)
create mode 100644 .gitignore
create mode 100644 Cargo.lock
create mode 100644 Cargo.toml
create mode 100644 commands.sh
create mode 100644 src/main.rs

$  cargo publish 
    Updating `codeartifact` index
   Packaging hello_world v0.1.0 (/home/ec2-user/hello_world)
    Updating crates.io index
    Updating `codeartifact` index
   Verifying hello_world v0.1.0 (/home/ec2-user/hello_world)
   Compiling libc v0.2.155
... (redacted for brevity) ....
   Compiling hello_world v0.1.0 (/home/ec2-user/hello_world/target/package/hello_world-0.1.0)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s
    Packaged 5 files, 44.1KiB (11.5KiB compressed)
   Uploading hello_world v0.1.0 (/home/ec2-user/hello_world)
    Uploaded hello_world v0.1.0 to registry `cargo-repo`
note: waiting for `hello_world v0.1.0` to be available at registry `cargo-repo`.
You may press ctrl-c to skip waiting; the crate should be available shortly.
   Published hello_world v0.1.0 at registry `cargo-repo`

Lastly, I use the console to verify the hello_world crate is now available in the cargo-repo.

CodeArtifact cargo package hello world

Pricing and availability
You can now store your Rust libraries in the 13 AWS Regions where CodeArtifact is available. There is no additional cost for Rust packages. The three billing dimensions are the storage (measured in GB per month), the number of requests, and the data transfer out to the internet or to other AWS Regions. Data transfer to AWS services in the same Region is not charged, meaning you can run your continuous integration and delivery (CI/CD) jobs on Amazon Elastic Compute Cloud (Amazon EC2) or AWS CodeBuild, for example, without incurring a charge for the CodeArtifact data transfer. As usual, the pricing page has the details.

Now go build your Rust applications and upload your private crates to CodeArtifact!

— seb

Tor Browser 13.5 released

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

Version
13.5
of the privacy-focused Tor browser has been released.

Regular readers of our release posts will know that for the past
two years we’ve been gradually increasing our capacity to not only
maintain, but bring tangible improvements to Tor Browser for
Android. In that respect, Tor Browser 13.5 feels like a milestone:
in addition to the dozens of bug fixes and minor improvements noted
in the changelog below, this release features major changes to
Android’s connection experience in preparation for the future
addition of Connection Assist, including full access to Settings
before connecting and a new, permanent home for Tor logs.

The release also features desktop user-interface improvements and enhanced
fingerprinting protection.

[$] A capability set for user namespaces

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

User namespaces in Linux create an
environment in which all privileges are granted, but their effect is
contained within the namespace; they have become an important tool for the
implementation of containers. They have also become a significant source
of worries for people who do not like the increased attack surface they
create for the kernel. Various attempts have been made to restrict that
attack surface over the years; the latest is user namespace
capabilities
, posted by Jonathan Calmels.

[$] Updates to pahole

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

Arnaldo Carvalho de Melo spoke at the 2024
Linux Storage,
Filesystem, Memory Management, and BPF Summit

about his work on

Poke-a-hole
(pahole),
a program that has expanded greatly over the years, but which was relevant to the
BPF track because it produces BPF Type Format (BTF) information from DWARF
debugging information. He covered some small changes to the program, and then
went into detail about the new support for data-type profiling. His
slides include
several examples.

Stream multi-tenant data with Amazon MSK

Post Syndicated from Emanuele Levi original https://aws.amazon.com/blogs/big-data/stream-multi-tenant-data-with-amazon-msk/

Real-time data streaming has become prominent in today’s world of instantaneous digital experiences. Modern software as a service (SaaS) applications across all industries rely more and more on continuously generated data from different data sources such as web and mobile applications, Internet of Things (IoT) devices, social media platforms, and ecommerce sites. Processing these data streams in real time is key to delivering responsive and personalized solutions, and maximizes the value of data by processing it as close to the event time as possible.

AWS helps SaaS vendors by providing the building blocks needed to implement a streaming application with Amazon Kinesis Data Streams and Amazon Managed Streaming for Apache Kafka (Amazon MSK), and real-time processing applications with Amazon Managed Service for Apache Flink.

In this post, we look at implementation patterns a SaaS vendor can adopt when using a streaming platform as a means of integration between internal components, where streaming data is not directly exposed to third parties. In particular, we focus on Amazon MSK.

Streaming multi-tenancy patterns

When building streaming applications, you should take the following dimensions into account:

  • Data partitioning – Event streaming and storage needs to be isolated at the appropriate level, physical or logical, based on tenant ownership
  • Performance fairness – The performance coupling of applications processing streaming data for different tenants must be controlled and limited
  • Tenant isolation – A solid authorization strategy needs to be put in place to make sure tenants can access only their data

Underpinning all interactions with a multi-tenant system is the concept of SaaS identity. For more information, refer to SaaS Architecture Fundamentals.

SaaS deployment models

Tenant isolation is not optional for SaaS providers, and tenant isolation approaches will differ depending on your deployment model. The model is influenced by business requirements, and the models are not mutually exclusive. Trade-offs must be weighed across individual services to achieve a proper balance of isolation, complexity, and cost. There is no universal solution, and a SaaS vendor needs to carefully weigh their business and customer needs against three isolation strategies: silo, pool and bridge (or combinations thereof).

In the following sections, we explore these deployment models across data isolation, performance fairness, and tenant isolation dimensions.

Silo model

The silo model represents the highest level of data segregation, but also the highest running cost. Having a dedicated MSK cluster per tenant increases the risk of overprovisioning and requires duplication of management and monitoring tooling.

Having a dedicated MSK cluster per tenant makes sure tenant data partitioning occurs at the disk level when using an Amazon MSK Provisioned model. Both Amazon MSK Provisioned and Serverless clusters support server-side encryption at rest. Amazon MSK Provisioned further allows you to use a customer managed AWS Key Management Service (AWS KMS) key (see Amazon MSK encryption).

In a silo model, Kafka ACL and quotas is not strictly required unless your business requirements require them. Performance fairness is guaranteed because only a single tenant will be using the resources of the entire MSK cluster and are dedicated to applications producing and consuming events of a single tenant. This means spikes of traffic on a specific tenant can’t impact other tenants, and there is no risk of cross-tenant data access. As a drawback, having a provisioned cluster per tenant requires a right-sizing exercise per tenant, with a higher risk of overprovisioning than in the pool or bridge models.

You can implement tenant isolation the MSK cluster level with AWS Identity and Access Management (IAM) policies, creating per-cluster credentials, depending on the authentication scheme in use.

Pool model

The pool model is the simplest model where tenants share resources. A single MSK cluster is used for all tenants with data split into topics based on the event type (for example, all events related to orders go to the topic orders), and all tenant’s events are sent to the same topic. The following diagram illustrates this architecture.

Image showing a single streaming topic with multiple producers and consumers

This model maximizes operational simplicity, but reduces the tenant isolation options available because the SaaS provider won’t be able to differentiate per-tenant operational parameters and all responsibilities of isolation are delegated to the applications producing and consuming data from Kafka. The pool model also doesn’t provide any mechanism of physical data partitioning, nor performance fairness. A SaaS provider with these requirements should consider either a bridge or silo model. If you don’t have requirements to account for parameters such as per-tenant encryption keys or tenant-specific data operations, a pool model offers reduced complexity and can be a viable option. Let’s dig deeper into the trade-offs.

A common strategy to implement consumer isolation is to identify the tenant within each event using a tenant ID. The options available with Kafka are passing the tenant ID either as event metadata (header) or part of the payload itself as an explicit field. With this approach, the tenant ID will be used as a standardized field across all applications within both the message payload and the event header. This approach can reduce the risk of semantic divergence when components process and forward messages because event headers are handled differently by different processing frameworks and could be stripped when forwarded. Conversely, the event body is often forwarded as a single object and no contained information is lost unless the event is explicitly transformed. Including the tenant ID in the event header as well may simplify the implementation of services allowing you to specify tenants that need to be recovered or migrated without requiring the provider to deserialize the message payload to filter by tenant.

When specifying the tenant ID using either a header or as a field in the event, consumer applications will not be able to selectively subscribe to the events of a specific tenant. With Kafka, a consumer subscribes to a topic and receives all events sent to that topic of all tenants. Only after receiving an event will the consumer will be able to inspect the tenant ID to filter the tenant of interest, making access segregation virtually impossible. This means sensitive data must be encrypted to make sure a tenant can’t read another tenant’s data when viewing these events. In Kafka, server-side encryption can only be set at the cluster level, where all tenants sharing a cluster will share the same server-side encryption key.

In Kafka, data retention can only be set on the topic. In the pool model, events belonging to all tenants are sent to the same topic, so tenant-specific operations like deleting all data for a tenant will not be possible. The immutable, append-only nature of Kafka only allows an entire topic to be deleted, not selective events belonging to a specific tenant. If specific customer data in the stream requires the right to be forgotten, such as for GDPR, a pool model will not work for that data and silo should be considered for that specific data stream.

Bridge model

In the bridge model, a single Kafka cluster is used across all tenants, but events from different tenants are segregated into different topics. With this model, there is a topic for each group of related events per tenant. You can simplify operations by adopting a topic naming convention such as including the tenant ID in the topic name. This will practically create a namespace per tenant, and also allows different administrators to manage different tenants, setting permissions with a prefix ACL, and avoiding naming clashes (for example, events related to orders for tenant 1 go to tenant1.orders and orders of tenant 2 go to tenant2.orders). The following diagram illustrates this architecture.

Image showing multiple producers and consumers each publishing to a stream-per-tenant

With the bridge model, server-side encryption using a per-tenant key is not possible. Data from different tenants is stored in the same MSK cluster, and server-side encryption keys can be specified per cluster only. For the same reason, data segregation can only be achieved at file level, because separate topics are stored in separate files. Amazon MSK stores all topics within the same Amazon Elastic Block Store (Amazon EBS) volume.

The bridge model offers per-tenant customization, such as retention policy or max message size, because Kafka allows you to set these parameters per topic. The bridge model also simplifies segregating and decoupling event processing per tenant, allowing a stronger isolation between separate applications that process data of separate tenants.

To summarize, the bridge model offers the following capabilities:

  • Tenant processing segregation – A consumer application can selectively subscribe to the topics belonging to specific tenants and only receive events for those tenants. A SaaS provider will be able to delete data for specific tenants, selectively deleting the topics belonging to that tenant.
  • Selective scaling of the processing – With Kafka, the maximum number of parallel consumers is determined by the number of partitions of a topic, and the number of partitions can be set per topic, and therefore per tenant.
  • Performance fairness – You can implement performance fairness using Kafka quotas, supported by Amazon MSK, preventing the services processing a particularly busy tenant to consume too many cluster resources, at the expense of other tenants. Refer to the following two-part series for more details on Kafka quotas in Amazon MSK, and an example implementation for IAM authentication.
  • Tenant isolation – You can implement tenant isolation using IAM access control or Apache Kafka ACLs, depending on the authentication scheme that is used with Amazon MSK. Both IAM and Kafka ACLs allow you to control access per topic. You can authorize an application to access only the topics belonging to the tenant it is supposed to process.

Trade-offs in a SaaS environment

Although each model provides different capabilities for data partitioning, performance fairness, and tenant isolation, they also come with different costs and complexities. During planning, it’s important to identify what trade-offs you are willing to make for typical customers, and provide a tier structure to your client subscriptions.

The following table summarizes the supported capabilities of the three models in a streaming application.

. Pool Bridge Silo
Per-tenant encryption at rest No No Yes
Can implement right to be forgotten for single tenant No Yes Yes
Per-tenant retention policies No Yes Yes
Per-tenant event size limit No Yes Yes
Per-tenant replayability Yes (must implement with logic in consumers) Yes Yes

Anti-patterns

In the bridge model, we discussed tenant segregation by topic. An alternative would be segregating by partition, where all messages of a given type are sent to the same topic (for example, orders), but each tenant has a dedicated partition. This approach has many disadvantages and we strongly discourage it. In Kafka, partitions are the unit of horizontal scaling and balancing of brokers and consumers. Assigning partitions per tenants can introduce unbalancing of the cluster, and operational and performance issues that will be hard to overcome.

Some level of data isolation, such as per-tenant encryption keys, could be achieved using client-side encryption, delegating any encryption or description to the producer and consumer applications. This approach would allow you to use a separate encryption key per tenant. We don’t recommend this approach because it introduces a higher level of complexity in both the consumer and producer applications. It may also prevent you from using most of the standard programming libraries, Kafka tooling, and most Kafka ecosystem services, like Kafka Connect or MSK Connect.

Conclusion

In this post, we explored three patterns that SaaS vendors can use when architecting multi-tenant streaming applications with Amazon MSK: the pool, bridge, and silo models. Each model presents different trade-offs between operational simplicity, tenant isolation level, and cost efficiency.

The silo model dedicates full MSK clusters per tenant, offering a straightforward tenant isolation approach but incurring a higher maintenance and cost per tenant. The pool model offers increased operational and cost-efficiencies by sharing all resources across tenants, but provides limited data partitioning, performance fairness, and tenant isolation capabilities. Finally, the bridge model offers a good compromise between operational and cost-efficiencies while providing a good range of options to create robust tenant isolation and performance fairness strategies.

When architecting your multi-tenant streaming solution, carefully evaluate your requirements around tenant isolation, data privacy, per-tenant customization, and performance guarantees to determine the appropriate model. Combine models if needed to find the right balance for your business. As you scale your application, reassess isolation needs and migrate across models accordingly.

As you’ve seen in this post, there is no one-size-fits-all pattern for streaming data in a multi-tenant architecture. Carefully weighing your streaming outcomes and customer needs will help determine the correct trade-offs you can make while making sure your customer data is secure and auditable. Continue your learning journey on SkillBuilder with our SaaS curriculum, get hands-on with an AWS Serverless SaaS workshop or Amazon EKS SaaS workshop, or dive deep with Amazon MSK Labs.


About the Authors

Emmanuele Levi is a Solutions Architect in the Enterprise Software and SaaS team, based in London. Emanuele helps UK customers on their journey to refactor monolithic applications into modern microservices SaaS architectures. Emanuele is mainly interested in event-driven patterns and designs, especially when applied to analytics and AI, where he has expertise in the fraud-detection industry.

Lorenzo Nicora is a Senior Streaming Solution Architect helping customers across EMEA. He has been building cloud-native, data-intensive systems for over 25 years, working across industries, in consultancies and product companies. He has leveraged open-source technologies extensively and contributed to several projects, including Apache Flink.

Nicholas Tunney is a Senior Partner Solutions Architect for Worldwide Public Sector at AWS. He works with Global SI partners to develop architectures on AWS for clients in the government, nonprofit healthcare, utility, and education sectors.  He is also a core member of the SaaS Technical Field Community where he gets to meet clients from all over the world who are building SaaS on AWS.

За природата на поезията и политиката в думите. Разговор с Линда Грегърсън и Ник Леърд

Post Syndicated from Стефан Иванов original https://www.toest.bg/linda-gregerson-nick-laird-interview/

За природата на поезията и политиката в думите. Разговор с Линда Грегърсън и Ник Леърд

Линда Грегърсън (САЩ) и Ник Леърд (Северна Ирландия) гостуваха на тазгодишния международен фестивал „СтолицаЛитература“, организиран от Фондация „Елизабет Костова“. Двамата поети имаха литературно четене на 13 юни в софийската галерия „Прегърни ме“. Малко преди събитието Стефан Иванов разговаря с тях.

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

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

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

Ник Леърд: Мисля, че не, поезията не може да влияе върху политиката, но има странни случаи, в които го прави. Особено в Северна Ирландия, където творчеството на Шеймъс Хийни постоянно се цитира. Когато Бил Клинтън дойде на посещение покрай сключването на Белфасткото споразумение, той обичаше да цитира стихове на Хийни. Така че поезията може да изрази определени чувства по един рекламен начин. 

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

Какво мислите за настоящите културни политики, които засягат изкуствата и литературата? Има ли конкретни политики, които според вас са оказали значително влияние върху поетичната общност?

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

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

Това са инициативи, които ми вдъхват надежда.

Ник Леърд: Всъщност не знам. Моите издатели „Фейбър енд Фейбър“ имат икономически интереси и печелят много пари от мюзикъла по Т. С. Елиът „Котките“. Той издържа издателството от години. Но знам, че много от издателите на поезия са държавно субсидирани. Това често е начинът, по който се издава поезия. Всяка година съм в жури за награда за дебютна поезия и всеки път се изненадвам от количеството публикувани книги. Може би много от тях са публикувани твърде бързо. Субсидираното от държавата издаване има своите недостатъци. То е несъмнено нещо добро, разбира се, аз не съм срещу държавната политика за влагане на пари в изкуството. Та боже мой, културата печели колкото може, а са нужни повече средства. Но не вярвам, че всяко произведение на изкуството трябва да печели пари. Нужно е да има място и за авангардно изкуство.

Всъщност нямам отговор на този въпрос. Знам, че поетите трябва да правят и други неща, а не само да пишат поезия. Аз съм на 48 години и известно време бях адвокат, а след това пишех романи. Сега пиша сценарии и преподавам в Белфаст. Може би поезията винаги трябва да бъде хоби. Смятам нейното професионализиране за странно. Тя не работи точно по този начин. Мисля, че има добри работни места за поетите, както Тед Хюз говореше за идеята поетите да са нощни пазачи, които могат просто да седят и да четат книги по цели нощи. Това е шега, но не съвсем, защото човек наистина има нужда от работа. Например да бъде градинар или нещо подобно. Алис Осуалд е градинарка. Тя има възможност да мисли през цялото време, но и ръцете ѝ са заети и е навън сред природата. Ако работата ви е да седите по цял ден и да се опитвате да напишете стихотворение, главата ви ще се пръсне. 

Сблъсквали ли сте се някога с цензура или с ограничаване на свободата на словото? Как трябва да се ориентират поетите в този социален климат?

Линда Грегърсън: Ще ми се да знаех. Трябва да започнем с това да бъдем добри един към друг, да бъдем щедри, да се съмняваме в радикалната си правота и да вярваме, че има начини да общуваме. Много често и много лесно войните в културата стават реални войни. Трябва само да се огледаме. Понякога съм благодарна, че съм стара, защото скоро може да бъде още по-ужасяващо. 

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

Ник Леърд: Няма да навлизам в подробности, но да, сблъсквал съм се с цензура. Когато излезе първият ми роман в Северна Ирландия, разстроих някои хора, които звъняха на родителите ми и ги тормозеха. Бях говорил за протестантски паравоенни формирования в моя град и подразних някои хора. Но никога не се е стигало до насилие. Казвал съм това, което мисля. 

Живеем обаче в такова време – не бива да пишеш нищо, което може лесно да бъде изтълкувано погрешно или да бъде манипулирано. Сложно време. И глупаво, много глупаво. Живях в Ню Йорк 12 години и накрая бях доста щастлив да го напусна, защото градът се поляризира и стана толкова нелеп. На всичко трябваше да се слага етикет. А аз произхождам от работническата класа. Родителите ми не са завършили университет. Учил съм в държавно училище, а преподавах на много деца, завършили частни училища, и разговорите бяха твърде глупави. В Белфаст е различно. Той е много по-беден в сравнение с Ню Йорк. Хората не плащат по 100 000 долара на година, за да бъдат обучавани. И разговорите са по-скоро за поезия и по-малко за привилегии, което е облекчение. В момента Америка преживява свой собствен спазъм и трябва да видим какво ще се случи, но се радвам, че вече не съм в центъра ѝ. 

Що се отнася до свободата на словото – дадох интервю за Irish Times, в което говорихме за Брекзит и нарекох Борис Джонсън лайно. И той е лайно, разбира се. Помислих си, че ще имам неприятности за това, но на никого не му пукаше, защото всички също смятаха, че той е лайно. Можеш да кажеш много неща и може би ще предизвикаш малък скандал за един ден, но думите вече рядко водят до последствия и реакции. Това не е добро време. Не е добро време за нищо.

Във връзка с това смятате ли, че поетите наистина имат отговорността да се ангажират с политически и социални въпроси в творчеството си?

Линда Грегърсън: Зависи как се тълкува това. Със сигурност не смятам, че поезията може да предложи политически прозрения. Поезията не е добра в аргументираните спорове, защото се превръща в дидактика и агитация, в нещо друго, което просто не е в специалните ѝ правомощия. Поезията според мен е много добра в задаването на въпроси. А въпросите може да се задават и добронамерено. Не реторично и не като атака срещу другите, а като спор със самия себе си, като разпит, при който човекът и съвестта му са в риск, защото това може да бъде и опасен диалог. Мисля, че поезията е много добра в откриването на симптомите – в идентифицирането им, в тревожното им осъзнаване и в събуждането на желание за промяна.

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

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

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

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

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

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

Линда Грегърсън (р. 1950) е авторка на шест стихосбирки, последната от които е Canopy, публикувана през 2022 г. от нюйоркското издателство Ecco. Финалистка и носителка е на множество награди, сред които „Кингзли Тъфтс“, „Ленор Маршал“, Националната литературна награда на САЩ и др. Книгата с нейни избрани стихотворения „Машини за дишане“ в превод на Надежда Радулова е публикувана в България през 2018 г. от Издателство за поезия „ДА“. Грегърсън е член на Американската академия на изкуствата и науките, почетен ректор на Академията на американските поети и професор в Мичиганския университет, където ръководи и писателската програма „Хелън Зел“.

Ник Леърд (р. 1975) е поет, романист, сценарист, критик, автор на детски книги и бивш адвокат. Носител е на множество награди, сред които „Бети Траск“, „Руни“, „Джефри Фабер“, „Форуард“, „Съмърсет Моъм“. Преподавал е в Колумбийския, Принстънския и Нюйоркския университет, а в момента е професор по поезия в Университета „Куинс“ в Белфаст. Последната му стихосбирка Up Late е публикувана през 2023-та, а тази година предстои издаването на новата му детска книга със заглавие Weirdo Goes Wild. Съпруг е на писателката Зейди Смит.

Anthropic’s Claude 3.5 Sonnet model now available in Amazon Bedrock: Even more intelligence than Claude 3 Opus at one-fifth the cost

Post Syndicated from Danilo Poccia original https://aws.amazon.com/blogs/aws/anthropics-claude-3-5-sonnet-model-now-available-in-amazon-bedrock-the-most-intelligent-claude-model-yet/

It’s been just 3 months since Anthropic launched Claude 3, a family of state-of-the-art artificial intelligence (AI) models that allows you to choose the right combination of intelligence, speed, and cost that suits your needs.

Today, Anthropic introduced Claude 3.5 Sonnet, its first release in the forthcoming Claude 3.5 model family. We are happy to announce that Claude 3.5 Sonnet is now available in Amazon Bedrock.

Claude 3.5 Sonnet raises the industry bar for intelligence, outperforming other generative AI models on a wide range of evaluations, including Anthropic’s previously most intelligent model, Claude 3 Opus. Claude 3.5 Sonnet is available with the speed and cost of the original Claude 3 Sonnet model. In fact, you can now get intelligence and speed better than Claude 3 Opus at one-fifth of the price because Claude 3.5 Sonnet is 80 percent cheaper than Opus.

Anthropic Claude 3.5 Sonnet Family

The frontier intelligence displayed by Claude 3.5 Sonnet combined with cost-effective pricing, makes the model ideal for complex tasks such as context-sensitive customer support, orchestrating multi-step workflows, and streamlining code translations.

Claude 3.5 Sonnet sets new industry benchmarks for undergraduate-level expert knowledge (MMLU), graduate-level expert reasoning (GPQA), code (HumanEval), and more. As you can see in the following table, according to Anthropic, Claude 3.5 Sonnet outperforms OpenAI’s GPT-4o and Google’s Gemini 1.5 Pro in nearly every benchmark.

Anthropic Claude 3.5 Sonnet Benchmarks

Claude 3.5 Sonnet is also Anthropic’s strongest vision model yet, performing an average of 10 percent better than Claude 3 Opus across the majority of vision benchmarks. According to Anthropic, Claude 3.5 Sonnet also outperforms other generative AI models in nearly every category.

Anthropic Claude 3.5 Sonnet Vision Benchmarks

Anthropic’s Claude 3.5 Sonnet key improvements
The release of Claude 3.5 Sonnet brings significant improvements across multiple domains, empowering software developers and businesses with new generative AI-powered capabilities. Here are some of the key strengths of this new model:

Visual processing and understanding – Claude 3.5 Sonnet demonstrates remarkable capabilities in processing images, particularly in interpreting charts and graphs. It accurately transcribes text from imperfect images, a core capability for industries such as retail, logistics, and financial services, to gather more insights from graphics or illustrations than from text alone. Use Claude 3.5 Sonnet to automate visual data processing tasks, extract valuable information, and enhance data analysis pipelines.

Writing and content generation – Claude 3.5 Sonnet represents a significant leap in its ability to understand nuance and humor. The model produces high-quality written content with a more natural, human tone that feels more authentic and relatable. Use the model to generate engaging and compelling content, streamline your writing workflows, and enhance your storytelling capabilities.

Customer support and natural language processing – With its improved understanding of context and multistep workflow orchestration, Claude 3.5 Sonnet excels at handling intricate customer inquiries. This capability enables round-the-clock support, faster response times, and more natural-sounding interactions, ultimately leading to improved customer satisfaction. Use this model to automate and enhance customer support processes and provide a seamless experience for end users. For an example of a similar implementation, see how DoorDash built a generative AI self-service contact center solution using Anthropic’s Claude 3 models in Amazon Bedrock.

Analytics and insights – Claude 3.5 Sonnet augments human expertise in data science by effortlessly navigating unstructured data and using multiple tools to generate insights. It produces high-quality statistical visualizations and actionable predictions, ranging from business strategies to real-time product trends. Use Claude 3.5 Sonnet to simplify data analysis workflows, uncover valuable insights, and drive data-driven decision-making.

Coding and software development – Claude 3.5 Sonnet can independently write, edit, and execute code with sophisticated reasoning and troubleshooting capabilities when provided with the relevant tools. Use Claude 3.5 Sonnet to streamline developer workflows, accelerate coding tasks, reduce manual effort, and enhance overall productivity.

Using Anthropic’s Claude 3.5 Sonnet in the Amazon Bedrock console
Because this is a new model, I go to the Amazon Bedrock console and choose Model access from the navigation pane to enable access to Claude 3.5 Sonnet.

Console screenshot.

Now that I have access to the model, I’d like to use it to extract information from the following image from the Our World in Data website:

Primary energy consumption from hydropower, 2022

I choose Chat in the Playgrounds section of the navigation pane and select Anthropic and Claude 3.5 Sonnet as the model. I then choose the Image upload button to upload the previous image, type the following prompt, and choose Run:

Which countries consume more than 1000 TWh from hydropower? Think step by step and look at all regions. Output in JSON.

Here’s the result and an animated image recapping what I did.

To determine which countries consume more than 1,000 TWh from hydropower in 2022, I need to carefully examine the map and color-coding. The scale at the bottom shows that dark blue represents consumption between 1,000 TWh and 2,000 TWh.

Let's look at each region systematically:

1. North America: Canada is dark blue, indicating it consumes between 1,000-2,000 TWh from hydropower.
2. South America: Brazil is dark blue, also consuming between 1,000-2,000 TWh.
3. Europe: No country is dark blue; all are light green or have no data.
4. Africa: No data available for any country.
5. Asia: China is dark blue, indicating consumption between 1,000-2,000 TWh.
6. Oceania: No country is dark blue; Australia is light green.

In summary, there are three countries that consume more than 1,000 TWh from hydropower in 2022:
1. Canada (North America)
2. Brazil (South America)
3. China (Asia)

Here's the response in JSON format:

```json
{
  "countries_consuming_over_1000TWh_hydropower": [
    {
      "name": "Canada",
      "region": "North America",
      "consumption_range": "1,000-2,000 TWh"
    },
    {
      "name": "Brazil",
      "region": "South America",
      "consumption_range": "1,000-2,000 TWh"
    },
    {
      "name": "China",
      "region": "Asia",
      "consumption_range": "1,000-2,000 TWh"
    }
  ]
}
```

These three countries stand out as the highest consumers of hydropower energy, each using between 1,000 and 2,000 terawatt-hours in 2022.

Anthropic's Claude 3.5 Sonnet demo in the Amazon Bedrock console.

The model’s ability to reliably extract information from unstructured data, like images, opens up a world of new possibilities.

I choose the three small dots in the corner of the playground window and then View API request to see code examples using the model in the AWS Command Line Interface (AWS CLI) and AWS SDKs. Let’s have a better look at the code syntax.

Using Claude 3.5 Sonnet with AWS SDKs
You can use Claude 3.5 Sonnet with any AWS SDK using the new Amazon Bedrock Converse API or Anthropic Claude Messages API.

To update code already using a Claude 3 model, I just need to replace the model ID with:

anthropic.claude-3-5-sonnet-20240620-v1:0

Here’s a sample implementation with the AWS SDK for Python (Boto3) using the same image as before to show how to use images and text with the Converse API.

import boto3
from botocore.exceptions import ClientError

MODEL_ID = "anthropic.claude-3-5-sonnet-20240620-v1:0"

IMAGE_NAME = "primary-energy-hydro.png"

bedrock_runtime = boto3.client("bedrock-runtime", region_name="us-east-1")

with open(IMAGE_NAME, "rb") as f:
    image = f.read()

user_message = "Which countries consume more than 1000 TWh from hydropower? Think step by step and look at all regions. Output in JSON."

messages = [
    {
        "role": "user",
        "content": [
            {"image": {"format": "png", "source": {"bytes": image}}},
            {"text": user_message},
        ],
    }
]

response = bedrock_runtime.converse(
    modelId=MODEL_ID,
    messages=messages,
)
response_text = response["output"]["message"]["content"][0]["text"]
print(response_text)

When I run it, I get a similar output as in the console:

Let's approach this step-by-step:

1. First, I'll examine the color scale at the bottom of the map. The darkest blue color represents consumption of 2,000 TWh or more.

2. Now, I'll scan the map region by region:

   North America: Canada is dark blue, indicating over 1,000 TWh.
   South America: Brazil is also dark blue, over 1,000 TWh.
   Europe: No country appears to be dark blue.
   Africa: No country appears to be dark blue.
   Asia: China stands out as dark blue, indicating over 1,000 TWh.
   Oceania: No country appears to be dark blue.

3. To be thorough, I'll double-check for any medium blue countries that might be close to or over 1,000 TWh, but I don't see any that appear to reach that threshold.

4. Based on this analysis, there are three countries that clearly consume more than 1,000 TWh from hydropower.

Now, I'll format the answer in JSON:

```json
{
  "countries_consuming_over_1000TWh_hydropower": [
    "Canada",
    "Brazil",
    "China"
  ]
}
```

This JSON output lists the three countries that visually appear to consume more than 1,000 TWh of primary energy from hydropower according to the 2022 data presented in the map.

Because I didn’t specify a JSON syntax, the two answers use a different format. In your applications, you can describe in the prompt the JSON properties you want or provide a sample to get a standard format in output.

For more examples, see the code samples in the Amazon Bedrock User Guide. For a more advanced use case, here’s a fully functional tool use demo illustrating how to connect a generative AI model with a custom tool or API.

Using Claude 3.5 Sonnet with the AWS CLI
There are times when nothing beats the speed of the command line. This is how you can use the AWS CLI with the new model:

aws bedrock-runtime converse \
    --model-id anthropic.claude-3-5-sonnet-20240620-v1:0 \
    --messages '{"role": "user", "content": [{"text": "Alice has N brothers and she also has M sisters. How many sisters does Alice’s brother have?"}]}' \
    --region us-east-1
    --query output.message.content

In the output, I use the query option to only get the content of the output message:

[
    {
        "text": "Let's approach this step-by-step:\n\n1. First, we need to understand the relationships:\n   - Alice has N brothers\n   - Alice has M sisters\n\n2. Now, let's consider Alice's brother:\n   - He is one of Alice's N brothers\n   - He has the same parents as Alice\n\n3. This means that Alice's brother has:\n   - The same sisters as Alice\n   - One sister more than Alice (because Alice herself is his sister)\n\n4. Therefore, the number of sisters Alice's brother has is:\n   M + 1\n\n   Where M is the number of sisters Alice has.\n\nSo, the answer is: Alice's brother has M + 1 sisters."
    }
]

I copy the text into a small Python program to see it printed on multiple lines:

print("Let's approach this step-by-step:\n\n1. First, we need to understand the relationships:\n   - Alice has N brothers\n   - Alice has M sisters\n\n2. Now, let's consider Alice's brother:\n   - He is one of Alice's N brothers\n   - He has the same parents as Alice\n\n3. This means that Alice's brother has:\n   - The same sisters as Alice\n   - One sister more than Alice (because Alice herself is his sister)\n\n4. Therefore, the number of sisters Alice's brother has is:\n   M + 1\n\n   Where M is the number of sisters Alice has.\n\nSo, the answer is: Alice's brother has M + 1 sisters.")
Let's approach this step-by-step:

1. First, we need to understand the relationships:
   - Alice has N brothers
   - Alice has M sisters

2. Now, let's consider Alice's brother:
   - He is one of Alice's N brothers
   - He has the same parents as Alice

3. This means that Alice's brother has:
   - The same sisters as Alice
   - One sister more than Alice (because Alice herself is his sister)

4. Therefore, the number of sisters Alice's brother has is:
   M + 1

   Where M is the number of sisters Alice has.

So, the answer is: Alice's brother has M + 1 sisters.

Even if this was a quite nuanced question, Claude 3.5 Sonnet got it right and described its reasoning step by step.

Things to know
Anthropic’s Claude 3.5 Sonnet is available in Amazon Bedrock today in the US East (N. Virginia) AWS Region. More information on Amazon Bedrock model support by Region is available in the documentation. View the Amazon Bedrock pricing page to determine the costs for your specific use case.

By providing access to a faster and more powerful model at a lower cost, Claude 3.5 Sonnet makes generative AI easier and more effective to use for many industries, such as:

Healthcare and life sciences – In the medical field, Claude 3.5 Sonnet shows promise in enhancing imaging analysis, acting as a diagnostic assistant for patient triage, and summarizing the latest research findings in an easy-to-digest format.

Financial services – The model can provide valuable assistance in identifying financial trends and creating personalized debt repayment plans tailored to clients’ unique situations.

Legal – Law firms can use the model to accelerate legal research by quickly surfacing relevant precedents and statutes. Additionally, the model can increase paralegal efficiency through contract analysis and assist with drafting standard legal documents.

Media and entertainment – The model can expedite research for journalists, support the creative process of scriptwriting and character development, and provide valuable audience sentiment analysis.

Technology – For software developers, Claude 3.5 Sonnet offers opportunities in rapid application prototyping, legacy code migration, innovative feature ideation, user experience optimization, and identification of friction points.

Education – Educators can use the model to streamline grant proposal writing, develop comprehensive curricula incorporating emerging trends, and receive research assistance through database queries and insight generation.

It’s an exciting time for for generative AI. To start using this new model, see the Anthropic Claude models section of the Amazon Bedrock User Guide. You can also visit our community.aws site to find deep-dive technical content and to discover how our Builder communities are using Amazon Bedrock in their solutions. Let me know what you do with these enhanced capabilities!

— Danilo

Security updates for Thursday

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

Security updates have been issued by AlmaLinux (ghostscript and thunderbird), Debian (chromium, composer, libndp, and sendmail), Fedora (composer), Mageia (flatpak and python-scikit-learn), Red Hat (curl, ghostscript, and thunderbird), SUSE (hdf5 and opencc), and Ubuntu (gdb and php7.4, php8.1, php8.2, php8.3).

A Recap of the Data Engineering Open Forum at Netflix

Post Syndicated from Netflix Technology Blog original https://netflixtechblog.com/a-recap-of-the-data-engineering-open-forum-at-netflix-6b4d4410b88f

A summary of sessions at the first Data Engineering Open Forum at Netflix on April 18th, 2024

The Data Engineering Open Forum at Netflix on April 18th, 2024.

At Netflix, we aspire to entertain the world, and our data engineering teams play a crucial role in this mission by enabling data-driven decision-making at scale. Netflix is not the only place where data engineers are solving challenging problems with creative solutions. On April 18th, 2024, we hosted the inaugural Data Engineering Open Forum at our Los Gatos office, bringing together data engineers from various industries to share, learn, and connect.

At the conference, our speakers share their unique perspectives on modern developments, immediate challenges, and future prospects of data engineering. We are excited to share the recordings of talks from the conference with the rest of the world.

Opening Remarks

Recording

Speaker: Max Schmeiser (Vice President of Studio and Content Data Science & Engineering)

Summary: Max Schmeiser extends a warm welcome to all attendees, marking the beginning of our inaugural Data Engineering Open Forum.

Evolving from Rule-based Classifier: Machine Learning Powered Auto Remediation in Netflix Data Platform

Recording

Speakers:

Summary: At Netflix, hundreds of thousands of workflows and millions of jobs are running every day on our big data platform, but diagnosing and remediating job failures can impose considerable operational burdens. To handle errors efficiently, Netflix developed a rule-based classifier for error classification called “Pensive.” However, as the system has increased in scale and complexity, Pensive has been facing challenges due to its limited support for operational automation, especially for handling memory configuration errors and unclassified errors. To address these challenges, we have developed a new feature called “Auto Remediation,” which integrates the rules-based classifier with an ML service.

Automating the Data Architect: Generative AI for Enterprise Data Modeling

Recording

Speaker: Jide Ogunjobi (Founder & CTO at Context Data)

Summary: As organizations accumulate ever-larger stores of data across disparate systems, efficiently querying and gaining insights from enterprise data remain ongoing challenges. To address this, we propose developing an intelligent agent that can automatically discover, map, and query all data within an enterprise. This “Enterprise Data Model/Architect Agent” employs generative AI techniques for autonomous enterprise data modeling and architecture.

Tulika Bhatt, Senior Data Engineer at Netflix, shared how her team manages impression data at scale.

Real-Time Delivery of Impressions at Scale

Recording

Speaker: Tulika Bhatt (Senior Data Engineer at Netflix)

Summary: Netflix generates approximately 18 billion impressions daily. These impressions significantly influence a viewer’s browsing experience, as they are essential for powering video ranker algorithms and computing adaptive pages, With the evolution of user interfaces to be more responsive to in-session interactions, coupled with the growing demand for real-time adaptive recommendations, it has become highly imperative that these impressions are provided on a near real-time basis. This talk will delve into the creative solutions Netflix deploys to manage this high-volume, real-time data requirement while balancing scalability and cost.

Reflections on Building a Data Platform From the Ground Up in a Post-GDPR World

Recording

Speaker: Jessica Larson (Data Engineer & Author of “Snowflake Access Control”)

Summary: The requirements for creating a new data warehouse in the post-GDPR world are significantly different from those of the pre-GDPR world, such as the need to prioritize sensitive data protection and regulatory compliance over performance and cost. In this talk, Jessica Larson shares her takeaways from building a new data platform post-GDPR.

Unbundling the Data Warehouse: The Case for Independent Storage

Recording

Speaker: Jason Reid (Co-founder & Head of Product at Tabular)

Summary: Unbundling a data warehouse means splitting it into constituent and modular components that interact via open standard interfaces. In this talk, Jason Reid discusses the pros and cons of both data warehouse bundling and unbundling in terms of performance, governance, and flexibility, and he examines how the trend of data warehouse unbundling will impact the data engineering landscape in the next 5 years.

Clark Wright, Staff Analytics Engineer at Airbnb, talked about the concept of Data Quality Score at Airbnb.

Data Quality Score: How We Evolved the Data Quality Strategy at Airbnb

Recording

Speaker: Clark Wright (Staff Analytics Engineer at Airbnb)

Summary: Recently, Airbnb published a post to their Tech Blog called Data Quality Score: The next chapter of data quality at Airbnb. In this talk, Clark Wright shares the narrative of how data practitioners at Airbnb recognized the need for higher-quality data and then proposed, conceptualized, and launched Airbnb’s first Data Quality Score.

Data Productivity at Scale

Recording

Speaker: Iaroslav Zeigerman (Co-Founder and Chief Architect at Tobiko Data)

Summary: The development and evolution of data pipelines are hindered by outdated tooling compared to software development. Creating new development environments is cumbersome: Populating them with data is compute-intensive, and the deployment process is error-prone, leading to higher costs, slower iteration, and unreliable data. SQLMesh, an open-source project born from our collective experience at companies like Airbnb, Apple, Google, and Netflix, is designed to handle the complexities of evolving data pipelines at an internet scale. In this talk, Iaroslav Zeigerman discusses challenges faced by data practitioners today and how core SQLMesh concepts solve them.

Last but not least, thank you to the organizers of the Data Engineering Open Forum: Chris Colburn, Xinran Waibel, Jai Balani, Rashmi Shamprasad, and Patricia Ho.

Until next time!

If you are interested in attending a future Data Engineering Open Forum, we highly recommend you join our Google Group to stay tuned to event announcements.


A Recap of the Data Engineering Open Forum at Netflix was originally published in Netflix TechBlog on Medium, where people are continuing the conversation by highlighting and responding to this story.

The collective thoughts of the interwebz