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

Довиждане София, Варна – добре дошла

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

Ето и малко мои впечатления свързани със София:

  • Културния живот там има огромна разлика от варненския – има опера, концерти (от които и много алтернативни), има няколко театъра;
  • Трафика е ок. Преди ми се струваше, че трафика е убийствен, но с помощта на Google Maps и телефон в ръка се справях много добре пеш и с колата. Транспорта е добре огранизиран и структуриран (освен проклетите трамваи – не мога да свикна да има и още един играч в платното за движение и като карам покрай трамвай продължавам да изтръпвам);
  • Дилектите са много и смесени. Понеже във Варна и Добрич (от където съм родом и живял прилична част от живота си) диалектите са практически еднакви е трудно да приема как всеки втори говори по различен начин. Което пък от своя страна е ок, защото и аз сигурно им звуча странно (особено като кажа, че е патладжан, а не син домат (а историята за чушка vs пипер изобщо няма да я започвам, че може да ям бой :) )). Пък и има много хора от всички краища на страната там и не е изобщо за учудване. Голям град – много хора и от всякъде;
  • Таксиметровите шофьори са измекяри. Точка;
  • Метрото е огромно предимство, а хората си познават града добре;
  • Имат си планина, която е само на няколко километра извън столицата;
  • Чешмяната вода не само, че не струва, ами и има вкус на пестициди и уран взети заедно. Поне водата в хотела беше такава;
  • Парковете са пълни с хора. На втория ми ден в София излязохме с колегите за по бира в парка и нещо ме сви – парка беше пълен с хора – деца, младежи за по биричка на пейката и възрастни хора – всякакви се бяха събрали. И ми припомни едно време като се събирахме на Бункера с метълските тениски и кецовете и как цъкахме хек и пихме биричка. Сега там е пусто…
  • Въздуха е малко странен – първо, че няма почти никакъв вятър (което беше нещо, което ми отне много време за да свикна във Варна) и второ – няма почти никаква влага. Тези две неща ме караха първите 1-2 дни да се чувствам странно и за първи път ми липсваше и морето. Все го приемах за даденост, а то…
  • Заведенията са много и разнообразни, има много бирарии и малки ресторантчета. Отнема време човек да ги обиколи;
  • В зависимост от това къде се намира човек въздуха варира от отвратителен и трудеш за дишане до ок.

 

За две седмици там, извън офиса направих следното:

  • Вървях много и в различни посоки. Всеки ден ми отнемаше около час и половина отиването и прибирането от хотела до офиса и респективно почти не шофирах в града;
  • Срещнах се с приличен брой мои близки хора и изпихме още по-прилично количество бира;
  • Покарах с Велоприключение малко в Тетевенския балкан на изтощителни жеги (имам си вече и аграрен фен, йей…) с хора, които не познавам, но беше супер яко приключение;
  • Със Злати ходихме на Hills of Rock в Пловдив. Чухме Контрол, Epica, Evanescence, Three Days Grace, Immencence, Revaneye, Мерудия. Беше брутално яко!
  • Разходихме се с Вик, Катина и Алек в Люлин планина;
  • Запознах се със супер много нови хора (покрай офиса) и още на втория ден привикнах с тях;
  • Направих първата си презентация новата фирма пред колегите. Говорихме си за performance testing с jMeter (цялото заглавие на презентацията беше jMeter and other strange animals) и беше много яко;
  • За пръв път се спуснах по пързалка, която е между два етажа в офиса. Беше епично;
  • За пръв път бях на масаж (изключая онзи път преди първия ми бревет в който щях да умра от болка и отидох да ме видят и те взеха, че ме оправиха). Беше странно и в офиса;
  • Свалих 2 кг за 2 седмици и бия нов рекорд от 94.5 кг. Не знам дали да се радвам, защото не бяха качествено свалени, а от нередовното ядене  в комбинация с джънк;
  • Изслушах около 80% от нещата на покойния Chris Cornell. Има някои, които чувам за пръв път и смятам, че съм идиот, за това,че не съм ги намерил по-рано.

 

