Tag2upload is now ready for experimentation

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

Debian’s long-awaited tag2upload service is
now ready for Debian maintainers to use in some circumstances. Tag2upload makes it easier for maintainers to upload packages, by allowing them to push a signed Git commit that will automatically be picked up and built, instead of pushing a build from their local machine. LWN covered the
discussion around the service in July of last year. With the timing of its readiness, it’s likely to become more useful once Debian 13 (“trixie”) is released.

Be very aware of the freeze! Do not just upload to unstable as
your first test! Uploads to unstable, targeting trixie, can be
done with tag2upload – but in most cases you will probably want to
upload the same package to experimental first.

Security updates for Friday

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

Security updates have been issued by SUSE (apache2-mod_security2, augeas, ghc-pandoc, gstreamer, ignition, kernel, libblockdev, libxml2, nodejs20, openssl-3, pam_pkcs11, perl, python3, systemd, ucode-intel, webkit2gtk3, and xen) and Ubuntu (linux, linux-aws, linux-aws-5.4, linux-azure, linux-gcp, linux-gcp-5.4,
linux-ibm, linux-ibm-5.4, linux-kvm, linux-oracle, linux-oracle-5.4,
linux-xilinx-zynqmp, linux-aws-fips, linux-gcp-fips, python3.13, python3.12, and roundcube).

Surveillance in the US

Post Syndicated from Bruce Schneier original https://www.schneier.com/blog/archives/2025/06/surveillance-in-the-us.html

Good article from 404 Media on the cozy surveillance relationship between local Oregon police and ICE:

In the email thread, crime analysts from several local police departments and the FBI introduced themselves to each other and made lists of surveillance tools and tactics they have access to and felt comfortable using, and in some cases offered to perform surveillance for their colleagues in other departments. The thread also includes a member of ICE’s Homeland Security Investigations (HSI) and members of Oregon’s State Police. In the thread, called the “Southern Oregon Analyst Group,” some members talked about making fake social media profiles to surveil people, and others discussed being excited to learn and try new surveillance techniques. The emails show both the wide array of surveillance tools that are available to even small police departments in the United States and also shows informal collaboration between local police departments and federal agencies, when ordinarily agencies like ICE are expected to follow their own legal processes for carrying out the surveillance.

Младите, глупако!

Post Syndicated from Емилия Милчева original https://www.toest.bg/mladite-glupako/

Младите, глупако!

С извинение към Джеймс Карвил и неговото „Икономиката, глупако!“ – истинския хит от президентската кампания на Бил Клинтън през 1992 г., но в застаряваща Европа, част от която е и застаряваща България, важни са младите. Върху тях ще падне отговорността за повече социални услуги и повече здравеопазване за увеличаващата се армия от възрастни, за климатичните кризи и управлението на/с изкуствен интелект. Следователно младите трябва да избират политиците (си). Ако демократичната общност в България наистина иска президент на европейското бъдеще, той трябва да спечели гласовете на бъдещето. 

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

Българската политика не ги търси, не ги пита, не говори езика им. Те са малка част в сравнение със застаряващото население и избирателите като цяло – във възрастовата категория 20–29 години попадат 554 975 души, по данни на националната статистика към 31 декември 2024 г. (В групата 30–34 години са още близо 343 000.) Делян Пеевски и подобните му рекрутират напористи кариеристи, дъщерите и синовете на политици биват уреждани с държавни постове и имуществени придобивки, а някои от тях могат да бъдат открити и в състава на парламентарните групи. 

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

Къде са другите?

Къде са другите – онези, които не маршируват с лозунги, не водят кампании и не вярват, че политиката може да се промени? Тяхната апатия не е отказ от правене на политика, а начин да протестират. Кога политиците и партиите най-сетне ще говорят за липсата на ефективна връзка между образованието и професионалната реализация? За безсмислени специалности във вузове, произвеждащи висококвалифицирани продавачи в молове, за ниското заплащане при младите хора… 45% от младежите на възраст 15–29 години се притесняват от финансови проблеми, показва миналогодишно проучване. 

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

Дали ще се открие кандидат, който да намери път към младите българи по теми като свободата на словото, личните свободи, климатичните промени, социалната справедливост, антикорупцията, истинската конкуренция и почтеност, и да им покаже смисъла да останат в България? 

Защото точно такава просветителска и визионерска мисия отива на президента, а не удовлетворяване на властови и парвенюшки амбиции.

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

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

Основа, върху която да се гради, има – на последните избори на 27 октомври коалицията ПП–ДБ се е представила по-добре от средното сред по-младите възрастови групи до 40 г., показва проучване на „Тренд“. (Близо 2/3 от всички избиратели на коалицията са с висше образование, малко под една трета са софиянци, а 58% от всички гласували за ПП–ДБ са жени.)

Разбуждат се

В Полша, най-голямата икономическа и военна сила в бившия социалистически блок, 69% от младите хора са гласували на парламентарните избори през 2023 г. На президентските избори през май избирателите на възраст от 18 до 29 години подкрепиха на първия тур антисистемни кандидати, които не успяха да стигнат до балотажа. Те до голяма степен отхвърлиха кандидатите, представляващи двете доминиращи политически партии в Полша – „Гражданска платформа“ на Доналд Туск и „Право и справедливост“, бившата управляваща партия, водена от Ярослав Качински. Както и в Румъния, България и други европейски държави, младите са гневни на политиците и са склонни да гласуват за хора, които не изглеждат партийно форматирани. 

