19092025

P.I.F. – Сезоните говорят

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

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

– Да не смяташ да спираш? – попита Снежният човек, усетил намеренията му.

– Май… няма голямо значение – тихо отвърна Сърцето.

– Тъжно е да видиш спряло сърце, особено през зимата.

– Май наистина няма чак толкова голямо значение – още по-тихо каза Сърцето.

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

Тази мисъл го стресна и той започна да говори още по-силно:

– Виж сега… Не може да спираш посред зима… Така де, студено е! То и да е топло, пак не бива да спираш… И изобщо… Защо ще спираш???

– Май наистина няма…

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

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

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

– Не… Ъ, да… – Снежният човек се обърка. Вече съвсем не знаеше как да говори с това малко сърце – Ще опитам от начало. Аз съм снежен човек, а снежните човеци нямат сърца. Мисля, че всеки го знае. Ние оживяваме от вярата на децата, които ни правят. Напролет всичко свършва.

– Кратко и ясно – каза Сърцето.

– Просто и ясно! – поправи го Снежният човек.

– И… и е тъжно.

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

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

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

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

Пролетта изпрати първите си топли дни.

16092025

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

Не спах добре.

Легнах в 00:00, станах около 03:30, огледах се, навън очаквано беше тъмно. Станах, измих зъби, подготвих нещата си и хайде към колата. Пътувах трудно до Балчик, а там реших да дремна още малко и чак към 6 и малко се качих на колелото.

Този път беше рекорден по гонене на кучета – моите приятели в Балчик, после три (!!!) пъти в Каварна и един път във Вама Веке като последното беше интересно. Засякоха ме от другата страна на платното 5-6 кучета и докато се присягам за спрея и готов за битка един мотор блъсна главатаря им. Размина му се с малко скимтене, но беше въпрос на част от секундата да стане трагедията.

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

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

Интересно е да отбележа, че тръгнах на 12 градуса и финиширах на 27 градуса. Забавно.

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

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

Битката продължи няколко пъти докато не минах границата с Румъния. Там след случката с кучетата спрях на плажа им (огромен и с още по-огромни вълни) и си оправих педалите. Мириса на море, гледката, всичко беше прекрасно.

И после остана “само” да се върна. Бях на километър 70 някъде и спрях за първа почивка в едно кафене на границата. Минаха десетина минути и потеглих с разумна скорост на обратно. Лека полека започнах да се приближавам към крайната точка и както ВИНАГИ да му се невидеше тялото ми едва тогава започна да произвежда нужните хормони и адреналин. Нещо в мен се запали и след като видях, че ми остават около 45 минути до start/finish точката нещо в мен се обърна. Беше точно като във филмите. Някакви равни порции яд, тъга, жестокост към себе си, някакви други усещания – всичко в едно. Успях да се регулирам само за малко.

Последните 40 минути бяха ад.

Ад, който чаках още от началото, но дойде със закъснение. Тялото ми започна да крещи – “Спри бе, идиот, ще ни пребиеш”, но вече бях влязал в Онзи режим. Краката прибрани, лактите също. Главата наведена достаръчно ниско за да виждам, но и да мога да се възползвам от аеро позицията си, а ръцете ми стискат Костенурко – играчката, която децата ми подариха преди време и нося със себе си (ако се загледате ще видите, че го нося и на Dev.BG All in One).

Реве ми се, но не мога, защото просто физически не мога друго освен да карам. Краката ми горят, вътрешностите ми – също.

Минават 5, 10, 15 минути. После 20, 25, енергията ми свършва лека полека и … ето я бензиностанцията. Още 3 километра.

И пак, поредния ми номер е да настъпя на абсолютния си предел. И това и правя. Напъвам, на прага на хипервентилацията съм, реве ми се, краката ми са два големи пожара, а дробовете – милиони малки.

Финиша идва след 500 метра. Борко. 400 метра. Оги, 300 метра. 200 метра. 100 метра. Финиширам.

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

Дишам, издишам. Прибирам колелото с чувството, че можеше да дам още малко.

Още малко.

Но не мога.

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

15092025 – git шмекерии

Днес един от колегите в офиса имаше интересен казус. Някой му беше омазал IaC-то и търсеше начини да си направи контрола на промените по неговата част от кода много по-затегнат.

Проблема обаче е, че това репо е споделено между два доста големи екипа и ежедневно валят по много PR-и, които той не може да следи един по един.

