Category: Недко разказва

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.

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

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

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

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-а може да се използва практически навсякъде) може да ви улесни живота с много.

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

Преди седмица ми попадна една снимка на финиширащ 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 км за малко под два часа и се чувствам изморен, но добре.

Най-накрая излезе Apple silicone M2

Версията на тази статия я има записана и в подкаста за по-голямо удобство

Чаках повече от година докато се наканя да взема Apple Air M1 като чаках основно за втората генерация на процесора, който създаде солиден buttpain на Intel и разбута доста пазара на performance ultra-low voltage процесори (демек леки, но бързи лаптопи и ултрабуци чиито батерии държат повече от един работен ден). Та бях убеден, че ще итерират нова версия след година, но се оказа, че пуснаха performance версиите Pro/Max). Малко отклонение, но се оказа, че М серията е измислена бриляантно, защото може да се закачат серийно n-брой процесори и така MAX представлява ъпгрейд по силата на два или повече М1 base процесора. Това осигурява почти безкрайни възможности за ъпгрейд. Минуса е, че използва unified memory, която е много бърза (в процесора), но до 16ГБ (при М1) така и не може да се ъпгрейдва. Може би към момента М серията не би била готова за sever grade решения (но съм убеден, че ще видим и това в някакъв момент, както виждаме Atom процесори в server grade инфраструктура).

Та чаках новия М2, чаках и накрая си взех М1, която е бру-тал-на машина, страхотно тънка, лека, по-бърза от моите така или иначе високи очаквания и невероятно тиха защото единственото подвижно нещо в нея е … копчетата на клавиатурата :D MacBook Air в комбинация с M1 или М2 процесор няма вентилатор. Toва, без да влизам в подробности, е заради двата вида ядра в процесора, подобни на тези, които имаме в телефоните – такива, които отговарят за леките операции и performance ядра, които се включват само като пуснете нещо тежко. Иначе като съпоставка можем да сравним М1 с предишния top of the line Intel i7 (използван Macbook Air от 2018г.) като М1 държи 7 вата (!!!) в idle и 39 вата максимум натоварване, докато i7 държи 20 вата в idle и 122 в максимум натоварване.

Apple Macbook Air M2