В Румъния младите хора проявиха зрелост при балотажа за президент, когато 58% от избирателите на възраст между 18 и 30 години гласуваха на втория тур за проевропейския кандидат Никушор Дан. Румънски медии отбелязват този факт като забележителна промяна в сравнение с първия тур. Тогава националистът Джордж Симион беше фаворит сред тази възрастова група с 43% в сравнение с 34% за Дан. Друга особеност на румънските избори за президент е, че жените са изиграли ключова роля на балотажа, като над 55% са избрали Никушор Дан – решаващ принос за неговата победа. 

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

На каква личност ще заложи демократичната общност и колко обединена ще е зад нея, е от решаващо значение за подкрепата. Вероятен или невероятен избор – това е въпросът. 

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

Вероятният избор означава кандидат, неспособен да повтори уникалния (и единствен) успех на обединеното дясно за избора на Петър Стоянов през 1996 г. с неговите 2 502 517 на втория тур. 

Онази „дихотомия“ (БСП–СДС, б.а.), по определението на проф. Калин Янакиев на кръгла маса за общ кандидат на демократичната общност, работеше в полза на моралното противопоставяне и гражданската мобилизация. Но това време няма да се повтори, остана в историята на Прехода. Светът се промени. България, политиката, избирателите – всичко претърпя дълбока трансформация. Дигиталната (не)реалност вече е цяла паралелна вселена, демокрацията е в криза, световният ред, установен след Втората световна война, се разпада. През 1996 г. Петър Стоянов олицетворяваше европейската цел на просветената част от българското общество. През 2026 г. на България е нужен президент, който да я защити.

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

From player to maker: Learn to code by creating your own game

Post Syndicated from Pete Bell original https://www.raspberrypi.org/blog/from-player-to-maker-learn-to-code-by-creating-your-own-game/

At Code Club, we believe learning to code should be as fun as it is empowering — what better way to start than making your own game?

A mentor and a young tech creator at a computer at a Code Club session.

Whether it’s about pixelated pirates, racing robots, or a time-travelling llama, creating a game is one of the most exciting ways to explore coding. We’ve seen young people go from “I like Minecraft” to “I’ve built a space adventure with hedgehogs” in no time at all.

Why games?

Games are more than just fun. They’re also a brilliant gateway into problem solving, creativity, and computational thinking. When you create your own game, you learn how to:

  • Use logic and sequences to control what happens
  • Trigger events and interactions through code
  • Build characters, stories, and rules — and see them come to life

And perhaps most importantly, you get instant feedback. If your code doesn’t quite work, you’ll know right away, and you’ll have the chance to fix it, test it, and improve it.

Three fun game projects to try today

We’ve created a free library of step-by-step game projects that work in a browser, that require no previous experience, and that let imagination lead the way.

Here are three brilliant beginner-friendly projects to try at Code Club or at home:

Catch the dots

  • Learn: Basic events and movement in Scratch
  • Make: A quick-fire reaction game where you catch a moving dot
  • Try: Changing the sprites or making the dot move faster over time

Target practice

  • Learn: Broadcasting, scorekeeping, and setting difficulty
  • Make: A game that tests your speed and accuracy
  • Try: Adding levels, custom backgrounds, or sound effects

Don’t collide!

  • Learn: Cloning, timers, and collision detection
  • Make: A fast-paced game where the player must dodge incoming objects
  • Try: Changing the game to set it in space, underwater, or inside a volcano

What does the community think?

Games are a great starting point because they’re naturally motivating: young people see what they’ve made work, and that’s incredibly empowering.

“I started with ‘Catch the dot’. I changed the sprite to a spaceship and then added power-ups and space cats. Now I’m making my own levels!”
– Lila, 11, Creator

“When my son made his first Scratch game, it was the first time he explained what a loop was to me. Games build confidence.”
– Laura, parent and Code Club Mentor

Build, remix, and level up

Once you’ve finished a project, the real fun begins. With just a few changes, creators can build their own levels or make the game more challenging, design custom characters and backdrops, or invent brand new rules and mechanics.

And if they want to share ideas and collaborate with others, joining a Code Club is the perfect next step.

Three young tech creators at laptops at a Code Club session.

Ready to get started?

You can find all the projects mentioned here — and many more — on the Code Club projects site. They’re free to use and designed to help creators grow in confidence as they learn to code.

All our projects focused on game creation can be found here.

Every coding journey begins with a single click. Let’s press start!

The post From player to maker: Learn to code by creating your own game appeared first on Raspberry Pi Foundation.

За данните на МВР в Черна писта, проблемите с тях и защо са ни нужни

Post Syndicated from Боян Юруков original https://yurukov.net/blog/2025/za-dannite-na-cherna-pista/

В разговори и интервюта съм споменавал, че публикувам около 30% от всички данни, които събирам. Обработвам ги, защото искам да разбера по-добре някакъв проблем. Публикувам онези, които виждам, че показват нещо ясно, където съм запознат с ограниченията и мога да ги обясня. Не на последно място – където имам време да направя визуализация или друг начин помагащ на останалите да разберат данните както аз ги виждам в главата си. Друга основна причина е, че често има доста и/или неясни проблеми с качеството при източника, което поставя всякакви анализи и изводи под въпрос.

Когато Мартин пусна Черна писта, той публикува и оригиналната справка предоставена от МВР за катастрофите между 2021 и март 2025-та. Инструментът, който е направил показва лесно точно какво му е предоставено с възможност за филтриране, което е правилния начин и дава добра представа за измеренията на проблема. Всичко, което е направил той е супер.

Когато се вгледах в картата му няколко неща изпъкнаха и исках да се вгледам по-дълбоко. Вкарах данните в няколко мои инструмента и съмненията ми се потвърдиха. Бях обещал да ги опиша по-рано, но честно казано се бях разсеял с демографски данни от Германия показващи, че диаспората ни там намалява, както и crowdsourcing-а на данни за строящи се и довършени сгради в София.