Нещата, които не можах да свърша:

  • И този път мечтата ми да карам на колодрума в Пловдив не се състоя;
  • Не можах да карам с Велосити. Ходенето ми в София съвпадна с няколко други вело събития и свободни хора на практика нямаше;
  • Не можах да карам много или да отида на 5kmrun в София.

 

За офиса ще напиша отделен блог пост.

Сигурно изчистване на свободното място на дисковете ни (Windows и Linux)

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

 

Какво става като изтрием файл?

Когато изтрием файл в Windows (и от Recycle Bin) не става така, че файла да отиде в небитието и на мястото, което е “освободено” да има само нули (както си го представях като малък). Всъщност това никога не е работило по този начин. Файловата система има особено поведение и има оптимизации, които в началото могат да прозвучат объркващо, но са за наше добро. Trust me.

MFT (Master File Table)

За да “знае” операционната система къде по диска физически са разположени всеки файл и директория той си има един огромен списък, който изглежда така:

файла pesho.txt е разположен на следните сектори;

файла gosho.txt е разположен на следните сектори;

като секторите не е нужно да са последователни (това идва от фрагментацията на файловата система).

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

Как работят програмите за възстановяване на изтрити файлове и директории?

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

 

Сигурност и как да “изчистим” свободното място на дисковете си

Както се досещат повечето от вас обикновено изтриване на файлове, които не трябва да виждат бял свят не върши работа. За това има метод, която се нарича wipe free space и Windows и Linux имат два добри инструмента за това.

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

Windows 10 wipe free space tool:

cipher /w:F

Тази команда я има в Windows 10 (тествано) и надолу, не изисква административни права и прави три последователни записа върху свободното свободното пространство (extra security) като:

  • Първо записва 0x00;
  • Второ записва 0xFF;
  • Трето записва прозиволни числа в мястото маркирано като свободно.

 

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

Linux wipe free space:

 

В линукс нещата са по-интересни и можем да ползваме елементарното едноредово решение със запълване на всичкото налично място на диска и изтриването му по следния начин:

cat /dev/zero > zero.file && sync && rm zero.file

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

sudo apt-get install secure-delete

 

Повече и по-подробна информация можете да прочетете на сайта на Microsoft.

Ние като QA НЕ осигуряваме качество!

Покрай силната неопределеност и неструктурираност на част от методиките в Quality Assurance витаят едни общи разбирания, че Quality Assurance engineer-а осигурява качество. Това НЕ е така. Ние можем да:

  • Анализираме изискванията на клиента и на тази база (и немалко предишен опит) можем да предвидим още преди да е започнала активната разработка да открием несъответствия (логически, технически или концептуални);
  • На база клиентски изисквания да напишем десетки или дори стотици тестове (test cases) на всеки отделен компонент, които след като част от нужната функционалност е готова да изпълним за да се уверим, че това, което е направено съвпада с вижданията на клиента за добре работещо приложение;
  • Да използваме множество методики, тест техники, черна магия и каквото друго е нужно по време на разработката на проекта. Всичко, което намерим го логваме в някой bug tracking system (дали ще е TFS, BugZilla, JIRA, дори и Google Docs, etc няма значение). Знаете правилото – ако няма логнат бъг значи няма бъг. А повярвайте ми – в този ежедневен поток от информация много лесно можете да забравите нещо ако не го логнете;
  • Да проверим след като програмисти/дизайнери/други са фикснали проблема дали е направен по начин, който може да удовлетвори клиента (и в идеалния случай и нашите лични вижданя за това кое е правилно);
  • Да направим финални тестове, които да ни дадат солидни доказателства, че можем да кажем на клиента актуалния статус на проекта. Има вариант в който да репортнем, че нещото не работи според очакванията и изискванията, но да бъде предприет риск (risk management) и въпросната функционалност да бъде пусната в production. Това зависи от клиента, не от нас.

И още едно, много важно нещо – мога да ви гарантирам, че НЯМА софтуер без бъгове. Има такъв с неоткрити такива. Някой преди време беше казал, че: “QA can miss a bug, but the crowd will not”.