Та ни разпита какво решение може да има в GitHub и се присетих за това, което бях гледал преди време пак по подобен случай. git са измислили супер елегантно решение (което се поддържа от github/gitlab и сие) с много тъпо име – CODEOWNERS. To представлява специален файл в който даваме условие и owner, например:

# All Terraform files
*.tf @devops @nedko

# Everything in the devops folder and its subfolders to @devops-team and user @nedko
/devops/ @devops-team @nedko

Горното е пример за това как можете да добавите в CODEOWNERS както файлове (може и единични като pom.xml например) или по друг критерии, може и цяла директория. Добра практика е да използваме групи, а не единични акаунти, защото ако аз напусна (или HR разбере за вицовете, които разказвам в офиса) ще стане лошо.

Файла трябва да се казва CODEOWNERS и да бъде в основната директория на проекта, в .github (за github потребителите) или в docs директорията.

12092025 – без

Пиша в 0:25 часа на 12 Септември.

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

И идва онова лепкаво, отвратително чувство на празнота и тиха, душевна гибел, която идва всеки път когато трябва да си оставя децата. Онова чувство, което те кара да скимтиш вътрешно, но да се усмихваш на децата. А те да ти казват – “Тати, сега като си при мама много ще ни липсваш, наистина”.

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

11092025

Днес съм доволен в офиса – работя по една крива задача вече прекалено много време и днес най-накрая успях да деплойна голяма част от нещата. Говорим за AWS CDK и Python. Логично решение за програмисти и трудно за девопси.

Скоро ще пренапиша всичко на terraform, което ме прави щастлив. Ще раздвижа малко ръждясали пръсти.

10092025 – нова тема на блога

След много години изпозлване на Wilson реших да експериментирам с нова тема. Тази е болезнено проста и това ми харесва. Може би ще сменя цветовите схеми да са по-тъмни (или любимото ми solarized).

Какво мислите вие? Харесва ли ви?

P.S. Пиша поста за Дунав Ултра, днес/утре би трябвало да е готов. Отново се очертава солидно четиво.

10092025

Ако по някаква причина ви се наложи да експортирате всички параметри от вашия AWS Parameter Store можете да го направите учудващо лесно с:

aws ssm get-parameters-by-path --path "/" --recursive --with-decryption --region <region> > parameters.json

Импорта с малко python и магии и този пакет и нещата ще станат.

09092025

Днес е много плодовит ден за блога – трети пост за деня!

Пуснали са интервюто на русенската група с която карахме Дунав Ултра тази година – https://radioruse.com/article/10067.

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

The downsize initiative

От месеци се каня, но може би последните две капки бяха, когато:

  • Платих последния месец и осъзнах, че мога да намаля потреблението си с поне 1/3
  • Прочетох (и говорихме надълго и на широко) с Мишо за downsizing-а на неговия сетъп

VPS

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

pCloud cleanup

Както казва и заглавието – дълго време използвах pCloud акаунта си да мятам неща в него с “абе после ще го организирам” и така до момента в който вече не можеше повече. Подхванал съм да оглеждам и сортирам и по последни сметки ще спестя около 20%-25% откъм място. За моя недолюбен офисен Windows ми помогна с един приятен проект (който имаше много подобен и за Linux да не се възгордяват много феновете на микромеките) – WinDirStat като ncdu/baobab/filelight/etc.

Homelab

Най-интересната част. Там съм подхванал смяната на enterprise хардуера с miniPC-та. Там имам няколко много интересни идеи за които ще споделя малко по-натам.

09092025 – rclone

Вчера си прехвърлих бекъпите от DigitalOcean Volume Block Storage към pCloud като част от моя downsizing initiative. Много по-забавно е да оптимизираш отколкото да плащаш ненужни пари всеки месец. Тези дни ще напиша статия за страхотността на rclone и колко мощен е той, особено в комбинация със screen/tmux.

Transferred:       31.839 GiB / 31.839 GiB, 100%, 48 KiB/s, ETA 0s
Errors:               232 (no need to retry)
Transferred:       209097 / 209097, 100%
Elapsed time:   1h36m57.4s

Бекъпите се наляха доста бързо както се вижда от снипета по-горе – 31GB за 1:37 часа. В предишни опити да mount-на pCloud-а си като local storage, за което съм писал и бързо howto, след някакво време нещата се забавят зверски много. За това и не можах да прехвърля 30-те си гигабайта в бекъпи (аз за моженето – щях, но не им даде сърце да гледам как трансфера ми беше килобайти).