Вникване в проблемите на данните

Снимките, които виждате долу са по-специално от Mapbox heatmap. Коригирах малко формата на справката оправяйки дати, часове и разделителите, за да е нормален csv файл. Може да го свалите тук. Махнах и 30% от записите, които нямат географски координати. Така остават почти 178 хиляди записа за 4 години.

Концентрация на инциденти с пострадали или починали в София
Места с висока концентрация на инциденти в София

Надеждата при използването на такива данни е да откриваме къде са проблемите места и да помогнем да се намалят ранени и жертви. Първата карта горе показва всички катастрофи в София, където е имало поне един ранен или смъртен случай в последните четири години. Виждаме няколко „горещи точки“ оградени. Те са … дворът на КАТ в Дианабад, паркингът пред Пирогов, едно конкретно крило на УМБАЛ Св. Анна и сградата на СДВР. Увеличение на тези места виждате на втората снимка.

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

Това, разбира се, далеч не се ограничава до София. Колкото и критика да търпи СДВР заради отказа им да приемат сигнали за проблеми в движението в София или да съблюдават закона за пиротехниката, аналогични концентрации на координати за инциденти виждаме в Пловдив и Варна – около КАТ, РПУ и болница.

Места с висока концентрация на инциденти с пострадали или починали в Пловдив
Места с висока концентрация на инциденти с пострадали или починали във Варна

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

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

Полезни изводи от данните

Нищо от това не значи обаче, че данните не са полезни. Напротив. Пример е дефилето на Кресна. През 2022-ра бяха сложени колчета да разделят лентите. Широко се тиражира, че това е спряло смъртните случаи. На следващата снимка виждаме разликата във всички инциденти. Има пак катастрофи и повечето от тях са с ранени, но както се вижда в дефилето е имало по-малко инциденти между 2022 и март 2025, отколкото цялата 2021-ва. Интересно е обаче, че има изглежда увеличение в самата Кресна. Може да спекулираме, че нетърпеливите дават газ и изпреварват там.

Сравнение на брой инциденти в Кресненското дефиле

Ако разгледаме смъртните случаи, се потвърждава ефикасността на колчетата. Няма фатални случаи след 2022-ра, с изключение на един в Кресна през март 2025-та. Само през 2021-ва е имало поне четири в дефилето.

Сравнение на брой смъртни случаи в Кресненското дефиле

За друг пример се връщаме към София. Имаше отчетливо увеличение на трафика и задръстванията от началото на 2023-та. Моето обяснение е указанията на много работодатели за връщане към офиса, което накара много хора да прекарват повече време в пътуване към офиса и обратно. В същото време обаче видимо се забелязва намаление на инцидентите спрямо предходния период, независимо, че включваме три месеца от 2025-та г.

Сравнение на брой инциденти в София

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

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

Разбира се, всичко описано до тук предполага постоянство в метода на въвеждане на данните. Както описах при проблемите данни на НЦОЗА за абортите, разчитаме на това, че има постоянство дори в недъзите на въвеждането, за да може да правим сравнения със стари периоди. Това обаче е невъзможно да се установи без контролите изброени горе.

От това имаме нужда

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

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

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

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

The post За данните на МВР в Черна писта, проблемите с тях и защо са ни нужни first appeared on Блогът на Юруков.

На второ четене: „Същността на слона“

Post Syndicated from original https://www.toest.bg/na-vtoro-chetene-sushtnostta-na-slona/

„Същността на слона“ от Тон Телехен

На второ четене: „Същността на слона“

превод от нидерландски Боряна Кацарска, София: изд. „Точица“, 2022

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

„Същността на слона“ е особена жанрово и тематично. Тя включва 53 свързани прозаични глави, както и отделен поетичен цикъл, ала някои я четат и като своеобразен роман. Книгата се вписва в явно любимите на Телехен истории изцяло с животни, чиито характеристики са отчетливо антропоморфни. Писателят запазва този животински актьорски състав, така да се каже, когато от 1999 г. нататък започва да пише и серия от книги за възрастни – нещо като хибриден жанр, в който си позволява повече сложност, дълбочина, трудни и проблематични теми. Някои от тези текстове разглеждат различни психиатрични състояния: депресията, нарцисизма, чуването на гласове и т.н.

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

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

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

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

И на болката впрочем… Защото да паднеш боли – „падането е съпътстващо / болката също“ (всъщност според слона всичко в живота е съпътстващо освен катеренето и танцуването, те са екзистенциално съвършени).

… но болката е най-обичайното,
най-обичайното от всичко,
навсякъде болка.

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

Не обичам правилните решения […] обичам грешните решения, които взимам импулсивно, всеки ден отново,

казва слонът. А друго едно от животните:

И аз искам някога да преживея нещо неизбежно, помисли си. Да изпитам болка, да съжалявам за нещо, да не знам какво да правя, да си обещая нещо, което да не спазя.

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

Аз танцувах. Аз съм някой, вие сте всеки.

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

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

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

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

На второ четене: „Същността на слона“

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

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

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

Писателчето поклати глава и каза:
– Понякога пиша, че падам, и тогава падам.
– Но не падаш лошо.
– Ако напиша, че падам лошо, падам лошо.
– Ама не те боли.
– Ако напиша, че ме боли, ме боли – каза писателчето.
Замисли се и добави: – Понякога го пиша.


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

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

Гласовете на Америка – брой 3

Post Syndicated from Йоанна Елми original https://www.toest.bg/glasovete-na-amerika-broy-3/

Гласовете на Америка – брой 3

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

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

Доналд Тръмп, 29 ноември 2011 г.: „За да бъде избран, Барак Обама ще започне война с Иран.“

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