regex или порно за мозъци

Преди 2 седмици се заиграх с jMeter (статия планирам в близко бъдеще, супер интересен и мощен tool!) и се наложи да взема стойността на един hidden field, който е уникален за всяка потребителска сесия. Кода изглеждаше така:

[code lang=”html”]<input name="form_key" type="hidden" value="PmIAQBj6jXqBIX8g" />
</pre>
<input name="form_key" type="hidden" value="PmIAQBj6jXqBIX8g" />
<div id="authenticationPopup" style="display: none;" data-bind="scope:’authenticationPopup’">
<p id="find_result" class="result">А нужното поле, както можете да се досетите – value.</p>
<p class="result">Между другото ако ви е интересно това е стандартна Magento 2 Enterprise инсталация.</p>

</div>
</div>
И моя гениален ум просветна веднага – "Просто е, ще ползвам regular expression". Всеки е чувал за регулярните изрази и за техните полу-митични възможности – от взимане на стойност по определен набор от инструкции,  validation, assertation и т.н. и т.н.

Отворих бодро regexp-а на Java и след около 15 минути мозъка ми излезе в почивка. Оказа се, че не е чак толкова лесно, а като попаднах на този (по мое мнение грозен, бавен и неефикасен (според stackoverflow)) <a href="http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html">regexp за валидиране на mail addresses</a> ми се схвана душата.
За радост тулове много, а добра работа ми свърши <a href="http://java-regex-tester.appspot.com/">http://java-regex-tester.appspot.com/</a>.

Решението на задачата е просто и изглежда по този начин:
<pre>[code](?<=value\=\")([a-zA-Z0-9]*)[/code]

Резултата по по-ясен начин го има и тук като можете да си поиграете със структурата и израза и да го прогодите за свои цели.

 

Сигурно се питате защо “порно за мозъци”? Много просто – търсенето и експериментирането с такъв набор от инструменти се оказа интересна задача и макар за някои да е елементарна за моя пръв сблъсък ми беше на ръба да изям клавиатурата.

Крис Корнел си замина…

Има дни в които човек иска да изчезне поне за малко или да накара времето да спре или просто да е на правилното място в правилното време за да накара някой да се откаже от правенето на някоя глупост.

И понеже нямам влияние на нито едно от гореспоменатите физични величини мога само сравнително делово да кажа нещо, което целия свят научи за часове – на 18.05.2017 година си замина един от вероятно най-големите изпълнители, донесъл повече усмивки и сълзи от всеки друг, кърдавия човек, който завинаги остана на 52, който пя, смя се и правеше велики концерти само с една китара, стол и микрофон на сцената – Крис Корнел (Chris Cornell).

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

 

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

Мога да кажа само “Баси майката” и да спра до тук.

Ще цитирам думите, които ми попаднаха във facebook пост по темата:

We were the 90’s. We were Cornell and Cobain. We were Grohl and Vedder. We were Weiland and Ament. We were Moreno and Kiedis. We were Alanis Morissette and Shirley Manson. We were Breeders and L7. We were Billy Joe Armstrong and Gwen Stefani. We were Yorke and Corgan. We were Blur and Oasis. We were Temple of the dog and Mother love bone. We were Stiltskin and Collective soul. We were Cats in the cradle and Shitlist. We were Dogma and Reality bites. We were Alicia Silverstone and Winona Ryder. We were Mat Dillon and Eddie Furlong. We were Beavis and Butt-head. We were Airheads and Singles. We were Trainspotting and What’s Eating Gilbert Grape. We were Tom Green and MTV’s Alternative nation. We were 3 times oversized clothes and long hair. We were a short dress and combat boots. We were angry and anxious. We were desperate, extreme and addicted. To the intense feelings. To the ultimate emotions. And every f*cking sad day like today reminds us that we still ARE.
RIP Cornell. Thank you for having your music in my life.

 

Ето едно негово изпълнение в Пловдив. Концерт, който ме боля като разбрах, че няма да мога да отида, но сега… смятам, че съм изтървал един цял live event.

 

Най-бързото ми 5 км бягане до сега

Да, бягам. Не – не е редовно, но бягам по поводи.

Този път повода беше 5kmrun на който отидохме със Злати. Малко се замотахме с организацията и отидохме 2 минути преди старта още сънени.

Този път бях решен да не правя 10 минути за километър, както беше слез мощното ми изтощение на дуатлона по-рано този месец и се закачих за една групича с хора, които със сигурност бяха извън моето темпо. И така приключих петте си километра със спринт и общо 25.59 минути и средно 5:05 минути за километър.

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

Оказа се възможно.

 

Strava статистика за запалените можете да видите тук, а снимки – тук.

 

Преживях първия си дуатлон

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

От около месец в главата ми беше идеята да се включа в дуатлон дисциплината на iRun – “Горско бягане и колоездене “Аладжа манастир”” – 35 км. колоездене и 13.5 км. бягане.

Искам да уточня две неща:

  1. На истинско MTB (добре запознатите сигурно ще ми се изсмеят с онзи пренебрежителен начин по който само един MTB колоездач може да се изсмее на шосеен колоездач като чуе Sprint Apolon Pro 27.5″ да минава за истински MTB велосипед, но на мен ми хареса), което наех от Здравко от Устрем (благодаря за което!) и карах точно веднъж преди състезанието;
  2. През живота си не съм бягал повече от 7 километра и то по асфалт.

 

tl;dr

Жив и здрав съм. Организацията беше невероятна, маркировката и пунктовете – също.
Мамо, татко – не четете надолу. Може да има неща, които може да съм пропуснал да ви разкажа :)

