Page 11 of 51

Sliknot – Yen

В моя стил е ако харесам едно парче да го въртя на repeat с дни/седмици (както беше първото парче от OST-то на God of War, като Kovacs, както Joe Bonamassa и Beth Hart и връщайки се назад през годните още десетки парчета). Та когато излезе Yen, на Slipknot, като част от албума The End, So Far, който ще излезе в края на Септември, я чух, заедно с останалите – The Dying Song (time to die) и The Chapeltown Rag като и трите ми допаднаха много, но основната ми грешка беше да сравнявам с Iowa, моята първа Слипнот любов и първата ми наистина тежка, смразяваща и болезнена музика. Или поне така ги усещах тогава. Нямаше да повярвам, че си ги въртя като взимам малкия от яслата, но това е друга тема.

Но реших един ден да си пусна и трите песни, които ще са в новия им албум и с неохота да чакам още един месец за да чуя и останалите. Та пуснах си Yen, като първа, после някак като знаех, че ще ги слушам цял ден ѝ обърнах малко повече внимание, но без Iowa очакванията (който скоро навърши 21 години!). После се зачетох в текста, който се оказа леко смущаващ, но добър, после в заоблените краища на гласа на Кори, в грубите и нащърбени остриета, които излизат още при първите “As the knife goes in, cut across my skin, when my death begins…” и божествената част, заради която пиша този текст:

I wish this pain could last forever, forever

I wish this kill coud make me suffer for good.

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

Видеото към песента също е добро:

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

Няма да бъда лектор на QA:ChallengeAccepted

Priorities first. Злати ще роди всеки момент (месец по-рано) така, че след консултация с АГ-то стана ясно, че по времето на конференцията (или малко преди нея) Злати ще има най-много нужда от мен и писах на Пешо Събев в последния момент, че няма да мога да отида.
Лекцията ще съществува, но по-натам – може би след месец/два ще направя епизод на подкаста, защото вярвам, че това е важна тема за нас като специалисти и се надявам да успея да мотивирам някого да направи голямата стъпка.

За бебенце 2 ще пиша като дойде.

aws zsh autocomplete

Един бърз writeup как да си подкарате безспорно (безпорно?) мегаудобството aws cli completition (тоест като напишете aws s3 l да ви покаже всички коменди в този namespace) под macos. Как да го инсталирате можете да прочетете тук.
В документацията на aws го има описано в повече детайли, но meat-а е само да добавите в .zshrc следните редове:

# Path to aws_completer
export PATH=/usr/local/bin/:$PATH

autoload bashcompinit && bashcompinit
autoload -Uz compinit && compinit
complete -C '/opt/homebrew/bin/aws_completer' aws

След това за да избегнем стъпката с logout или рестарт можем просто да презаредим файла наново (един хубав плюс е и това, че ако нещо не сме paste-нали правилно или пътят към aws_completer-а е грешен ще получим и съответното съобщение и ще ни спести малко време вместо да рестартираме при всяка промяна да речем):

source ~/.zshrc

Сега е време за тест, да опитаме да изкараме списък с всички ec2 instances (без значение от state-а им):

aws ec2 describe-instances --output json | jq