Вече дори не съм сигурна как точно да опиша Републиканската партия, която от години твърди, че намаляването на раздутия бюджет е сред основните ѝ приоритети. Затова ще оставя числата да говорят: Тръмп води със 7,1 трилиона външен дълг, следван от Обама и Байдън със съответно 5,6 и 2,8 трилиона. След това са двамата президенти на републиканците – Буш и Рейгън. Всичко е точно. На когото не му харесва, може да си намери други числа, разбира се. Такива са времената. 

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

След като и двамата се успокоиха, Мъск дори се извини – оттогава никой не е чувал за него, освен почитателите му в X, където продължава да се заканва на изкуствения интелект Grok всеки път, когато последният се осмели да му говори с факти. В случая става въпрос за следния обмен на информация между потребител и изкуствен интелект: 

@GrokChecker: Grok, от 2016 г. насам насилието идва повече отляво или отдясно? 
Grok: Данни от 2016 г. насам показват, че идеологически дясното политическо насилие е по-често разпространено и по-смъртоносно, с инциденти като щурма на Капитолия на 6 януари и масовите престрелки (например в Ел Пасо през 2019 г.), които вземат сериозни жертви.
Мъск: Голям провал, това е абсолютно невярно. Grok цитира мейнстрийм медиите. Работим по въпроса. 

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

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

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

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

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

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

Междувременно на 14 юни се проведоха едни от най-мащабните протести в историята на страната – на повече от 2000 места във всички 50 щата, включително и в селища, които се държат от републиканците с добри мнозинства. Следващата дата е 17 юли. 

Протестите съвпаднаха с т.нар. военен парад на Тръмп, който не можа да се похвали с голяма публика и висок дух. Дори руснаците, обичайно подкрепящи Тръмп, си позволиха да му се подиграват в социалните мрежи. В същия ден в домовете си бяха застреляни двама политици от Минесота и партньорите им. Конгресменката Мелиса Хортман и съпругът и загинаха, след като мъж, преоблечен като полицай, влезе в дома им с оръжие. В списъка на 57-годишния Ванс Болтър, заловен след една от най-мащабните полицейски акции в историята на щата Минесота, са били още 45 души – всички от Демократическата партия. Болтър е бял, свръхрелигиозен и обявяващ се срещу правото на аборт. 

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

Със сигурност не това е мотивацията на президента да нареди още по-сериозни акции в Чикаго, Ню Йорк, Лос Анджелис и Филаделфия, след като първо отмени, а после отново поиска арестите на хора, работещи в областта на услугите и земеделието. Това стана след оплаквания на работодатели, че бизнесът им ще пострада. Самият Тръмп продължава да наема чужденци за работа в собствените си обекти.  

Полицаи в САЩ

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

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

Този път гласът на миналото е литературен:

цитат от Чък Паланюк, американски писател и журналист, автор на „Боен клуб“. Откъсът е от романа му „Приспивна песен“, публикуван на български език през 2004 г. в превод на Марин Загорчев. 

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


Абонирайте се, за да получавате този бюлетин на електронната си поща в момента, в който излезе!

Вече сте регистриран потребител на Toest.bg? Може директно от настройките на бюлетините в своя профил да изберете „Гласовете на Америка“ или да натиснете бутона по-долу:

Още нямате профил в Toest.bg? Регистрирайте се само с няколко клика:

My a11y journey

Post Syndicated from Matthew Garrett original https://mjg59.dreamwidth.org/72379.html

23 years ago I was in a bad place. I’d quit my first attempt at a PhD for various reasons that were, with hindsight, bad, and I was suddenly entirely aimless. I lucked into picking up a sysadmin role back at TCM where I’d spent a summer a year before, but that’s not really what I wanted in my life. And then Hanna mentioned that her PhD supervisor was looking for someone familiar with Linux to work on making Dasher, one of the group’s research projects, more usable on Linux. I jumped.

The timing was fortuitous. Sun were pumping money and developer effort into accessibility support, and the Inference Group had just received a grant from the Gatsy Foundation that involved working with the ACE Centre to provide additional accessibility support. And I was suddenly hacking on code that was largely ignored by most developers, supporting use cases that were irrelevant to most developers. Being in a relatively green field space sounds refreshing, until you realise that you’re catering to actual humans who are potentially going to rely on your software to be able to communicate. That’s somewhat focusing.

This was, uh, something of an on the job learning experience. I had to catch up with a lot of new technologies very quickly, but that wasn’t the hard bit – what was difficult was realising I had to cater to people who were dealing with use cases that I had no experience of whatsoever. Dasher was extended to allow text entry into applications without needing to cut and paste. We added support for introspection of the current applications UI so menus could be exposed via the Dasher interface, allowing people to fly through menu hierarchies and pop open file dialogs. Text-to-speech was incorporated so people could rapidly enter sentences and have them spoke out loud.

But what sticks with me isn’t the tech, or even the opportunities it gave me to meet other people working on the Linux desktop and forge friendships that still exist. It was the cases where I had the opportunity to work with people who could use Dasher as a tool to increase their ability to communicate with the outside world, whose lives were transformed for the better because of what we’d produced. Watching someone use your code and realising that you could write a three line patch that had a significant impact on the speed they could talk to other people is an incomparable experience. It’s been decades and in many ways that was the most impact I’ve ever had as a developer.

I left after a year to work on fruitflies and get my PhD, and my career since then hasn’t involved a lot of accessibility work. But it’s stuck with me – every improvement in that space is something that has a direct impact on the quality of life of more people than you expect, but is also something that goes almost unrecognised. The people working on accessibility are heroes. They’re making all the technology everyone else produces available to people who would otherwise be blocked from it. They deserve recognition, and they deserve a lot more support than they have.