Подготовката

Ден преди състезанието имах възможност да изляза да пробвам МТБ-то. Подкарахме колелетата със Злати и отидохме да се запиша там, където се провеждат редовните бягания на iRun в Морската Градина. 30 кинта назад (защото се записах в последния момент, иначе цените бяха респективно 20 лв. и 25 лв. за по-късно записалите се) и се сдобих с номер петстотин и две, който щеше да бъде извикан по мои сметки около девет пъти на седем контроли и два финала с и без колело и един як бъф, който носих със себе си по време на състезанието. След това потеглих сам към Декатлон от където си взех резервна гума и зацепих с пълна мощ към Аладжа Манастир. И понеже не познавам MTB маршрутите реших да мина по шосе до Аладжата и после да направя малко горско каране.

 

Крах и един научен урок

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

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

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

Едвам стигнах до Аладжата, баира го взех с яд и дойде ред на насечения (за мен) терен. Вече преполовил силите си влязох на територията на MTB-то и напуснах своята. Отключих шока и се понесох по равните пътеки около манастира. Усещах колко много абсорбира шока, колко абсурдно добри са спирачките и как големите и меки 27.5″ (на около 2.0 бара) гуми стъпват стабилно на земята. Усетих как си измених позицията и как започнах да се чувствам по-сигурен и стабилен. За жалост това продължи около 20-тина минути.

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

Научих, че ако искам да карам MTB трябва да се науча да карам наново. И да видя колко красива е природата по горските маршрути.

 

Състезанието, част първа

По традиция преди състезания и бревети ставам по-рано, закусвам бавно, слушам малко музика, проверявам екипировката и велосипеда си още веднъж и ако имам време чета своя разказ “Не мога?” (колко помпозно, а?). Този ден не беше изключение.
Едвам наблъсках колелото в колата и тръгнах към месността Аладжа Манастир около час и половина преди официалния старт. Като стигнах вече имаше доста хора, велосипеди, деца, кучета и всички бяха усмихнати (дори и добермана, който беше единствения вариант да си вдигна средната скорост по баирите нагоре, ми се стори усмихнат). Изкарах колелото, сглобих го, приготвих си номера (петстотин и две, да не го забравите до края на разказа, ей!) и потърсих приятели. Видях Право, Карен и още двама-трима. Отбих се при Никото от Нико Байкс и се заговорихме.
По едно време един човек дойде при мен и ми каза – “Случайно преди да си имал един Drag Grand Canyon?”. Учуди ме въпроса, защото Drag-а го продадох преди две години, но именно с него участвах на първото си (и единствено до вчера) MTB състезание пак на Аладжа Манастир. Оказа се, че ме помнил от тогава и ми изказа респекта си (това беше, защото Drag-а е хибрид, който някой би сметнал, че е убийство да бъде каран в такива условия на насечен терен и особено с 28 мм си гуми).