Новия Apple MacBook Air идва с новия M2 чип като освен това разликите са и:

  • Нов дизайн с по-тънка рамка (bazel), идва с notch (на който вече са му оправени голяма част от първоначалните софтуерни проблеми, а зад notch-а се крие и новата 1080Р камера. Лаптопа вече прилича повече на два iPad-а един върху друг – няма скосяване при китките, изглежда доста квадратен, но с приятен дизайн. Линията има и нови цветове – silver, space gray, starlight, midnight. Няма вече розов цвят така, че сори, Злати, но следващия лаптоп няма да ти е розов.
  • Нов порт – така желания magsafe се връща обратно в играта и така лаптопа става с два Thunderbolt/USB type-C и един аудио жак. Magsafe зарежда вече с цели 64 вата (около 50% за час) като ще има и версия с два Thunderbolt/USB type-C за да си зареждате две устройства едновременно, но с мощност до 35 вата
  • Колонките, които са абсурдно добри за такава машина вече ще са разпределени на четири части, а микрофона, който също е доста добър вече поддържа и beamforming audio
  • Дисплея по традиция е нечовешки като в новия MacBook Air M2 ще е, както написах и по-горе, с по-тънък безъл, 13.6″ размер на дисплея, по-ярък с до 500 нита (като 13″ MacBook Pro), bazel и нова 1080Р камера
  • Процесора е вече с 4 милиарда транзистора в повече, до 2 GPU ядва отгоре повече, TDP и честота още не са анонсирани в сайта на Apple, 8 TOPS повече (Trillion Operations per Second) за neural engine процесора, до 24ГБ unified RAM (преди максимума беше 16GB), memory bandwidth-а е ъпгрейднат до жестоките 100GBps (за справка преди беше 68,25GBps използвайки LPDDR4X RAM) с поддръжка на новата LPDDR5 RAM, процесора, както и предшественикът му използват 5nm процес, М2 е с около 20% по-бърз и между 30 и 35% по-бързо GPU
  • Батерията продължава да е жестока и с 18 часа живот (при video playback, 15 при браузване) и е 52.6 watt-hour
  • Разновидности на MacBook Air m2 – разликите са малки, по-скъпата версия има две GPU ядра в повече, 512GB SSD (и двете версии могат да се конфигурират до 2ТБ)
  • Цените са $1199 за базовата версия с М2 чип, 8GB RAM и 256GB SSD и $1499 за версията с повече GPU cores, 16GB RAM и 512GB SSD
  • Fun fact – MacBook Air M1 2020 ще продължи да се продава, но цената му остава същата – $999.
  • Ще има и MacBook Pro 13 М2 като разликата с MacBook Air М2 са потресаващи и на 90% в полза на Air. Същия разполага с нов дизайн, по-лек е, по-добър дисплей, има magsafe, по-бърз fast-charge, нова камера, повече портове. Toва в което Pro е по-добър е, че има вентилатор и малко по-голяма батерия…
  • Не толкова fun fact е, че М2 продължава да поддържа само един външен дисплей (до 6К резолюция).

A заслужава ли си?


Според мен – зависи. М1 е изключително адекватна машина, която има много плюсове и макар и М2 да е добра не е с порядъци за да бъде следващото нещо, което бих искал да си купя. А и с цена от $200 повече не е първото нещо, което бих избрал.

Edit – Linux Tech Tips имат стра-хот-но видео с много повече информация и по-дълбок поглед над новия MacBook Air M2, препоръчвам ви го:

18.03.2022

Искам да накарам диска ми да се mount-ва автоматично при стартиране на ubuntu-то та реших да споделя ако някой има нужда от долните редове:

sudo fdisk -l

От списъка намирам, че диска, който търся е sdb, a partition-а му е sdb1:

Disk /dev/sdb: 5,47 TiB, 6001175126016 bytes, 11721045168 sectors
Disk model: ST6000DM003-2CY1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: C2683872-ECAF-4306-8170-73D16C6CE475

Device     Start         End     Sectors  Size Type
/dev/sdb1   2048 11721043967 11721041920  5,5T Linux filesystem

След това намирам UUID-то на partition-а (може и с името ѝ, в случая /dev/sdb1, но това не е добра идея по много причини):

$ sudo blkid
/dev/sdb1: UUID="fe490c8e-ac32-442a-2dfc-8e089131e048" TYPE="ext4" PARTLABEL="Storage drive" PARTUUID="6b1f3ab3-a009-43d8-8fc4-d8e456acc717"

И добавяме на нов ред в /etc/fstab

UUID=fe490c8e-ac32-442a-2dfc-8e089131e048 /mnt/bigDrive ext4    defaults        0       2

Като разбира се променяме UUID и mount point-а, който при мен води до /mnt/bigDrive.

И за да тестваме дали сме направили всичко правилно може и без рестарт, а със следната команда:

$ sudo mount -av
/                        : ignored
/boot/efi           : already mounted
none                 : ignored
/mnt/bigDrive   : successfully mounted

Туй то.

НАП експириънс 101

Трябва да попълня една бланка за която трябва да декларирам и че нямам задължения към НАП и днес остана време отивам, вътре 5000 човека с разстояние един от друг между 5 и 10 см, питам, казаха ми да отида на гише 20, там няма никой, тази от 19 гише ми вика

– Kо искате?? (20 минути преди обедната им почивка).

Обяснявам аз докато скърцам със зъби, тя ми казва

– Идете на 21 гише (където няма никой).

Леко червен на 23 гише намирам един мъж, който богу изглеждаше така все едно нямаше идея къде е и какво трябва да прави. Излезе любезен (смисъл, че не въртя очи и не ми се кара или говори постагресивно), обяснявам му аз за какъв уй съм там и той

– Еми да и аз

– ??? и той –

– Кое не разбрахте?!? и аз

– ?!?, гледа ме гледа като болна коза.

Обясних му пак същото, но на 0.9х скорост. Разбра, вика

– Пуснах справката ама … имате задължения.

– Нали за това съм там бе! мисля си аз докато скърцам със зъби.

Питам любезно:

– А какви задължения имам и цитирам единствената информация, която получих от НАП за моите задължения:

– Еми от общината нещо, глоби ли, наказания ли нямам идея ама 20 кинта са така, че ги пускам за плащане и аз:

– Ама … какви са тия и бях срязан както  Анакин реже глави с лазерния меч и се спрях. И тоя

– Готово!

– Кое?

– Еми плащането, готови сте!

– Как е готово като не съм ви дал картата си?!? и тоя

– !!!, аз:

– ?!? Аз на свой ред и тоя

– Идете на гише след 25 и преди 30 за да си го платите и после при мен.

– Ок
Отивам и срещам жена на прага на менопаузата, която така е яхнала метлата, че ме intimidate-на моментално все едно видях учителката си по литература в средното училище. Просъска ми (3-4 минути преди обедната им е това все пак) и аз смачкан като картоф ѝ обяснявам и таз жена за сигурно 20 секунди ми взе ЕГН-то, направи справка, разпечата я и ми каза къде да разпиша. И я питам

– Това ли е? и тя

– ?!?, аз

– ???, тя

– Айде следващия!

Ок викам си, отивам при бот №1, че нали ми каза да отида при него, отивам и той

– ?!?, аз

– ???, той

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

– Еми нали ми казахте да дойда и тоя

– Тръгвайте си, няма нужда да идвате тук!

И така, платих си борча към общината-майка, попълних формуляра, който е супер dodgy и сега очаквам от счетоводството да ми върнат 45 мейла с грешки и препоръка да отида да се лекувам в някой санаториум.

Ако можете го направете електронно, а до тогава – да идва Божо и да ги рефакторира, че всеки пък си е приключение (особено в КАТ, но те са за друга тема).

Мина QA: Challenge Accepted 6.0

Мина, мина, мина! Чаках този момент от няколко месеца вече и като мина се образува стандартния вакуум който си се появява след като сляза от сцената.

Този път публиката беше разделена на три основни части – в залата, отвън и online. Общо организаотирте казаха, че са били долу-горе колкото миналата година – малко над 700 човека (без тези, които после са гледали видеата).

Подготовката ми започна началото на годината и когато COVID-19 отложи конференцията за Септември бях се поотпуснал, но като стана Септември пак беше драма. Но този път контролирана драма. Този път научих токова много по темата, че смятам да направя първите 2-3 епизода на подкаста по темата с говорене пред публика. Смятам да говоря освен за нормалните неща като подготовка, soft & hard skills и за неща за които рядко се говори – какво е да стъпиш наистина на сцената, какво може да се счупи там (например аз чувах гласа си с около половин секунда закъснение и това ме счупи много).

Този път Златина беше с мен, беше първата ми big-scale conference с нея и това помогна доста. Дори после преживях доста по-лесно цялата комуникация с хората и видях красивото в неща, които не бях забелязвал.

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

Те така де, друго интересно е какъв импакт може да има и LinkedIn. Споделих преди няколко дни пост за конференцията и събра общо над 4600 views, 70-тина лайка и огромен брой читатели, които не са HR (което всъщност ме учуди най-много).

Те така де, очаквайте скоро по-подреден и panic-free епизод с основните точки от talk-а ми. Даже се замислям дали няма да е удачно да го изнеса (без техническите детайли) на TedX. Вие какво мислите?

P.S. Аз забравих най-важното, бе!

Линк към презентацията можете да намерите тук.