But when we deal with technology, we deal with transitions. A lot of the Linux accessibility support depended on X11 behaviour that is now widely regarded as a set of misfeatures. It’s not actually good to be able to inject arbitrary input into an arbitrary window, and it’s not good to be able to arbitrarily scrape out its contents. X11 never had a model to permit this for accessibility tooling while blocking it for other code. Wayland does, but suffers from the surrounding infrastructure not being well developed yet. We’re seeing that happen now, though – Gnome has been performing a great deal of work in this respect, and KDE is picking that up as well. There isn’t a full correspondence between X11-based Linux accessibility support and Wayland, but for many users the Wayland accessibility infrastructure is already better than with X11.

That’s going to continue improving, and it’ll improve faster with broader support. We’ve somehow ended up with the bizarre politicisation of Wayland as being some sort of woke thing while X11 represents the Roman Empire or some such bullshit, but the reality is that there is no story for improving accessibility support under X11 and sticking to X11 is going to end up reducing the accessibility of a platform.

When you read anything about Linux accessibility, ask yourself whether you’re reading something written by either a user of the accessibility features, or a developer of them. If they’re neither, ask yourself why they actually care and what they’re doing to make the future better.

comment count unavailable comments

Т.Е. от Е.Т. – епизод 16

Post Syndicated from Тоест original https://www.toest.bg/t-e-ot-e-t-epizod-16/

Т.Е. от Е.Т. – епизод 16

Понякога те се завръщат. В случая Е.Т. се завръща. И как иначе! Сърце юнашко не трай, когато Шиши, Кики, ББ и цялата световна анимация работят всекидневно за съдържание, което плаче да се коментира, защото явно нямаме какво друго да правим.

Един учител – хиляди истории

Post Syndicated from original https://www.toest.bg/edin-uchitel-hilyadi-istorii/

Един учител – хиляди истории

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

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


Как станахте учител?

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

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

Не беше да се събудя една сутрин и да си кажа: „Искам да съм учител!“

Имате ли любима история от ученическите Ви години с някой учител?

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

Беше много различен – викаше ни, наказваше ни, хокаше ни много. Наказанията бяха различни. Едно от тях например беше да застанеш и да стоиш мирно в средата на двора. Минават другите, питат те защо си там, и ти на всеки трябва да обясниш.

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

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

Един ден дойде г-н Параскевас при мен и при едно друго момче – Янис, и ни попита: „Има ли нещо, което трябва да знам за Спирос? Какво става в семейството му? Как вървят нещата? Има ли някакви проблеми? Споделял ли е нещо?“. А ние знаехме, че баща му си пийва, бие ги вкъщи, не са добре нещата. Казахме му. 

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

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

Само след няколко месеца на мястото на съученика ни Спирос, който нямаше дори раница, се появи съвсем ново момче – винаги с домашно, нови тетрадки, химикалки. Цялото му поведение се промени. Завърши началния етап, отиде в гимназия, после в университет. Г-н Параскевас го подготвяше за кандидатстудентските изпити докрай. А двете семейства празнуваха Коледа заедно.

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

Разбрал е от баща ми, че съм станал учител, и попитал защо. Баща ми му казал: „Защото явно е искал да стане като теб!“ Може би не станах учител заради него, но продължавам да бъда учител заради него. Той беше супергерой – без извънредните фантастични сили на онези от филмите, а истински, натурален супергерой.

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

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

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

Един учител – хиляди истории
Сотион Вело е родом от Атина. В момента е учител по английски език в частно училище в София. Завършил е английска литература и творческо писане в Университета в Уелс. Сега учи психология в Софийския университет. Снимка: Личен архив

В днешно време шамари не се раздават и това е добре. А и аз знам, че не го правите. Въпреки това Вашите ученици Ви обожават. Какво „раздавате“ тогава?

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

Какво научихте в университета, което прилагате и днес? Знаем, че следването е по-сухо, по-теоретично. И все пак има ли нещо, което практикувате?

Учих литература, не педагогика. Научих се да не се отказвам и винаги разказвам тази история на децата. В началото не искаха да ме приемат в специалността, която си бях избрал – „Английска литература“. По мое време в моя университет тя беше за native speakers – хора, на които английският им е майчин език. Аз обаче много исках да уча точно това и постоянно заставах пред някоя бариера. 

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

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

Това, което научих, не е толкова теоретично, нали? Наградата е по-сладка, когато знаеш, че не си се отказал. В гимназията не бях блестящ ученик, но знаех, че искам да уча литература, тя е все още най-голямата ми любов. 

Представете си перфектните обстоятелства – можете да бъдете какъвто пожелаете. Бихте ли избрал друга професия? 

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

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

Ваканцията! (Смее се.) Основното е, че много харесвам това, което правя; много обичам всички деца, които са минали през мен – тези, които не ме обичаха, тези, които ме мразят, и тези, които не ме мразят, тези, които ме обичат. Всички ги помня с имената и историите им. Затова в училище много трудно бих се изморил.

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

И като казах „трудното“ – и наградата, и удовлетворението са по-сладки, когато си преминал през трудности.

Кое Ви мотивира да сте учител?

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

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

Важни ли са родителите в това? Как поддържате контакт с тях?

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

ако не ви търся, значи всичко е наред. Но ако се обадя, трябва бързо да вдигнете телефона.

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

Кога Ви е било най трудно?

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

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

Един учител – хиляди истории
Снимка: Личен архив

Кое е най-хубавото нещо, което Ви се е случило като учител?

