“Само той знаеше горе-долу как работи всичко това, което аз създадох в един от своите пиянски периоди” – завайка се Господ.
Той нерядко е ползвал знанията на Хоукинг, за да поддържа Вселената в сравнителен порядък и в някаква степен логична.
Ха, uptime robot ми светна, че сайта е бил долу през вечерта със супер информативното съобщение – “There has been a critical error on this website”. Любопитно, но се оказа, че го е счупил един google plugin, който не възнамерявам да връщам обратно.
Набързо за white screen of death и стъпките за дебъгване:
marvinator@marvin $ free -m
total used free shared buff/cache available
Mem: 1967 1752 66 64 368 214
marvinator@marvin $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 18G 6.1G 74% /
/dev/vda15 124M 12M 113M 10% /boot/efi
Тук виждаме, че място на диска има, но имаме само 66MB свободна рам. Рестартирах нормалните виновници и по-точно MariaDB и php-fpm:
marvinator@marvin $ systemctl restart mariadb.service
marvinator@marvin $ systemctl restart php8.2-fpm.service
Да видим колко памет имаме освободена:
marvinator@marvin $ free -m
total used free shared buff/cache available
Mem: 1967 738 990 55 450 1229
Така е по-добре, от 66MB към 738MB. Това не е перманентно решение и ще трябва да си оптимизирам малко сървисите, но за сега – толкова.
2. Това не помогна да се реши проблема така, че отиваме в логовете на nginx (които взимаме от /etc/nginx/conf.d/{default}.conf) ей така (ако файла се казва default.com):
marvinator@marvin / $ cat /etc/nginx/conf.d/default.conf | grep "error.log"
error_log /var/log/nginx/nedko.info.error.log;
Правим един tail и с него гледаме какво се случва във файла след като refresh-нем страницата и ето го зайчето:
marvinator@marvin / $ tail -f /var/log/nginx/default.error.log
2024/09/10 07:58:14 [error] 2704424#2704424: *2661604 Failed to open stream: No such file or directory in /xxx/xxx/wp-content/plugins/google-site-kit/includes/loader.php on line 62;
Вероятно е минал някакъв ъпдейт, който е потрошил плъгина и оттам WordPress е изпаднал в паника. Решението ми беше да преместя или изтрия директорията от plugins и така да позволя на WordPress да си се зареди правилно.
Takeaways:
Последните години не бях добра компания както в блога така и понякога f2f. Реших да ви разкажа доскоро пазена дълбоко в мен тайна, защото е важно за мен.
От няколко години се боря с депресията с променливи успехи. И научих, че колкото повече човек подтиска проблема си толкова по-надълбоко го натиква и става още по-труден за разрешаване. Нещо като дъвка в косата – колкото повече я чоплиш толкова по-трудно е да я махнеш без да си обръснеш главата.
И с депресията ми се измениха и интересите и част от мен някак заспа. Последния път когато говорих пред хора (мисля беше на QA: Challenge Accepted) вече ми се струва супер далечен, а желание за това, поне за сега, нямам. Нямам и желание да танцувам и да карам колелото, нещо, което исках с цялото си сърце и душа.
Ако запомните едно нещо от този пост то е – ако се чувствате тъжни постоянно, ако усещате, че сте в дупка, ако не виждате много смисъл в това, което правите в офиса и вкъщи – говорете с някого. 2-3-5 срещи понякога са напълно достатъчни да се адресира проблема и да работите за разрешаването му. Хората имаме склонност към запазване на доста усложнени модели на света около нас в главите си и понякога някои малки и дори смешни неща като например … например някой съсед да ви изгледа накриво може да ви счупи настроението за целия ден. И много често причината не е това, а нещо по-дълбоко, по-неочевидно и ако разберете какво е то можете много, много по-лесно да го обработите, храносмелите и изхвърлите от мислите си.
Дължа много на Златина, която е с мен и ме търпи когато не съм особено страхотна компания и ми помага с всичко с което може. За това и винаги ще я обичам.
И в повечето неща, които четох за депресията имаше няколко неизменно повтарящи се елемента и един от тях беше спорта.
Спорта ако се практикува по правилния начин обикновено не ви позволява да стоите комфортно в дупката си, а малко от малко ви кара да сптрете да мислите за всичко около вас. С мен това се случваше преди много години с танците, а сега – с колелото. Просто ми е толкова трудно като правя тренировки за скорост или катерене на някой абсурден баир, че просто мозъка ми спира да мисли за всичко останало и влиза в един вид режим за оцеляване. И този режим колкото и странно да е ми помага да се чувствам добре след 200 км. на колелото или след някакво абсурдно каране в което средния ми пулс е бил на 90% в червената зона (което практически си е агония).
Та радикалната промяна чаках да започне в началото на месеца, след като си купя ново колело, нови обувки, после я чаках да дойде като дойде лятото, после есента, после Борко да стане на годинка, после да деплойнем нещо в офиса и колкото повече отлагах и си намирах оправдания ставаше все по-трудно да се наканя да изляза.
Е, радикалната ми промяна ще се състои в няколко стъпки и искам да съм прозрачен към вас:
И понеже човека е същество, което обича да разбира света наоколо и се е научил да прави планове за бъдещето така и аз реших да си поставя дългосрочна цел, която да е да … wait for it … wait for it …
А за да се случи това трябва да изпълня следното изискване – да имам за един сезон (Октомври до Септември) изкарани следните бревети – 200 км, 300 км 400 км и 600 км (единствения двудневен бревет) като това ще ми донесе титлата супер рендоньор, която е пожизнена и няколко медалчета за завършените километри. Едва след като изкарам дистанциите във времето определено от организаторите мога да участвам в предварително записване за PBP и вече ако има свободни места може да ме приемат. Таксата общо е около 200 евро и включва храна по checkpoint–ите, сервизни автомобили и застраховка.
Сега се чудите сигурно (ако не сте чели преди блога) дали е възможно това и ще ви кажа, че освен възможно това може да е и едно наистина страхотно изживяване. През моите около 18000 км на колело стигнах до моята истина, която е, че карането е 50% дух и воля и 50% подготовка. Това не значи, че сега ще мога да се метна на 600 км и да ги изкарам безпроблемно, но всичките тези километри могат да бъдат изкарани от всеки човек, който е поне малко fit (аз към момента тежа 108 кг. така, че съм далеч от тази категория) и има ок колело.
Към момента плана за бреветите ми е следния:
Старус | Име на бревета | Дата | Дължина | Денивелация | Контролно време |
---|---|---|---|---|---|
Успешно изкаран | Ванра – Алекси Николов | 11.12.2021 | 203 | 2107 | 13:30 |
Резово | 12.03 / 19.03 | 430 км. | 3001 м. | 27 ч. | |
Исперих | 03.06 / 4.06 | 402 км. | 3220 м. | 27 ч. | |
Тракийски | 26.03 / 2.04 | 208 км. | 1466 м. | 13:30 ч. | |
Загоре | 15.01 | 204 км. | 1228 м. | 13:30 ч. | |
Странджа | 05.02 / 12.02 | 228 км. | 2553 м. | 13:30 ч. | |
Варна 300 | 09.04 / 16.04 | 207 км. | 3574 м. | 20 ч.. | |
Успешно изкаран | Варна 200 | 10.04 / 17.04 | 218 км. | 1524 м. | 13:30 ч. |
Сакар | 19.02 / 26.02 | 301 км. | 1943 м. | 20 ч. | |
Шипка | 11.06 | 300 км. | 3682 м. | 20 ч. | |
Шипка | 12.06 | 200 км. | 2553 м. | 201 | |
Исперих | 25 – 06.06 | 608 км. | 2553 м. | 40 ч. |
Както виждате ще е challenge и то дългосрочен, което ме прави нетърпелив и може би и щастлив.
Заедно с това ще последва и неизбежното сваляне на килограмите, защото сега положението е стил дамаджана малко. Влизайки в режим обикновено бързо ми се случват нещата, но да видим как ще е този път.
Техническата тема, която винаги ми е била слабост ще я разпиша в друг пост, че този започна да става в стил 2000 думи, но основното ми е ъпгрейда, който направих преди няколко месеца от винтидж шосейния велосипед, който си има нов собственик (още ми е тъжно, че го продадох, велико колело беше) на един страхотен шосеен велосипед – Triban RC520 – full Shimano 105, дискови хидравлични спирачки и страхотна геометрия.
Крайната цел на всичко това е един здрав татко и съпруг, който да дава всичко, което има за семейството си, а не един постоянно изморен чичко.
П.С. Ако някой има някакъв интерес към нещо конкетно може да пише в коментарите – дали ще е трасето, подготовката, хранене, бих споделил всичко, което знам.
A (not) so short English version of my talk “How (not) to talk at conferences” at QA: Challenge Accepted 6.0.
It’s my first episode of the series. On the next episodes of the series I’ll cover:
If you have questions you can ask them on Discord or at https://sli.do/NedTalk
tl;dr – Понеже блога си остана едно от много малкото места в които мога да синтезирам това, което ми е интересно и знам смятам да направя редица фокусирани върху сигурността постове. Повече информация можете да прочетете в края на статията.
Списък на планираните теми, които са готови или са в процес са както следва:
Добро утро.
Винаги е приятно да влезеш в зала с десетки хора, които говорят за Agile, код и тестване.
Това, бога ми, беше първия keynote speech без презентация, който гледам. Чувството е като онези push-up bras. Всичко беше ок, но нещо липсваше.
Аз лично се изгубих напълно още в началото.
Да слушаш тестинг трола винаги е удоволствие. Дали е заради лекотата с която засажда идеи в главите ни или за интересните теми или заради братата, не знам, но при мен се получава.
И да не звуча тенденциозно мога да го хейтна (без хейт не може!1!!) – тази брада трябва да расте, по вързможност до колената! Край на хейта.
Сега, сериозно.
Лекцията му започна с препрепълнена зала и хора седящи по земята.
Първо да уточним думата hindsight. Това е “умението” да разбираме някакво събитие или ситуация само след като то се е случило. И един много подходящ пример “With hindsight, we would recommend exactly the opposite.”
Виктор каза нещо познато, което трябва да се казва много по-често и да се използва – “Tools don’t make software (tools are not a solution). You’re the one who solve the problem”.
Преди да влезем в контекста на API тестинга трябва да обясним какво е web service и Виктор го обясни по интересен начин:
Web service-а е като комуникацията със сервитьор*:
Извън контекста на презентацията на Виктор – примера със сервитьора може да се използва и при security testing-а като му поръчаш да ти сервира ‘, *, NULL, 0 OR 1=1, шкембе с крутони и т.н. И после следим резултатите.
Относно точката за status code-а – понеже статус кодовете наистина са много и е хубаво да знаем поне основните най-лесния начин за това е да видите http status cat. От там аз научих повечето :D
Няколко неща преди да започнем с API тестовете:
Кои тестове си струва да автоматизираме
Status code checks – плюсове и минуси:
Structure checks – плюсове и минуси:
Scenario checks – плюсове и минуси:
Както е писано неведнъж – при писане на тестовете използвайте ААА метода – arrange, act, assert. Това е достатъчно. Ако обаче се оплетете в морето от arrange/act-ове драмата ще е по-голяма от тия в индийските сериали.
Сега като си препрочетох описанието с тази кирилско/английска плетка не ми звучи толкова добре колко я чух, може би трябваше да я опиша на английски.
В блога на Виктор има голяма част от това, което каза на лекцията така, че смятам ще ви е интересно.
Sales Skillz for IT People
Iancho Dimitrov, VP Innovation, Strategic Clients & Business Development, Musala Soft
Доста извън моя интерес реших да участвам в лекцията на Янчо Димитров, който беше представен като легенда. Сигурно е.
Разакза ни малко за продажбите като имаше две интересни попадения:
Преди години слушах за пръв път Васил Поповски на едно от първите издания на ISTA. Тогава той работеше за VMWare и тогава и сега разказваше супер интересните неща. И понеже този път няма да мина през превеждането на термини и презентация ще е на английски.
Google have quite interesting project called project Google Aristotle. With that in mind Vasil gives us couple of vision about what’s the most important thing in team:
5) Impact – team members think their work matters and creates change;
4) Meaningful work – is personally important to team members;
3) Structure and clarity – team members have clear roles, plans and goals;
2) Dependability – team members get things done on time and meet Google’s high bar for excellence;
1) Psychological safety – team members feel safe to take risks and be vulnerable in front of each other.
How to build a great team:
Hiring:
Performance management:
По традиция и тази година ще има live blogging на ISTAcon.
Денят започна с opening speech и проблеми с микрофоните и озвучението. Добре, че беше първия лектор да разсее малко малките спънки и да поговори с харизмата на човек, който познава нещата в детайли:
Говорейки за харизма един от най-приятните за слушане лектори тази година определено отива към Брандън. В неговия keynote той ни разказа за разбиранията си за Internet of Things, където неизменно ми светна за LoraWAN и Варненското и Великотърновското общество, което разпространява идеята.
Според Брандън Internet of Things не може да бъде стабилна прекалено много време поради много фактори и предлага да го разглеждаме като … Интернет.
Разказа ни за Mesh networking, нещо, което е супер интересно и при интерес ще разпиша малко повече за него. Много грубо казано това е вътрешна мрежа, която не е expose-ната за външния свят и не зависи от интернет свързаността. Например ако имате датчик за наводнение и помпа за отводняване не е нужно и двете да са свързани с интернет, да разчитат на него и да пращат данните/респективно да се контролират от сървис, който е някъде навън като може комуникацията да стане вътрешно, датчика да подаде сигнал към помпата, която да си свърши работата. Разбира се няма да е приятно да не знаем какво става в дома ни, но не е ли по-добре automation-а да си свърши работата отколкото докато къщата се пълни с вода и настава микро катаклизъм те да ping-ват сървиса да видят дали не е Online? :)
В почивката се видяхме с Виктор Славчев и Александър Тодоров. Винаги е приятно да се видим и поговорим макар, че липсваше бирата. Ще видим довечера дали ще наваксаме :)
Александър Костадинов говори и миналата ISTA за проекта, който разработва.
Към момента лекцията му беше основно репорт за това какво са постигнали. Разказа за (QA) процесите по техния проект, които звучат доста стандартни към момента. Интересно е, че са си организирали бъговете по категории (пак не е нещо революционно, но е интересно) и се показват интересни неща.
Явно момчетта имат афинитет към категоризиране на неща. Показаха и reaction Average reaction time по категории (find cause, re-test, apply fix re-deploy). При интерес ще пиша повече по темата с категоризациите, че е хубави за всички да видят по-голямата картинка от време на време.
Иначе бяха категоризирани някои от основните принципи, които си заслужава да бъдат споменати отново, защото са важни:
Как да преживеем като тестващи хора (не само QA, а и всеки, които тества каквото и да е в коя да е фаза на проекта) в свят на бъгове и неработещи (от всякакъв тип) неща:
Bug avoidance
Bug investigation
How we survived?
Пф. Изписах си писането. Ако на някой му е интересно или има въпроси нека не се стеснява и да пита.
Тошко започна силно с няколко мемета. Темата му за Continuous Integration / Continuous Delivery е интересна.
Разказа малко философски за контейнерите (в лицето на Докер), за CI и CD
Като цяло презентацията му беше много обща и наистина нямам какво друго интересно да ви предам.
Както писах преди време Жоро от Свръхчовекът с Георги Ненов ме покани да поговорим малко за Дунав Ултра, мотивация и за още няколко интересни неща.
Подкаста излезе и можете да го чуете тук:
Благодаря на Жоро за страхотното интервю!
Излезе видеото от лекцията ми на QA: Challenge Accepted 2018.
Освен, че гласът ми трепери като на ученичка мисля, че не се справих толкова лошо.
Линк към презентацията можете да намерите тук.
В канала са и останалите видеа и lightning talks също.
Този месец се учудвам колко малко съм писал.
Personal update – в офиса ми дадоха освен QA задачи по новия проект и да вдигна един VPS като staging server с nginx, mysql, проекта е писан на Laravel. Деплоя мина добре, проектите са up and running и като има задачки на сървърно ниво ги поемам аз, което ме кара да се чувствам много добре. И това основно заради marvin, който неведнъж съм искал да запаля. Our relationship is complicated, както казват :)
Иначе ето няколко неща, които се случиха последните седмици без явна подредба:
./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d *.nedko.info --manual --preferred-challenges dns-01 certonly
pip install ngxtop
Можете разбира се да намерите и WEB модул, който прави това, но официалния е Luameter и струва 40 евро.
P.S. Ако се чудите каква връзка има комикса със статията – няма. Но ми е любим откакто го открих :D
P.P.S. Генерирането на Akismet api keys не работи така, че който иска да ми спами блога сега е момента.
Както вече разбрахте, днес IQ-то на света падна рязко. Всички се правим, че знаем колко голям е бил, но лично аз не мога да разкажа повече от 1% от това, което той е направил. И все пак е бил badass. Защо? Освен, че е гениален Хоукинг притежава още няколко неща, които прекалено малко хора имат. Едно от тях е, че през 60-те години, когато го диагностицират с ALS му казват, че ще живее още няколко години. Почина 50+ години по-късно вкопчил се в масивния клон на любопитството и нуждата да разгадае колкото се може повече загадки докато е жив. И успява. А теориите върху които е работил са:
Няма да ви копирам информацията от Wikipedia , защото е тъпо. Но не мога да не се сдържа да кажа, че това е един от най-известните съвременни учени, които ги е грижа и са толкова популярни извън специалистите в неговата област.
Книгите, които издаде (или участваше в издава) заслужават да бъдат изчетени и аз със сигурност ги мятам скоро:
И последно, обещавам, искам да цитирам големия Самуил Петканов:
IQ-то на човечеството падна наполовина
“ЗА ЩАСТИЕ САМО НА ПЛАНЕТАТА ЗЕМЯ – Видът homo sapiens sapiens се върна на библейските си нива на разум считано от рано тази сутрин.
Това се случи, след като цивилизацията загуби един от онези свои представители, който въпреки невъзможността да се преметне през лост впечатляваше всички с физическото си състояние половин век повече, отколкото бяха прогнозите.
Резкият спад в умственото ниво на вида, измислил неща като “София: Ден и нощ” и същевременно “Черни дупки, бебета вселени и други есета” надали ще доведе до особени катаклизми и Вселената ще продължи да си вселенува.”
Господ в паника: Само Хоукинг знаеше как работи цялото това Нещо
“Само той знаеше горе-долу как работи всичко това, което аз създадох в един от своите пиянски периоди” – завайка се Господ.
Той нерядко е ползвал знанията на Хоукинг, за да поддържа Вселената в сравнителен порядък и в някаква степен логична.
Единственият вариант с поправяне на Вселената сега е тя да бъде застрахована, но Бог смята, че застрахователите ще го изпържат и винаги ще казват, че щетите са по негова вина поради небрежност.
Automated page speed optimizations for fast site performance