Всеки има мечти. И освен хубаво това си е и задължително.
Но какво са мечтите без хоризонт на който стоят удобно застанали и едвам забележими? Например моя мечта беше да карам колелото до абсолютния си край на силите, абсолютния. Това на вас може да ви звучи тъпо, но за мен е невероятна (колкото и да мразя тази дума) терапия, която ако не изгонила поне разбутала малко демоните от главата и мислите.
Всеки има и тъпи мечти – да изхака съседката, да си купи нова прахосмукачка или просто да стои цял ден без никой да се сети за него, да му пише или да го дърпа за нещо.
И както вече се досещате от предългото интро (знаете ли как е интро на български?) днес аз осъществих една моя мечта. От секция тъпи мечти, но като се случи се почувствах щастлив. Ей така, за 7-8 минути, по детски. Днес ходихме на гости на приятели, които си взеха къща в близко до Варна село та да полеем. Домакините си имат и басейн. Та досещате се сигурно, но се пльокнахме всички и побъбрихме, малко аху-иху, но времето се развали, захладня и аха да завали. Всички излязоха и аз останах сам с мислите, рошавата коса (която толкова я пазих да не я намокря) и гледах идващата буря. Облаците се смесваха подобно като да сложиш в стъплена чаша кафе с мляко, в техен си ураган от форми и звуци и заваля.
И в този мъничък момент, с тези първи капки дъжд нагло пльокайки по мен и водата в басейна едно приятно чувство на облекчение и ме обля удовлетворение. Сместа между дъжд и хлорирана вода явно отдели някакво съединение, което ми припомни мечтите и стремежите, онази снимка на фонтана в Добрич като снимах един гълъб (която няма как да ви покажа, защото photo-cult вече не съществува) и бях посветил снимката на A-HA – Crying in the rain, онези малките моменти като например като се прибираш от работа и завали, ти бягаш, но така или иначе ставаш вир вода и се отказваш, отпускаш си душата, прибираш телефона на сухо и започваш да вървиш бавно дишайки въздух и дъжд, гледайки начумерените лица на хората наоколо.
В тези моменти човек се сеща, че живее, че е част от природата, че прекраснотите са около нас и ако си извадим главите от гъзовете и се огледаме ще видим шареното, смешното, хубавото.
Ходете под дъжда, бавно, и кимайте на бягащите около вас хора.
Стоиш в офиса, гледаш стената и искаш да си някъде другаде. Искаш сняг или пясък, зависи какво обичаш. А може да искаш само малко време за теб. Понякога искаш твърде много, мислиш си.
Но истината е друга – ние сами си го правим, сами леем бетона който по-късно ще излеем и решетките, сами си слагаме тъмните очила с които виждаме до носовете си и освен това само черно-бяло, сами си мислим, че сме нещастни и гоним илюзорните клишета като плажа с палмите, “свободата” и себе си като не можем дори да дефинираме какво за нас е свобода и защо не сме на свобода сега.
Защото има хора, които сами си греят като слънца там където са си и гледат на нещата по по-друг начин. Те пак са на работа гледайки същата тази стена, но се забавляват, не им пречи и то не за друго, а защото на душата им не тежат бетона и оградите, не боли при всяко вдишване и могат да са си самодостатъчни.
И ето, че блога остаря, помъдря и след малко повече от три години чукна пост номер 200 (+164 draft-а…).
Първия ми пост е от 25 Май 2014. За това време блога живая на shared hosting в сървърите на SuperHosting, после го преместих на мой VPS кръстен marvin хостван на Vultr (Нико, Владо – благодаря за помощта и подкрепата!).
Да конфигурирам и мигрирам към marvin ми отне няколко дни и месеци fine tuning, покрай него форкнах един bash скрипт, който кръстих full-web-server-backup. Към него добавих няколко интересни опции и научих доста за bash/tar/etc. После последва и опита ми с цялата екосистема на WordPress – галерии, теми, кеширане, оптимизация, добри практики.
Научих се да споделям, писах няколко пътеписа, два live blog-а (за WordCamp Varna 2017 и ден първи от ISTA 2017), разказах за повечето си лекции, които съм водил последно време, споделях злободневните си преживявания, гледам често да пиша и “In other words” – разни интересни неща (бъгове, epic fails, инструменти, frameworks, новини, etc). Радвах се на всеки един коментар (макар и за момента да наброяват само 24), на всяка повдигната тема в страницата ми във фейсбук.
Когато бях на моето голямо вело пътуване тази година и спях в колата блогвах, споделях снимки и се чувствах страхотно.
Надявам се да има поне един човек, който го следи и му е интересно.
И както винаги – всякакви препоръки, идеи (за статии или коментар по вече написани) са повече от добре дошли.
Снощи в 19:00 се замъкнахме със Злати към Вечер на таланта по покана на Теди, настроих с известни закъснения google slides презентацията ми и след Хеми (известен варненски писател с който предварително успях да си поговоря) беше мой ред. Излязох и вместо 15 минути говорих около 40.
Разказах много неща, изглеждаше, че е интересно на публиката, но това вече те трябва да си го кажат.
Едно нещо изтървах и то беше безпрецедентната липса на подкрепа в голяма част от хората от моето обкръжение. Злати обаче беше до мен и ми помогна с наистина много и най-вече с укоражаваща подкрепа, идеи и огромно количество кукита. Оценявам го силно това.
Иначе скоро ще приключа и историята и ще я публикувам тук. Има и малко видеа. Май трябва да си взема един action cam.
Винаги съм искал да бъда системен администратор. Исках да бъда това много преди да разбера, че има професия, която се казва Quality Assurance.
И винаги съм си врял носа там където не ми е работа. И си навлякох гнева на старите и новите богове като реших да напусна услугите на SuperHosting и да се преместя на мой си, shiny and new VPS. И после 2 месеца миграция по нощите (защото в работно време не отива да се занимавам с такива неща, най-малкото, че дори и да нямам кой знае колко много работа ще си изям чашата докато конфигурирам нещо като хората) докато всички сървиси, които искам да подкарам всичко + един античен PHP 5.2 заради стар проект, който държа повече от носталгия отколкото от други съображения.
И понеже на WordCamp Varna 2017 имах възможността да чуя лекцията на Верослав Ценов за кеширането и реших за педесети път да направя nedko.info и marvin като цяло свръх-мега производителни и да се отварят на посетителите още преди да са натиснали Enter. Обикновено тези ми начинания завършват с undo на всичките ми промени в 3:15 вечерта.
Та и днес не беше изключение. Реших да сложа един Varnish reverse proxy за да кеширам част от ресурсите, които се връщат на клиента и фейлнах наистина грандиозно този път. Успях да засера nginx config-а на блога и ми отне сигурно 5-10 минути да върна всичките 15 милиона промени, които бях правил на него.
И нещо, което Васил Колев винаги е твърдял – “Админ се раждаш, не ставаш”. Надявам се поне за QA да ставам.
Иначе ако на някой му е интересно – статията за Varnish с nginx + поддъжка на SSL (обърнете внимание, че в немалко статии този случай не е разискан) можете да намерите в Linode документацията.
И още нещо, защото аз като сложа край на нещо, което пиша последват поне по две-три неща отдолу – колкото и грандиозно да осирате нещо, колкото и мощно да преебете нещо елементарно, колкото и идиоти да се чувствате – продължавайте докато не го направите. Аз така или иначе ще подкарам varnish – достатъчно съм идиот за да го накарам да ми се огъне в ръчичките. Така направете и вие. Но ако искате да мрънкате – мрънкайте, най-много някой да ви наругае.
Тези дни започнах да мисля за една моя мечта. Искам да обиколя страната с колело.
Колко
Смятам, че ако взема отпуска от една седмица и карам общо седем дни (първия почивен е за транспорт с колата до някъде, последня е прибиране) ще направя не повече от 700 км, а ако се напъна или терена е по-равнинен може да опитам да достигна напълно митичните за мен 1000.
Защо
Както писах по-горе – мечта ми е. Искам да си изчистя главата малко, да карам по маршрути различни от тези, които са ми познати до болка и да опитам нещо ново.
Сам?
Сам, да. Свикнах да карам сам и ми е много по-комфортно да карам сам, а не да гоня някой през цялото време.
Подготовката
Ако да кажем реша да направя карането след месец ще се наложи да правя по 5 караня седмично като три ще са кратки (~30 км.), едно малко по-дълго каране (~50 до 60 км) и за месец поне 4х100 км, което ще рече, че за месец ще имам около 700 км. Нещо, което не мисля, че съм правил до сега. Edit – след справка виждам, че рекорда ми е от тази година Април месец и е 808 км, което ме успокоява малко :)
Техническа подготовка
Практически имам всичко необходимо за еднодневен бревет до 300 км, но при по-дълги маршрути ще трябва да се дооборудвам със следното:
Чанта за кормило с място за карта най-отгоре, непромокаема, дисаги;
Две нови гуми, вероятно 28 мм. Сегашните ми са 23 мм и са абсолютно неподходящи за дълги карания;
GPS с предварително запазени маршрути в случай, че се замотам. Ще гледам да не карам по основните пътни артерии както направих като ходих да катеря вр. Шипка на трети Март като минах два пъти за ден през Хаинбоаз;
Евентуално още един power bank, макар, че си мисля, че и сегашния ми 20 ah ще стигне;
Евентуално и платен акаунт за Strava за да мога да stream-вам публично и в реално време къде се намирам в момента в случай, че на някой ще му е интересно. В тази връзка се сещам и за варианта на Никото за просто логване и изпращане на GPS координатите към marvin и чертаенето им в Google Maps. Ще видим дали изобщо ще използвам и този вариант, защото телефона ще трябва да го пазя само за разговори и emergency situations, че с тая смотана батерия с музика и GPS ще ме изкара не повече от 12-13 часа;
Ще ми се да намеря и някакъв издръжлив (водо и силово) фотоапарат или action cam за да добавя малко снимки по време на карането;
Одеало против измръзване в случай, че ме хване нощта или дневните температури прехвърлят 40 градуса;
Дълъг USB кабел за зареждане в движение от раницата;
Евентуално още един LED стоп за раницата;
Отразителна жилетка;
За екстремисти – резервна верига с quick link и малко спици + инструмент за монтирането им;
План
Плана е да направя някакъв интересен маршрут с планински елементи за да мога да се потопя максимално в красивата ни природа. Ако се сетя за някой приятел, който е около района може да отседна там. Или да ползвам couch surfing. ще видим до къде ще го докарам в това отношение, че първо ще заминат немалко пари и второ – не мога да гарантирам сравително точен час на пристигане.
Ако някой има идеи или е правил нещо подобно (с шосейно колело, не с MTB :)) ще се радвам да сподели опит.
Покрай силната неопределеност и неструктурираност на част от методиките в 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”.
Да имам едно хоби, в което да съм наистина добър, да имам много, в които да съм в съвсем начално ниво или това, което работя да ми бъде и хоби
Ето и моята гледна точка:
Да имам едно хоби, в което да съм наистина добър – това е за хора, които са със силен състезателен дух и не се отказват, докато не стигнат до възможно най-високата възможна точка:
Положителна страна – Имате реален шанс да станете наистина добър или най-добрия в това, което правите, притежавате състезателен дух, който в повечето случаи, обуздан добре може да е от огромна помощ;
Не толкова положителна страна – В преследването на целта понякога човек забравя да се наслади на хубавата страна от пътуването, да си почине и понякога това натоварва много. И от желанието да сме най-добри в това, което правим, се превръща в задължение пред нас и обществото, което винаги натежава. Резултата не е задължително да е 100% успех, а ако това се случи, индивида няма да изпита насладата от всичкото време посветено в това, което прави;
Да имам много хобита, в които да съм в съвсем начално ниво – това е за хора, които са по-несъстезателни натури, които имат сърца за повече от едно нещо. Не искат да са най-добрите в него и дори понякога се задоволяват със съвсем начално ниво.
Положителна страна – Експериментите с много неща, в комбинация с не толкова състезателен дух и желание да сме възможно най-добри, кара хората да се чувстват свободни и заредени с енергия. Времето отделено за тези хобита обикновено има добра възвръщаемост на енергия и желание за повече социална активност;
Не толкова положителна страна – Можем да се запишем на 5-6 вида танци, рисуване и спорт, но в нито едно от тях няма да сме възможно най-добрите, дори и да усещаме, че можем повече от това. Получаваме широка, но плитка обща култура. Ако сте OK с гореизброеното, значи това, което четете не трябва да е в графа “Не толкова положителна страна”.
Да превърнем работата си в хоби (или обратното) – това се случи с мен преди 8 години – превърнах хобито и това, което обичах в професия, която работя и обичам до ден днешен. Обикновено това включва 8-9-10 часов работен ден, а вечерите (и почивните дни) работа по собствени проекти. Един прекрасен пример за това е Юлиян Сапунджиев (на който скоро му взеха интервю от БНТ), който неведнъж доказа, че може да е добър в това, което прави и още по-добър в хобитата си. Както и Орлин Димитров, Иван Чолаков, Невен Боянов, Кремена Колева и още супер много хора, които няма да изброявам тук. Така, че да имате хоби, което да работите не е невъзможно.
Положителна страна – Правите това, което обичате през цялото време и печелите пари (и удоволствие) от това. Евентуално ставате много добър и име, в това с което се занимавате;
Не толкова положителна страна – Трябва да намерите това, което наистина ви е интересно, защото ще отдадете живота си на него. Другия минус е, че отнема време и ако влечението ви към нещото, което сте си избрали, е временно, могат да настъпят известни вътреличностни катаклизми като честа смяна на нещата, с които се занимаваме ( в очите на външни лица честата смяна на интереси може да бъде интерпретирана като несериозно поведение ) или продължаваме да правим първото, което сме избрали, но със затихваща мотивация.
Аз бях от третия и в последствие втория тип. Никога не съм бил мега добър в нещо толкова, че да кажа на себе си – “Ей, човеко, ти наистина си добър в това”, но пък правя това, което обичам, а от няколко години имам и други занимания като колоездене, което отнема все повече и повече от свободното ми време, танците (и участията покрай тях), блогването и на последно място – писането.
Много хора смятат, че мотивацията е само за спортисти, но не е така. Има хора при които дори и едно потупване по рамото с думите – “Брато, това решение е наистина добро”, може да свърши чудеса.
И тук е времето да кажа, че това е моето виждане и не е задължително човек да пасне на 100%, в някоя от трите точки. Все пак човек не е тетрадка от десет листа, а книга (понякога от няколко тома) и е напълно възможно някой да пасне на повече от едно от нещата в списъка или да си има своя си, четвърта точка, която да пасва като онези матраци по теб и просто да не искаш повече.
Вие от кой тип сте? Има ли друга категоризация според вас?
Пишете в коментарите вашите мнения.
Днес за пореден път се доказа твърдението, че добрия програмист не пише само функционалност, която да работи, а такава, която е съобразена с множество фактори – скорост, сигурност, логичност. Този път сайтовете са Министерството на Образованието и Науката и Министерство на Вътрешните Работи и новинарския сайт OFFNEWS.BG бяха мишената използвайки очевидно една и съща търсачка. И да ви кажа честно – срам е, че някой не си е escape–нал параметрите за да предтврати един прост XSS, които потребителя подава. Това е нещо тривиално, нещо, което всеки, който пише код трябва да знае и използва. Защото знаете – когато пишем никога не трябва да имаме доверие на потребителите. Ни-ко-га.