Едно от най-хубавите неща се случи миналата година. Обаждат ми се от гръцки номер, непознат за мен. Вдигам и едно момиче казва: „Здравейте, кирие [господине – б.а.]. Аз съм Деспина.“ Деспина беше моя ученичка, на която преподавах още преди официално да стана учител. Подготвях я за един сертификат на Кеймбридж. Покрай тази подготовка говорехме много за литература, за книги. Помня, че ѝ давах да чете различни статии, поезия. Превеждахме ги – това беше част от подготовката ѝ. 

Миналата година Деспина беше намерила баща ми, за да му поиска телефона ми. И тя продължи:

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

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

Има ли нещо, което бихте искал да промените, но нямате право? Някое правило, което Ви слага прът в колелата? 

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

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

Да е уютно, да има неща, които те харесват и ги карат да се чувстват добре. Да има лаптопи, за да се учат да използват технологии. Да е място, което вдъхновява, на което ти се седи. А не да стоят мирно на чина, да трябва да отворят на страница 25 и да започнат да попълват тестове. 

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

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

Знам, че има колеги, които ще се усъмнят колко успешно се преподава по различен начин. Ако тази година трябва да се научат трите основни времена на английски, ние ще ги учим, но няма да ги учим по таблици и учебни тетрадки. Learn from experience [да учиш от опит – б.а.] се нарича това, което правя.

А как изпитвате тогава?

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

На едно от предишните ми работни места дойде един ден директорката при мен и ми каза:

Не може така, не вървите по материала, трябва да сте взели до еди-кой си урок, какво правиш?

Казах ѝ да подготви тя тест на всички уроци, които смята, че трябва да са усвоени до този момент, и да го даде на децата. Без моята намеса. Направиха го. Децата ми изкараха само петици и шестици. И тя ме пита:

Е, как го направи това?

Ами това са тайните на професията, казах ѝ аз.

Доколко училищното ръководство, училищната политика, Министерството на образованието влияят на процеса в класната стая? 

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

Мисля, че във „Фюжън“, където съм сега, имам пълната свобода да преподавам така, както смятам, че е адекватно спрямо времето, в което се намираме. Това беше и условието ми – искам свобода. А резултатите ги обсъждаме в края на всеки етап. 

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


Светът се променя с бясна скорост. Професиите, в които ще се развиват поколенията, започващи днес образователния си път, все още не са измислени. Подготвена ли е нашата образователна система, за да отговори на тези предизвикателства? Какво може и трябва да се промени? А как?

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

Индуцирани земетресения, застрашават стратегически язовир и региона на Перник Държавата крие 45 земетресения заради корупционни интереси

Post Syndicated from Екип на Биволъ original https://bivol.bg/earthquakes_studena.html

петък 20 юни 2025


ЗЕМЕТРЕСНИЯ В ТИШИНА През последните две години хората от селата Боснек, Студена и Старо село, сигнализират за изключително силни взривове, идващи от кариерите над с. Студена. В непосредствена близост до…

Материалът <span style='color:#ff0000;font-size:12px;'>Индуцирани земетресения, застрашават стратегически язовир и региона на Перник</span> <BR> <H1 class='post-title single-post-title entry-title'>Държавата крие 45 земетресения заради корупционни интереси</H1> е публикуван за пръв път на Bivol!.

Counter Service: How we rewrote it in Rust

Post Syndicated from Grab Tech original https://engineering.grab.com/counter-service-how-we-rewrote-it-in-rust

Abstract

The Integrity Data Platform (IDP) team decided to rewrite one of our heavy Queries Per Second (QPS) Golang microservices in Rust. It resulted in 70% infrastructure savings at a similar performance, but was not without its pitfalls. This article will elaborate on:

  • How we picked what to rewrite in Rust.
  • Approach taken to tackle the rewrite.
  • The pitfalls and speed bumps along the way.
  • Was it worthwhile?

Introduction

Grab is predominantly based on a microservice architecture, with the vast majority of microservices being hosted in a monorepo and written in Golang. It has served the company well so far, as the “simplicity” of Golang allows developers to ramp up and iterate quickly.

However, Rust has seen some gradual adoption across the company. Starting with a few minor CLIs, which then progressed to notable success with a Rust-based reverse proxy in Catwalk for model serving. Additionally, a growing community of Rust enthusiasts within the organisation has expressed interest in advocating for and expanding the adoption of Rust more proactively.

After achieving success with several projects on the ML platform and addressing concerns about Rust’s ability to handle traffic at scale, the next logical step was to assess the Return on Investment (ROI) of rewriting a Golang microservice in Rust.

Background

Rust has the reputation of being highly efficient yet poses a steep learning curve. Rust is often touted to perform close to C, doing away with garbage collection while remaining memory safe through strict compile checks and the borrow checker. It is loved by developers for having rich features like being multi-paradigm (supporting both functional and OOP style), having a rich type system, and doing away with nil pointers and errors.

However, regardless of how well regarded a certain language is in the industry, rewrites of any system should always be considered very carefully. When it comes to “legacy software”, there is a prevalent assumption that rewriting legacy software is a solution to eliminate technical debt and phase out legacy systems. The reality is often more nuanced.

Legacy code occurs when the developers who originally wrote the code are no longer working on the project. There are often business logic and edge-cases baked into complex legacy codebases of which the context has been lost over time. In practice, rewrites frequently take longer than anticipated and tend to reintroduce bugs and edge cases that must be identified and resolved all over again.

Rewriting vs refactoring has been written at length across the internet, you can read more about it here.

The trade-offs of rewriting need to be properly weighed and balanced. It must take into consideration:

  • How much engineering bandwidth goes into the rewrite?
  • What is the complexity of the rewrite?
  • What tangible benefits are brought about by the rewrite?