После минах покрай щанда на Допел Херц и се загледах в нещата им – имаше магнезии, витамини, малки еднократни дозички с кофеин и таурин (от които се възползвах) и две добре подготвени за повода жени зад щанда. Заредих, поговорихме малко с момчетата от Нико Байкс и се наредихме с Карен и всички останали колоездачи на старт/финиша. Имаше 20-тина минутно забавяне на старта, предполагам са имали солидна причина за това и смятам, че такива неща се случват така, че нямаше драма. 30 минути след нас стартираха и бегачите.

Старта

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

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

И последва първо изкачване, което по Страва профила ми е имало скакалка (или по-скоро стена?) с денивелация от 31.2% (в Strava профила ми на 22:11 минута). Бутах, карах, бутах, карах и го изминах.

 

Искам да се извиня на хората, които четат този пост – мислих да опиша всеки баир, гледка и спускане, листата и аромата, хората и усещането, но историята ще заприлича на енциклопедия пълна с точни проценти, цифри и бездушие точно като стар балон с въздух. За това ще опиша общото, сравнително абстрактно усещане на това да караш за пръв път 35 км горско и след това да изтичаш 13.5 км.

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

Моето състезание с другите свърши след не повече от 30 минути след старта и се изправих срещу най-големия си враг – самия себе си.

Времето минаваше и с него се срещах с други колоездачи, срещнах се и с един овчар, стадото му и огромното му рошаво с кални крака куче. Не се запознах с него, но имаше вид на човек, който се казва Данчо, насъбрал трудностите на селския живот на лицето си точно под гъста бяла брада. Махнах от далеч и с усмивка извиках – “Добър да е деня!”. Бай Данчо се опули малко и като ме прецени се усмихна блажно и каза – “Добър да е, момче. Хайде давай напред и успех!” докато бутна с гегата един коч. На 20 метра след това се озовах пред 30-40 см. дълбоко поточе. Вдигнах колелото и преминах по камъните като госпожичка за да не си намокря обувките, които вече се бяха превърнали в бълвоч от кал, пясък и слама.

Малко по-напред се срещнах с още трима колоездача като имаше време да си поговорим бутайки по огромния баир нагоре. Там беше и едно момче на около 13-14 години, което буташе мъжката колелото си нагоре. Предложихме му помощ с което той се обърна към нас и с неочаквана мъдрост и сериозност каза – “Колоезденето е индивидуален спорт. Ще се оправя сам, благодаря.”. Бях впечатлен и му разказах как ние като караме по бревети си помагаме с гуми, помпи, храна, вода и с каквото можем. После без да го питам му хванах единия грип и го избутахме заедно до някъде след което той искрено благодари и пое по своя път докато аз все още се опитвах да си успокоя дишането.

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