Малко е трудно да направя демо на това, но като напишете aws ec2 des[TAB] и ще ви покаже всички възможни опции. След като изберете нещо конкретно можете да продължите със следващия параметър, в случая –output. Неудобното е, че не suggest-ва и опциите по параметрите (в случая те са json, table, yaml-stream, text, yaml), което приемам за неудобство, но и разбирам, че не би работило това навсякъде (представете си autocomplete-а да прави requests към вашите ресурси (дай всички ec2 инстанции, после дай всички тагове и т.н.). Би било епично, но не виждам това да бъде възможно скоро време. Та ако имате инсталиран jq бихте видели output с всички параметри по EC2 инстанцията (които са десетки). За по-лесна визуализация можете да използвате –query параметъра и да изкарате нещо подобно:

aws ec2 describe-instances \
--query "Reservations[*].{ \
OwnerID:OwnerId, \
IP:Instances[0].PublicIpAddress, \
InstanceID:Instances[0].InstanceId, \
AvailabilityZone:Instances[0].Placement.AvailabilityZone, \
InstanceState:Instances[0].State.Name, \
KEY:Instances[0].KeyName, \
VPC:Instances[0].VpcId, \
InstanceType:Instances[0].InstanceType \
}" --output json | jq

И съответния output:

[
{
"OwnerID": "255875099999",
"IP": null,
"InstanceID": "i-074db48e5a4a4a4a4",
"AvailabilityZone": "eu-west-1a",
"InstanceState": "stopped",
"KEY": "nedko",
"VPC": "vpc-0cb7fb97b97b97b97",
"InstanceType": "t3.micro"
}
]

–query е мощно средство ако искате да автоматизирате през aws cli или искате да дебъгвате нещо определено и по ред причини не използвате AWS CloudWatch да речем. Аз например имам един gistс няколко craft-нати spell-а за различни кейсове, които са ми били нужни през годините и когато имате 20-30-40 инстанции (или ресурса, тук пиша в контекста на EC2, но cli console-а може да се използва практически навсякъде) може да ви улесни живота с много.

Hills of Rock, day 1

Holy fucking shit. Сутринта тръгнах от Варна към 10 и малко и след като се изпържих 80 пъти в колата най-накрая стигнах до Пловдив. Видях се с Вальо в квартирата и отидохме дa шибнем по едни пици близо до стадиона. Дойде Вельо и тримата се метнахме натам. Беше късничко, някъде към 7:30 и Heaven shall burn тъкмо бяха започнали. Ударихме по една биричка, после по още една и накрая беше мой ред да се наредя на опашката. ЕДИН ЧАС. Един час. Е-д-и-н ч-а-с. “Системите ни не работят”. MasterCard са едни от спонсорите и трябваше да си създам виртуална карта, която да асоциирам към Google Pay акаунта си, то 1000 неща. След 50 минути чакане и десет да ми мине транзакцията след третия таймаут взех шест бири да не се редя по опашки, но естествено им бяха свършили картончетата за 4 чаши. Беше приключение да взема шест бири в ръце и добре, че Вальо и Вельо бяха решили да дойдат да видят какво става с мен, защото посмъртно нямаше да успея да закарам всичките бири цели до тях. Вальо вика – “Недко, знаеш ли, че ти се разлива едната бира в крачола?” no shit, Sherlock, усетих я, не беше приятно :D
btw Heaven Shall Burn бяха много добре – звукът беше на ниво, шоуто – също. Ако не сте ги слушали препоръчвам.

Дойде време за Slipknot, момент за който си мечтаех може би от 16 годишен. Ние бяхме доста далеч от сцената и дори и факта, че бях малко по-висок от хората наоколо не ми помогна особено много. Добре, че имаше дисплеи отстрани.

Чакахме може би 40-50 минути и гледахме с адското нетърпение огромния банер на който пишеше Slipknot.

И изведнъж, за няколко секунди, светът затихна. Банера (или там какво се казва това, което опъват пред сцената за да прикрият екипа, който монтира и настройва инстурментите и prop-овете) падна и чухме първите стържещи ума тонове на китарата на Мик Томсън. След това всичко избухна в заря от звуци и светлини и започна Disasterpiece. То си беше и такова – бедствие в главите на всички ни. Кори и неговата нова маска разтопиха всичко, което можеше да се разтопи в диаметър от няколко километра и след това всичко остана в историята. И когато сметнахме, че по-епично не може да стане гръмкия глас на Кори започна да резонира в главите и гърдите ни с:

I've felt the hate rise up in me
Kneel down and clear the stone of leaves
I wander out where you can't see
Inside my shell I wait and bleed

Еййй богу, ако бях тинейджърка сигурно щях драматично да се хвана за главата и да припадна. Цялата публика беше обляна от онова дивашко и сурово усещане за единство и нямаше нещо, което да може да прекъсне това. Няма да изброявам песен по песен какво беше усещането, а само honorable mentions – Before I forget, Dead memories, Psychosocial, Duality, Spit it out и всичко приключи. Погледнахме се с Вельо, той кимна и се метнахме безразсъдно и с цяла душа и сърце в близкото пого. Ние бяхме стегнати и рошави, потни и желаещи това никога да не приключва, искаше ми се всички, които обичам да са около мен да попият от целия коктейл позивитизъм и желание, които излъчвах.

И тогава копеленцето се върна и на encore чухме могъщите барабани на Джей Уейнбърг и потресаващия рев на Кори и още от първата секунда, от първата нота вече знаехме какво следва. Спогледахме се с хората наоколо и всички, в един глас, заедно изкрещяхме – “People = shit”. Беше трудно да го опиша. След това последва Surfacing и вече наистина си тръгнаха под тихите звуци на тъжното “‘Till we die”.

И после всичко свърши. Бяхме размазани, разглобени и потни, целите в прах (няма да хокам пак организаторите, че ще зазвуча като някоя бабичка), на по няколко бири и живота беше поносим, ние се чувствахме леки и гледахме лицата на хора, които ако видите по тъмните улички бихте заобиколили, благи и отпуснати, усмихнати и доволни. С Вальо едвам се прибрахме до квартирата, отворихме по няколко кенчета и гледахме спортно катерене (don’t ask).
Животът имаше смисъл, ние бяхме леки и сънят дойде бързо.

Плюс сетлиста от вечерта, можете да намерите тук

Ще бъда лектор на QAChallengeAccepted 2022

Еми таковата … по едно време бях си казал, че спирам с публичните изяви (освен клипчета в ютуб как свирим пияни заляни по фото студията), но желанието ми да споделям опит (и не – не е клише, което използвам по конференции/интервюта за работа, а наистина ме е грижа) явно е по-силно.

Ще е забавен септември предвид, че началото на Октомври чакаме бебенце номер две, а то може и да подрани по негово си желание, ще имам лекция, аз вече ще съм нагазил в много дълбокото в AWS, има шанс и да пътуваме… Burnout – добре дошъл :D

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

И последно, че пак ще стане дълъг пост – когато си писах CV-то преди някакво време минах през секцията с лекции, които съм водил и учудващо за мен, но ми изплуваха някакви спомени за всички от 2016 насам и повечето – забавни. То нямаше една, която да кажа, че ми е било скучно :D Та ми се иска да направя един епизод за това, защото хората, които (искат да ) говорят предполагам ще им е полезно.

Защо го правиш?!?

Преди седмица ми попадна една снимка на финиширащ Ironman ,който отдавна е изразходил силите си и това, което е останало от него пресича линията. Остават му 4 секунди преди да го дисквалифицират.
И това ми донесе много спомени, от два дуатлона, от Дунав Ултра, от десетките бревети (към този момент имам малко под 19 000 км на колелото) и много кратки и откровено безразсъдни карания, карания в дъжд, сняг, на минус 6, някакви бягания, skyrunning. И всеки път, богу, ВСЕКИ ПЪТ когато отида някъде я на бревет, я на дуатлон всеки път някой ще се включи – “Защо го правиш това?”, “Защо не си стоиш вкъщи да си почиваш?”. От какво питам аз и обикновено разговора отива в друга посока.

Хората, които не са преживяли достигането на финалната точка на възможностите си и не са я прескачали в последствие никога няма да ни разберат. Не, че аз съм ебахти и атлета, ‘щото не съм, но се опитвам.

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

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

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

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

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

Така, че следващия път когато се чудите как може някой да бяга 48 часа, да кара колело толкова, да участва на Ironman (3.8км плуване, 180 км колоездене и 42.2км бягане (класически маратон)), да излезе от вкъщи след депресивен период не го питайте защо го прави, а си представете причината да се прибира. Правим го заради това.

11.07.2022

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

Вчера, неделя, пък се видяхме с Виктор Славчев и Ирина, хапнахме по нещо (note to myself – не умрях от порция миди) и си говорихме доста. Доста, доста, доста. Покрай ковид ограничихме рязко събиранията и комуникацията с хора и това май ми е липсвало доста. Още повече да можеш да си поговориш с два остри ума, да похейтиш малко, да обсъдите има ли такова нещо като “баир надолу” и т.н. :D Беше доста приятно + се оказа, че Ирина ми чете блога (здрасти Ирка!), а когато Виктор се опита да го направи той обикновено е down :D

God of War: Ragnarok най-накрая излезе с дата за релийз

Една от основните причини да имам Playstation 5 е God of War – това е най-добрия gameplay с най-добрата графика (да не забравяме, че релийзната 2018 г.) и с най-добрата история. Нещо, което не вярвах, че ще изпитам пак. Прекарах безброй часове в обикаляне и трошене на глави с брадва, в разговори и лабиринти.

Преди 2 години тийзнаха, че ще има нова версия, но после Covid + проблемите с доставките на Playstation 5 (и не само) забавиха целия пазар.

И ето ни тук, датата е 06.07.2022 и най-накрая, след две години чакане, един тийзър и един трейлър (който съм гледал сигурно 50 пъти) излезе датата на релийза на God of War: Ragnarok – 09.11.2022. Нямам търпение да видя накъде ще се развие историята и какво ще се случи с Кратос (има много мнения по въпроса, но няма да ви тийзвам, спокич), с Atreus и с цялата посока на играта в края си.
Изчетох много фенски теории и честно казано доста от тях звучат много правдоподобно.

А да – не ме търсете на 09.11.2022 ако обичате, няма да отговарям!

Новия gameplay teaser:

И официалния трейлър, който ме държа хайпнат със седмици:

“You seem like calm and reasonable person”

Едит – сигурно си мислите – “Хм, датата не беше ли съвсем скоро? 11 Септември?!?” И ще сте прави. Моя е грешката, че не предвидих date format-а в сайта от който прочетох новината, който е MM/DD/YYYY, а не нашия DD/MM/YYYY. За мое огорчение датата е Девети Ноември, а не Единадесети Септември… Мда, и аз останах разочарован малко, но нищо – ще дебнем намаленията по празниците.

Едит 15 Август – излезе едно невероятно видео, което разказва историята на Кратос и Atreus от последната игра. Жената, която води клипа е невероятен разказвач, а art-а е супер добър. Бтв очаква се това да е най-важния релийз на игра за PS в последните години и други фирми започват да изместват датите на своите релийзи за да не се засекат с GoW: Ragnarok. Това само по себе си говори доста.

Едит 14 септември – излезе един story trailer, който е ЖЕСТОК:

Ново бебе, нова работа, нов рожден ден

В този порядък.

Злати е бременна и ще ставаме родители за втори път. Борката още няма идея какво го очаква, сигурно и ние. Последните 2 години си бяха roller coaster, но не мисля, че съм бил толкова щастлив някога. И толкова изморен. Но си струва всеки момент, всеки памперс, всяка усмивка. Мисля, че точно тези моменти са пикът в моя живот в който всичко е просто (макар и аз да го усложнявам многократно в главата си), Борко е щаслив да ме види, бяга да ме прегърне когато му щукне, Злати ме обича с цялото си сърце и наистина разчитаме мега много един на друг. Аз съм здрав. Ще чета този пост след още 8 години да видим колко съм бил прав.

In other news след три години като DevOps ще сменя работата (всъщност последния ми ден е този четвъртък) и ще продължа пътя към DevOps и Cloud Engineering с още по-голяма засилка и хъс. Освен това смятам да се пусна пак на QAChallengeAccepted като този път темата ще е свързана с връзката между QA и DevOps и вярвам, че ще е интересна на повечето. Познавам вече доста хора, които минаха доста успешно към тъмната страна и се справят повече от страхотно и вярвам, че ще посея семенцето в главите на хората. Или ще ме пребият на излизане, ще видим :D

И да – 36. И още съм жив. Йейй. Блогът стана на ОСЕМ години за бога. Когато започвах да го пиша изобщо не си представях живота си в този ред – и личния и професионалния. И мога да бъда щастлив за това как се стекоха обстоятелствата покрай мен, на Златина, че ме направи баща, за Борко, че ме прави по-добър човек и за бебе две, което нямам търпение да срещна Октомври месец и пак да се правя, че някаква муха ми е влязла в двете очи. И това, че родителите ми и най-близките ми са живи и здрави. Благодаря на тези, които го четат от време на време. Знам, че не е в тренда да имаш блог, но моя ми помогна да науча супер много за моята професия (от хостването му до писане на статии в него, особено и сега със серията за 100daysOfHomeLab).

А относно спорта – започнах пак, тази година малко по-сериозно. До този момент имам 57 часа на колелото на общо 42 карания и изминати 990 км. Мога повече, много повече, но направих своя избор. Последно време съм се съсредоточил към малко по-големи маршрути в обедните си почивки – например днес направих 40 км за малко под два часа и се чувствам изморен, но добре.

#100daysOfHomeLab – day 3

Време е за сетъп на k8s, rancher и nextcloud! Юхууу!

Tip №1 – за да не теглите ISO на любимата ви дистрибуция на вашата машина и после да upload-вате към proxmox (аз съм с някакъв абсурден сетъп с рутерче за сигурно 10 лв. и wifi е болезнен) можете да го wget-нете направо на сървъра по този начин:

wget -P /var/lib/vz/template/iso  https://releases.ubuntu.com/22.04/ubuntu-22.04-live-server-amd64.iso

В първия пост по темата си говорихме за това, че искам да използвам k8s, но за тези, които просто искат инсталиран nextcloud (или и k8s + docker) просто могат да го направят от инсталатора на Ubuntu Server:

А какво правим когато не можем да спрем/рестаритраме машината заради Proxmox can’t lock file ‘/var/lock/qemu-server/lock-xxx.conf’ – got timeout? Първо опитваме с built-in инструмента на Quemu/KVM VMM:

qm unlock 100

Ако не стане ще се наложи по грозния начин – да изтриете lock файла. Първо намираме кое е VM ID-то, което ни е нужно и после трием lock файла ръчно. Това сработи при мен:

nedko@minimicro:~# ls -l /run/lock/qemu-server/

-rw-r--r-- 1 root root 0 Jun 17 16:27 lock--1.conf
-rw-r--r-- 1 root root 0 Jun 17 17:42 lock-101.conf

rm -f /var/lock/qemu-server/lock-101.conf

Днес е голяма забава. Оказа се, че при инсталацията на Ubuntu 22.04 LTS при Proxmox & VMWare спира при curtin command in-target. Разрешението, както е описано е да се инсталираме Ubuntu без networking и в последствие да си го пуснем. И понеже трябва да си напишем yaml-а на ръка и е малко пипкаво оставям тук моето решение (което е стандартно такова, не съм открил топлата вода). Първо трябва да си знаем името на интерфейса, което ще вземем от /sys/class/net/ защото по default например нямаме netstat в ubuntu server така, че горното решение ще свърши работа при всяка Debian based машина:

nedko@k8s:~$ ls /sys/class/net/
ens18  lo
 
nedko@k8s:~$ sudo vim /etc/netplan/01-network-manager-all.yaml

Приемайки, че нашата мрежа е 192.168.1.1/24 с gateway 192.168.1.1 (и използваме DNS на Cloudflare, които предпочитам по ред причини) резултата изглежда такъв:

network:
    ethernets:
        ens18:
            dhcp4: false
            addresses: [192.168.1.110/24]
            gateway4: 192.168.1.1
            nameservers:
              addresses: [8.8.8.8,8.8.4.4,192.168.1.1]
    version: 2

След това apply-ваме промените (с –debug за да видим детайли ако нещо се омаже):

nedko@k8s:~$ sudo netplan --debug apply

И от толкова греди не ми остана време да инсталирам docker, rancher & k8s. Next time!