Rewriting a system solely for the purpose of “rewriting it in Rust” is not a strong enough business justification.

A legitimate concern was the steep learning curve of Rust, coupled with the risk of having only one team member proficient in the language, which would make its adoption unsustainable.

Therefore, we established a set of guidelines to follow when identifying a suitable system for a potential rewrite:

  • The system must be “simple” enough in functionality. For example, it has one or two main functionalities that can be rewritten in a reasonable amount of time and have its complexity constrained.
  • The system targeted should have large enough traffic such that cost savings brought about by adopting Rust is something tangible when balanced against the effort.
  • The members of the team must be comfortable and willing to pick up the language and achieve a certain level of familiarity to make maintaining the service sustainable.

Finding the right service

The ideal service should have a sufficiently large infrastructure footprint to justify the potential cost savings, while also being straightforward in functionality to minimise time spent on handling edge cases and complex business logic.

Looking across the stack of microservices in Integrity, Counter Service stands out. As its name implies, Counter Service is a service that “counts” and serves the counters for ML models and fraud rules. The original service has two primary functionalities:

  • Consuming from streams, counting events and writing to Scylla.
  • Exposing Google Remote Procedure Call (GRPC) endpoints to query from Scylla (and Redis) and return counts of events based on query keys. For example, BatchRead. BatchRead’s functionality of Counter Service serves up to tens of thousands of QPS at peak and is fairly constrained in functionality. Hence, it fulfilled our target criteria of being “simple” in functionality yet serving a large enough amount of traffic that justifies the ROI of a rewrite.
Figure 1: BatchRead flow of Counter Service, reading data from Scylla, DynamoDB, Redis, MySQL and serving the counters through GRPC.

Rewrite approach

There are a few ways to approach a rewrite in another language. One popular way is to convert your code line by line. If the languages are close enough, it might even be possible to programmatically convert your code like C2Rust.

We decided not to use such an approach for our rewrite. The major reason is that idiomatic Golang was not necessarily idiomatic Rust. We wanted to approach this rewrite with a fresh perspective and treat this as a true rewrite.

We treated the application like a black box, with the interfaces well defined, like GRPC endpoints and contracts. Similar to a function, you could call the API and get a deterministic result, and we had the data that was stored in Scylla.

Based on how we understood the application to work based on its specs and contract, we chose to rewrite the application logic from scratch to meet the API contract and to get as close as identical outputs from the new black box.

OSS library support

We started out by mapping out the key external dependencies and checking how well they were supported in the Rust ecosystem and in open source.

Table 1: List of libraries and their star ratings
Functionality Library Stars (as of Nov 24)
Datadog (Statsd Client) https://github.com/56quarters/cadence < 500
Lightstep (OpenTelemetry) https://github.com/56quarters/cadence > 1000
GRPC Server https://github.com/hyperium/tonic > 500
Web Server https://github.com/actix/actix-web > 20,000
Redis Client https://github.com/aembke/fred.rs (Async Redis Library + Client pool) > 5000
Redis Client https://github.com/redis-rs/redis-rs (“Official” redis client, initially picked but discarded) > 3000
Scylla Client https://github.com/scylladb/scylla-rust-driver ~500
Kafka Client https://github.com/kafka-rust/kafka-rust >1000

All the functionality we need is available through libraries in the Rust ecosystem. However, we found that some libraries are not particularly “popular,” as indicated by their relatively low number of GitHub stars.

The practical concern with using less “popular” libraries is the risk of limited community support or potential abandonment over time. That said, if an “unpopular” library is officially maintained by the associated open-source project—for instance, the Scylla driver has only about 500 stars but is officially provided by the Scylla project—we would need to ensure confidence that it will continue to receive active support.

Out of the list of libraries above, the “unpopular” and unofficial libraries can be narrowed down to two libraries:

  • Datadog – Cadence
  • Redis – Fred

For Datadog, there is no “official” Datadog Rust client. Yet, we picked Cadence as the API looked intuitive and the features we needed were already supported.

In regards to Redis, after testing it, we discovered that the support was not up to par with our requirements. We then opted for a newer and less popular library, fred.rs that seemed to be actively being developed by the community.

Company specific internal libraries

With the vast majority of microservices being written in Golang, most internal libraries are also written in Golang. Opting to rewrite a service in Rust means we are not able to use these internal libraries.

Examples include:

  • An internal configuration library that utilises Go Templates to template configurations for different environments (staging and production).
  • The internal configuration library has its own wrappers and injectors to pull and render secrets.

To overcome this gap and re-use Go Templates and configuration language, we decided to write a simple wrapper and parser using the nom parser combinator to parse the templates and render the config.

Nom poses a steep learning curve. But once familiarised, it is flexible and performant enough to build an equivalent to the internal library. Parser combinators are an interesting subset of tooling that allows you to create some fairly elegant parsers.

Road bumps

The borrow checker

One of the most striking paradigm shifts for developers transitioning to Rust is adapting to the strict rules of the borrow checker, which enforces that variables cannot be reused multiple times unless explicitly cloned or borrowed.

Interestingly, the borrow checker was not the biggest hurdle for new developers. The key is to avoid introducing lifetimes too early in the development process, as this can lead to premature code optimisation.

In many cases, adding a few clones (and occasionally Arcs) can help new developers get up to speed and iterate more quickly during development. The resulting code is usually “fast” enough for initial purposes. After that, the code can be revisited to eliminate unnecessary clones for improved performance. An efficient approach to this can be taken by using Flamegraph to profile your code and identify memory allocation bottlenecks.

Async gotchas

When rewriting Golang logic in Rust, there are fundamental differences in how they treat concurrency and parallelism.

One of Golang’s most remarkable strengths is its ability to deliver high-performance concurrency while preserving simplicity.