Преминахме още едно поточе, после още едно. Дойде контрола (всичките контроли бяха с ентусиазирани млади хора, които имаха всичко от което имах нужда (като на последната бегачна контрола имаше дори и сол в пакетчета), поговорихме си малко и тръгнах. Оставаха ми само шест километра, какво толкова може да се обърка? Е – обърка се. Терена беше каменист, а отдолу – прясно засъхнала почва. И това по баир нагоре. Шест километра ги изкарах (избутах) за почти един час! Това ме сломи. Напъвах се, дърпах, бутах, бях целия зачервен и бесен на себе си, псувах наум, чудих се къде съм сбъркал в разпределението на силите си, в храненето и пиенето на течности. Мразих се. Карах отвратително бавно, силите изцяло ме напуснаха. Исках да легна и да изчакам някой да дойде да ме прибере. Не исках повече. Бях обиден на себе си, че съм толкова жалък, че не мога да изкарам едва 36 км (като до преди 3 седмици изкарах 370 за два дни), че бях дебел. Очите ми започнаха да губят фокус и точно в този момент една груба нота на отчаяние излезе от гърлото ми. Беше нещо като приглушен вой. Това ме смути неимоверно много, защото имаше хора около мен и това сякаш ме стегна.
После ме настигна един бегач и ме изпревари, после аз го изпреварих, после той мен и така бях изпреварен три пъти от бегач на дълги разстояния (дисциплината му беше 32 км). Реших да се стегна. “Колко километра остават още?” попитах някого. “На тридесет и пети километър сме сега”. “Ъъъ колко?”, “Тридесет и пет”, казва някой. Не повярвах, че съм почти на финала.

Финиша

Дадохме газ аз и едно момиче и заедно с наистина сетни сили се запътихме за финалния спринт.

Видях финиша.

Бях на 20-25 метра от него, карах и започнах да мисля за бягането. И в този момент момичето, което беше само метър-два пред мен падна. Аз спрях, защото моето състезание с другите беше свършило отдавна. “Давай, тръгвай.” виках. Качи се на колелото, но веригата беше паднала, “Давай, давай” викнах. Финишира 2 секунди преди мен.

 

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

 

Състезанието, част втора

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

Спрях, строполих се на земята и бях напълно наясно с две неща:

  1. Нямаше да позволя да не изкарам маршрута;
  2. Трябваше ми пейсър.

 

Странна птица съм аз – волята ми е най-силна само когато положението вече започне да граничи с невъзможното. В този момент съм излязъл с двата си крака от зоната в която ми е удобно и нещо изплува много дълбоко от мен. Нещо човешко и кокалесто, нещо, което не те хваща за гушата за да те дръпне надолу, а точно обратното – кара те да се изправиш, да драпаш с крака и ръце, да се стегнеш и да дадеш да се разбере на теб самия, че тая работа няма да я бъде.
Започнах да пълзя за кратко, изправих се на крака и започнах да вървя.
Усетих, че съм към края на състезанието си, когато започнах да вървя като патка  (тоест на цяло стъпало, видео с един нагледен пример) – това е един почти сигурен признак, че мускулите ми излизат извън контрол, а сухожилията са се изпънали до безкраен предел.
Вървях така и мучах тихичко от болка докато не стигнах до първата чешма от маршрута. Измих си лицето, пийнах от студената вода, свалих си джърсито с дългите ръкави и продължих.
Не знам кое ме накара да живна, но се случи. Вероятно е от хората, които се разхождаха в гората и се усмихваха и пожелаваха успех или от човека, който подминах докато правеше барбекю на една поляна и се провикна – “Момче, ела да хапнеш с нас, да се подкрепиш” или с това, че стигнах първата контрола. Знаех, че нямам шанс за финиш в контролното време, но не се отказах. Състезанието за мен, срещу мен, беше в разгара си и щеше да свърши след пресичането на финиша.

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

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

Там ни посрещнаха с много усмивки млади и надъхани доброволци, дадоха ни храна и вода и ни отпратиха.

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

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

Финиша

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

Финиширахме заедно и извън контролното време.

Аз победих себе си и след втория финал вярвам станах с един кършей по-добър, по-силен и по-отдаден от когато и да е било.

 

Следфинално

Отидох при щанда на Нико Байкс да си взема екипировката и колелото, поговорихме малко с тях и видях другия Карен (до преди година и нещо не познавах нито един Карен, а сега познавам цели двама) от Averi Beers и взех един червен Гларус. Отпих една глътка, тежко въздъхнах и усетих спокойствието да се влива във вените ми.

Огледах се и видях Ели и Свилен, които видях и малко преди да започне моето бягане. “Недко – искаш ли супа?”, попита тя. Беше риторичен въпрос. Наля ми една 500 мл. боб чорба, взех си филия хляб и рая слезе на земята. Бях спокоен, не ме болеше и знаех, че за ден мога да си позволя да бъда горд със себе си.
Прибрах се – чакаха ме Злати и котката, топъл обяд и един приятен ден.

За спорта

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

Малко линкове и статистики:

Снимки

StarCraft с нова, подобрена и БЕЗПЛАТНА версия

Ако сте геймъри със сигурност сте чули слуховете и последвалия hype около новата версия на StarCraft, 1.18, която има нещо ново и страхотно в себе си – вече е напълно безплатна!

С новата версия от Blizzard за направили и малко нововъведения:

  • Вече има windowed и full-screen режими (за да можете да играете StarCraft докато участвате в дневните мийтинги);
  • Добавена поддръжка за UTF-8 за да може да получаваме типичните “сука, блять” добре енкоднати и с цялата си красота;
  • Вече си има и observer mode;
  • Game timer за да знаете колко време сте оползотворили през деня;
  • Нов OpenGL backend;
  • Подобрена скорост в multiplayer за да можете да не се оправдавате вече с това, че ви е лагнало;
  • Добавена поддържка на Windows 7,  8.1, 10 (да не забравяме, че първия StarCraft го играхме на Windows 98).

 

Повече информация можете да видите в официалния сайт на StarCraft.

 

Fun Fact – знаете ли, че в Южна Корея StarCraft е обявена за национален спорт?

Когато ти изтекат сертификатите на блога…

Както може би забелязахте последните 2 дни блога ми не се отваряше и причините бяха две:

  • Let’s Encrypt renewal-а не беше минал тримесечния си ъпдейт на сертификатите;
  • Понеже използвам HSTS нямаше и опция да видите блога нищо, че е с невалиден сертификат.

И това естествено по празниците, когато нямах достъп до компютър :)