There are two fundamental approaches to concurrency in programming languages, namely:

  • Preemptive scheduling (stackful coroutines).
  • Cooperative scheduling (stackless coroutines).

Preemptive vs cooperative scheduling is an in-depth topic with the gist of it being, Golang uses preemptive scheduling and each “Goroutine” has a stack that needs a runtime. The Golang scheduler has the power to “preempt” and “freeze” functions and switch to another stack like stackful coroutine. This is a gross oversimplification of the nuances. For more details, this is a good introduction to the topic.

Rust opts for cooperative scheduling whereby it has no runtime and each coroutine does not maintain a stack. Hence, it has no ability to “freeze” a function and swap context. This allows Rust to be more efficient in terms of memory and resources, as it maintains a state machine. However, the consequence is that this moves the complexity up the stack to the programming language itself. Similar to Javascript, functions are “coloured”, and the developer has to explicitly annotate their functions to be async or sync. Await points need to be explicitly called and control needs to be “yielded” (i.e. cooperative and stackless) so the Rust program knows when it is allowed to stop and swap between coroutines. To read more on this, refer to this and this article for the history of async Rust.

Needing to annotate a function is a classic complaint that is addressed in the article “What Colour is Your Function” that highlights developers’ responsibility to explicitly colour their function and consciously think about blocking vs non-blocking code.

Contrast this with Golang, where you simply need to add the go keyword without thinking about which code might block the execution and use channels to communicate across Goroutines. Golang allows the developer to achieve high performance without much cognitive overhead.

This is especially important for developers new to Rust. As the lack of experience in async and blocking code can be somewhat of a footgun. In the initial rewrite of Rust, we made an amateur mistake of using a synchronous Redis function to call the Redis cache. It resulted in the application performing poorly until we corrected it with the non-blocking asynchronous version using the Fred redis library.

Impact

Following the eventful process of rewriting the service from the ground up in Rust, the outcomes proved to be quite intriguing.

Shadowing traffic to both services as seen in Figure 2, the P99 latency is similar (or perhaps even slightly worse) in the Rust service compared to the original Golang one.

Figure 2: P99 latency comparison between the Golang service (purple) and Rust service (blue).

Normalising the QPS and resource consumption, we see from Table 2 that Rust consumes ~20% of the resources of the original Golang application, resulting in 5x savings in terms of resource consumption.

Table 2: Comparison of resource consumption between Rust and Golang service.
Service Indicative QPS Resources
Original Golang Service 1,000 20 Cores
New Rust Service 1,000 4.5 Cores

Learnings and conclusion

The outcomes and insights from this rewrite have been eye-opening, debunking certain myths while also validating others.

Myth 1: Rust is blazingly fast! Faster than Golang!

Verdict: Disproved.
Golang is “fast enough” for most use cases. It’s a mature language built with concurrency at its core, and it performs exceptionally well in its intended domain. While Rust can outperform Golang due to its higher performance ceiling and finer-grained control, rewriting a Golang service in Rust solely for performance improvements is unlikely to yield significant benefits.

Myth 2: Rust is more efficient than Golang

Verdict: True.
Rewriting a Golang service in Rust will probably give you 50% savings in compute. Rust does fulfill its promise of being memory safe without garbage collection, allowing it to be one of the more efficient languages out there. This is in line with other discoveries in the market.

Myth 3: The learning curve of Rust is too high

Verdict: It depends.
Pure synchronous Rust is fine. As long as you don’t overcomplicate the code and only clone what is needed, it is mostly true. The language is easy enough to pick up for most experienced developers. Even with cloning sprinkled in, the code is usually “fast enough”. The compiler is a good teacher, the compiler error messages are amazing, and if your code compiles, it probably works. Also, the Clippy linter is amazing.

However, introducing async can be challenging. Async is something quite different from what you would encounter in other languages like Go. Improper use of blocking code in async code can result in nuanced bugs that can catch inexperienced Rust developers off-guard.

Evaluating the worth of the rewrite

Yes, the effort was worth it for this service. The trade-off between development effort spent and the cost savings were justified.

As a side effect, the service is 80% cheaper and probably more bug free, as Rust eliminates a class of common Golang errors like Null pointers and concurrent map writes by virtue of the design of the language. If your code compiles, you usually have the confidence that it will work as you expect due to the language being more explicit.

Would we encourage choosing Rust over Golang for new microservices? Absolutely, as the resulting service is likely to be at least 50% more efficient than its Go counterpart. However, this decision presents an important and exciting opportunity for management and leaders to invest in empowering their engineers by equipping them with the skills to master Rust’s unique concepts, such as Async and Lifetimes. While the initial development pace might be slower as the team builds proficiency, this investment can unlock long-term benefits. Once the workforce is skilled in Rust, development speed should align with expectations, and the resulting systems are likely to be more stable and secure, thanks to Rust’s inherent safety features.

Join us

Grab is a leading superapp in Southeast Asia, operating across the deliveries, mobility and digital financial services sectors. Serving over 800 cities in eight Southeast Asian countries, Grab enables millions of people everyday to order food or groceries, send packages, hail a ride or taxi, pay for online purchases or access services such as lending and insurance, all through a single app. Grab was founded in 2012 with the mission to drive Southeast Asia forward by creating economic empowerment for everyone. Grab strives to serve a triple bottom line – we aim to simultaneously deliver financial performance for our shareholders and have a positive social impact, which includes economic empowerment for millions of people in the region, while mitigating our environmental footprint.

Powered by technology and driven by heart, our mission is to drive Southeast Asia forward by creating economic empowerment for everyone. If this mission speaks to you, join our team today!

The collective thoughts of the interwebz