Ето и какви бяха причините за това, че на nedko.info не минаха сертификатите, но на останалите 7-8 сайта, които хоствам минаха без проблеми:

  1. При опит за certificate renew  получавах следната грешка:
Failed authorization procedure. www.nedko.info (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.nedko.info/.well-known/acme-challenge/PdzPmGSbFd1XOOqa0LshcRGxqUАGHАUj3qМNamp1-Yw: "<!DOCTYPE html>
<html lang="en-GB">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial"

IMPORTANT NOTES:
 - The following errors were reported by the server:

Domain: www.nedko.info
 Type: unauthorized
 Detail: Invalid response from http://www.nedko.info/.well-known
 /acme-challenge/PdzPmGSbFd1XOOqa0LshcRGxqUАGHАUj3qМNamp1-Yw:
 "<!DOCTYPE html>
 <html lang="en-GB">
 <head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial"
 To fix these errors, please make sure that your domain name was
 entered correctly and the DNS A record(s) for that domain
 contain(s) the right IP address.

 

Проблема е, че при опит за достъп по http (близко до ума, но на мен ми отне време да се досетя, че Let’s Encrypt callback-а е по http, а не по https) при misconfiguration горния линк http://www.nedko.info/.well-known
/acme-challenge/PdzPmGSbFd1XOOqa0LshcRGxqUАGHАUj3qМNamp1-Yw пренасочваше към друг от моите домейни.

 

2. Започнах да преглеждам къде ми е проблема с това пренасочване и реших да изключа напълно port 80 поддръжката (http) макар и да имам redirect 301 в случай, че имам request по http.
Решението ми беше да спра изцяло поддръжката на http през vhosts. Става съвсем лесно с коментар или изтриване на удебеления ред:

#listen 80;
listen 443 ssl;

След тази промяна и рестартиране на nginx (service nginx restart) успях да стартирам процеса по преиздаването на сертификата успешно със следните редове:

letsencrypt certonly -a webroot --webroot-path=/var/www/nedko.info/ -d nedko.info -d www.nedko.info

където пътя до сайта е в директория /var/www/nedko.info/

 

Ако имате проблеми с намирането на директорията /.well-known/acme-challenge/ можете да я създадете наново като:

  • Проверите дали директорията съществува (под Линукс точката пред директория или файл се счита за скрит файл/директория) с
ls -lah /var/www/nedko.info/

Ако не съществува можете да я създадете със следната команда и дадете съответните правомощия:

mkdir /var/www/nedko.info/.well-known/acme-challenge/ && chmod 755 /var/www/nedko.info/.well-known/acme-challenge/

И изпълянвате по-горната команда за renew на сертификатите.
Ако не стане пишете в коментарите и ще го гледаме заедно.

Хобита

Вчера Злати повдигна една интересна тема:

Да имам едно хоби, в което да съм наистина добър, да имам много, в които да съм в съвсем начално ниво или това, което работя да ми бъде и хоби

 

Ето и моята гледна точка:

  • Да имам едно хоби, в което да съм наистина добър – това е за хора, които са със силен състезателен дух и не се отказват, докато не стигнат до възможно най-високата възможна точка:
    • Положителна страна – Имате реален шанс да станете наистина добър или най-добрия в това, което правите, притежавате състезателен дух, който в повечето случаи, обуздан добре може да е от огромна помощ;
    • Не толкова положителна страна – В преследването на целта понякога човек забравя да се наслади на хубавата страна от пътуването, да си почине и понякога това натоварва много. И от желанието да сме най-добри в това, което правим, се превръща в задължение пред нас и обществото, което винаги натежава. Резултата не е задължително да е 100% успех, а ако това се случи, индивида няма да изпита насладата от всичкото време посветено в това, което прави;
  • Да имам много хобита, в които да съм в съвсем начално ниво – това е за хора, които са по-несъстезателни натури, които имат сърца за повече от едно нещо. Не искат да са най-добрите в него и дори понякога се задоволяват със съвсем начално ниво.
    • Положителна страна – Експериментите с много неща, в комбинация с не толкова състезателен дух и желание да сме възможно най-добри, кара хората да се чувстват свободни и заредени с енергия. Времето отделено за тези хобита обикновено има добра възвръщаемост на енергия и желание за повече социална активност;
    • Не толкова положителна страна – Можем да се запишем на 5-6 вида танци, рисуване и спорт, но в нито едно от тях няма да сме възможно най-добрите, дори и да усещаме, че можем повече от това. Получаваме широка, но плитка обща култура. Ако сте OK  с гореизброеното, значи това, което четете не трябва да е в графа “Не толкова положителна страна”.
  • Да превърнем работата си в хоби (или обратното) – това се случи с мен преди 8 години – превърнах хобито и това, което обичах в професия, която работя и обичам до ден днешен. Обикновено това включва 8-9-10 часов работен ден, а вечерите (и почивните дни) работа по собствени проекти. Един прекрасен пример за това е Юлиян Сапунджиев (на който скоро му взеха интервю от БНТ), който неведнъж доказа, че може да е добър в това, което прави и още по-добър в хобитата си. Както и Орлин Димитров, Иван Чолаков, Невен Боянов, Кремена Колева и още супер много хора, които няма да изброявам тук. Така, че да имате хоби, което да работите не е невъзможно.
    • Положителна страна – Правите това, което обичате през цялото време и печелите пари (и удоволствие) от това. Евентуално ставате много добър и име, в това с което се занимавате;
    • Не толкова положителна страна – Трябва да намерите това, което наистина ви е интересно, защото ще отдадете живота си на него. Другия минус е, че отнема време и ако влечението ви към нещото, което сте си избрали, е временно, могат да настъпят известни вътреличностни катаклизми като честа смяна на нещата, с които се занимаваме ( в очите на външни лица честата смяна на интереси може да бъде интерпретирана като несериозно поведение ) или продължаваме да правим първото, което сме избрали, но със затихваща мотивация.

 

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

Много хора смятат, че мотивацията е само за спортисти, но не е така. Има хора при които дори и едно потупване по рамото с думите – “Брато, това решение е наистина добро”, може да свърши чудеса.

 

И тук е времето да кажа, че това е моето виждане и не е задължително човек да пасне на 100%, в някоя от трите точки. Все пак човек не е тетрадка от десет листа, а книга (понякога от няколко тома) и е напълно възможно някой да пасне на повече от едно от нещата в списъка или да си има своя си, четвърта точка, която да пасва като онези матраци по теб и просто да не искаш повече.

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