Category: Блогинки

06.02.2019 – размисли разни

Стоиш в офиса, гледаш стената и искаш да си някъде другаде. Искаш сняг или пясък, зависи какво обичаш. А може да искаш само малко време за теб.
Понякога искаш твърде много, мислиш си.

Но истината е друга – ние сами си го правим, сами леем бетона който по-късно ще излеем и решетките, сами си слагаме тъмните очила с които виждаме до носовете си и освен това само черно-бяло, сами си мислим, че сме нещастни и гоним илюзорните клишета като плажа с палмите, “свободата” и себе си като не можем дори да дефинираме какво за нас е свобода и защо не сме на свобода сега.

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

Такъв искам да стана като порасна.

30.01.2019

Не съм писал от толкова отдавна, че не знам от къде да започна. За това и няма да започвам от никъде.
Този пост ще е по-скоро моето обещание към мен самия, че ще започна да пиша редовно в блога както миналата година, но без да забивам на една тема. С учудване виждам, че доста трафик от търсачките идва когато хората са търсили неща за Raspberry Pi и разни технически чудесии. Предполагам, че ще ви е интересно ако напиша 1-2-3-4-5 по-технически статии.

Освен това един малък tease – поканен съм на една голяма техническа конференция на която имам идея да направя няколко интересни демота и един proof of concept, пък да видим какво ще стане.

Ако някой иска му е интересно нещо и иска повече информация можете да пишете коментар под тази статия и ако ми е интересно и на мен ще се постарая да напиша нещо интересно.

Те така. Поздрави от бай Недко.

Равносметката 2018

Мина още една година. И по навик казвам нещата, които не съм направил първо, защото са по-важни.

  • Почти не снимах. За поредна година, макар и да взехме нов фотоапарат с добър портретен обектив;
  • Не танцувах;
  • Не говорих на TEDx. Темите ми щяха да бъдат свързани с депресията или Quality Assurance in real live. Тази година като видях организацията на варненския TEDx се хванах за главата. Ако говоря някой ден вероятно няма да е във Варна;
  • Почти не свирих на китарата;
  • Не четох толкова, колкото исках. Гледам всяка година да чета повече, но колкото повече чете човек толкова повече осъзнава огромното разнообразие и това, че цял живот няма да му стигне да прочете всичко, което си струва;
  • Не написах нито един стих, само 1-2 пътеписа и нито един разказ. Нито един. В блога също писах рекордно малко.

Нещата, които се случиха:

  • Станах чичо;
  • Говорих пред 500 човека на – QA Challenge Accepted 4.0 за performance testing, смешки и закачки. Беше едно от най-трудните неща, които съм правил (за което също искам да говоря на tedX, защото това, което научих не го намерих някъде синтезирано и готово за консумация);
  • Най-накрая участвах в Дунав Ултра, за който писах вече. Беше безкрайно изпитание на духа и тялото, боля, смяхме се, ревеше ми се на моменти, почти не спахме, но минахме, изядохме и изчувствахме цялия маршрут по поречието на р. Дунав с Пешо;
  • Георги Ненов ми взе интервю за неговия подкаст с основна тема – Дунав Ултра. Той беше и човекът, който ме подготви за карането започвайки три месеца по-рано;Пътувахме със Злати много. Обикаляхме из България, но следващата година – повече;
  • Купихме си кола, най-накрая. От 20.11.2018 до 02.01.2019 имаме 3400 км. и карнето тепърва започва;
  • Продължавам да разцъквам микроконтролери и още ми е интересно. Тази година се надявам да сложа нещо в production;
  • Бягах 25 км. в гората. И за пръв път се пречупих. Тук можете да прочетете разказа за Коджа Кая, която ме сдъвка и изплю;
  • След втори опит направих успешно първите си 200+300 км. за един уикенд. Мислих си, че ме боля и че бях изморен докато не минах 700 км. за 48 часа на Дунав Ултра;
  • marvin продължава да съществува. Смених VPS провайдъра на DigitalOcean и към момента съм доволен. По традиция благодаря на Владо и Никото за помощта и за това, че и тази година не ме наругаха на куповете въпроси, които валяха от мен;
  • Отидохме на Varna Mega Rock и слушахме Nightwish, Apocalyptica, Kamelot, Глен Хюз, Кикимора. Ходихме за рожденния ми ден на Stone Sour в Букурещ и беше незабравим концерт (+ дъжд, бира и приятели);
  • https://www.goodreads.com/user/year_in_books/2018/46041874
  • Не мога да повярвам колко дълга ми стана косата.

Нещата, които ще ми се случат:

  • Дунав Ултра 2019;
  • Да правя хората по-добри. Винаги съм вярвал в споделянето на знания и ще продължавам да го правя докато мога което включва повече конференции, повече полезни блог постове;
  • Да чета приказки в дома за деца лишени от родителски грижи и/или за хора с увреден слух;
  • Да се случи моето Голямото каране 2 – този път 500+ км за седмица, вероятно пак сам (това стои от миналата година в todo list-ата ми);
  • По-силна бреветна година – 200км, 300км, 400 км, 600 км преди Дунав Ултра 2019;
  • Да изкарам първия си мартон/или да участвам пак в Коджа Кая на 25 км.

Нещата, които заболяха:

Да видим какво може новия Gutenberg

Както писах скоро излезе WordPress 5.0 с новия редактор Gutenberg.

Галерията пак и отново не е с някакъв slideshow + lightbox или нещо от типа, а пак просто плющи thumbnails на снимките и това за това. Не ме кефи, защото трябва да се инсталира и още един плъгин и стават 5 милиона неща…

Има и разни hading-и

и т.н. pull quote

Както и build-in embed на доста външни услуги.

WordPress 5 иде. Като лавина. От лава. И гръмотевици.

Днес трбява да излезе WordPress 5.0,за който говорят толкова време, че вече ми втръсна. Основното подобрение спрямо 4.9.8 (latest към момента) е, че ще използва нов редактор – Gutenberg (на името на човека измислил печатарската преса Johannes Gensfleisch zur Laden zum Gutenberg). Няма други значими функционални ъпдейти, няма и оправени някакви security проблеми.

На кратко за Gutenberg – опитах да го подкарам, но при мен гръмна с редица JS грешки, предполагам е от мен проблема. От екипа обещават това да е еволюция в редакторите, но аз единственото което искам от него е:

  • Проекта да не е 2000+ файла;
  • Респективно да не се зарежда за 1.5+ секунди в браузъра;
  • Да не генерира gibberish HTML при paste на форматиран текст.

Туй то. I’m a simple man – I see fast and reliable wysiwyg editor, I use it.

Та след масовия ъпдейт, който започва от днес имайки предвид, че 30% от интернет е задвижван от WordPress, което е около 76.5 милиона сайта (като ежедневно се създават над 50 000 сайта на WordPress) очаквам при ъпдейта а се строшат немалко инсталации.

Защо?

Ако имате чиста инталация на WordPress със стара версия и ъпдейтнете до 5.0 предполагам (даже съм сигурен), че всичко ще мине гладко и за секунди.
Но ако имате от онези пребити website builders или някоя тема, която носи със себе си 96 плъгина, 500 файла и е кракната очаквайте няколко безсънни нощи.

 

Няколко препоръки от мен:

  1. Задължително днес си направете бекъп на файловете и базата (не разчитайте на хостинга, те може да имат стари бекъпи);
  2. Огледайте се кои плъгини използвате и кои не. Не забравяйте, че дори и да не е активен плъгина може да бъде exploit-нат (при някакво security issue). Проверете плъгините, които използвате дали са съвместими с 5.0 (това от WordPress repo-то). Ако не са тествани не е задължително да се строшат, но шанса не е малък;
  3. Огледайте си правата на WordPress-а. Ако сте имали неприятности и сте набичили всичко с chmod -R 400 . вероятността нещо да се счупи не е малка;
  4. Помните ли първа точка с бекъпа?
  5. By default от 5.0 нататък редактора ни ще е Gutenberg. Ако сте любопитни го има в repo-то на WordPress и можете да го инсталирате с версия 4.x като плъгин. Можете да видите и малко ревю тук.
  6. Можете да използвате и стария редактор като го инсталирате като плъгин;
  7. Ако сте религиозни – недейте. Вярвайте на бекъпите, особено ако имате по-посещаем сайт от този, който четете.

 

Нека бекъпите бъдат с вас и дано Gutenberg да ви хареса.

ISTA 2018 live blogging, day 2

Добро утро.
Винаги е приятно да влезеш в зала с десетки хора, които говорят за Agile, код и тестване.

 

Всичко започна с лекцията на Mathias Verraes – “Design Heuristics”

Това, бога ми, беше първия keynote speech без презентация, който гледам. Чувството е като онези push-up bras. Всичко беше ок, но нещо липсваше.

Аз лично се изгубих напълно още в началото.

 

Hindsight lessons about API testing
Viktor Slavchev

 

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

И да не звуча тенденциозно мога да го хейтна (без хейт не може!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-а е като комуникацията със сервитьор*:

  • Правите поръчка (request);
  • Получавате отговор (от типа да/не) (status code);
  • Получавате това, което сте поръчали (data, result)

Извън контекста на презентацията на Виктор – примера със сервитьора може да се използва и при security testing-а като му поръчаш да ти сервира ‘, *, NULL, 0 OR 1=1, шкембе с крутони и т.н. И после следим резултатите.

 

Относно точката за status code-а – понеже статус кодовете наистина са много и е хубаво да знаем поне основните най-лесния начин за това е да видите http status cat. От там аз научих повечето :D

 

Няколко неща преди да започнем с API тестовете:

  • Документацията не е винаги е пълно описание на продукта. Особено автоматично генерираната, outdated или зле написаната документация. За това трябва да мислим, да идентифицираме да  намерим нашия testing oracle (дефиницията си я намерете в блога на Виктор), да задаваме въпроси;
  • Настройката ви при писане на тестове – не пишете тестове, които минават, светят в зелено и еднорози скачат по репорта, а тестове, които тестват функционалност (понеже тук може да се говори много можете да пишете коментар в този блогпост или в поста на Виктор в неговия блог);
  • При API тестинга често забравяме да тестваме истински сценарии, а не само кой call какви отговори връща;

 

Кои тестове си струва да автоматизираме

  • Всички тестове, които връщат грешен response code (status code checks);
  • Всички тестове, които връщат грешни данни (structure checks);
  • Всички тестове, които не връщат никакви данни;
  • В добавка – освен единични, изолирани тестове е нужно да правим тестове по цели сценарии, знаете, но да кажа.

 

Status code checks – плюсове и минуси:

  • Плюсове:
    • Пишат се бързо и лесно;
    • Много дефинитивни;
    • Работят като sanity/smoke тестове.
  • Минуси:
    • Много повърхностни;
    • Трудно получаваме някаква полезна информация ако използваме GET методи (получаваме само status code без никакъв контент);
    • Status code checks сами по себе си не дефинират сериозни проблеми;

 

Structure checks – плюсове и минуси:

  • Плюсове:
    • С тях лесно може да проверим данните, които получаваме (no shit, Sherlock);
    • Тестовете могат да са много конкретнил
    • Ако използвате Codecept, например, можете да използвате regex.
  • Минуси:
    • Тези тестове са използваеми само за тестване на съдържание;
    • Трудни са при тестове на променливи данни;
    • Не са лесни когато имате deep nesting/дълги респонси.

 

Scenario checks – плюсове и минуси:

  • Плюсове:
    • Много близки до потребителското изживяване;
    • Използваеми при намирането на integration problems;
    • Могат да бъдат изпозлвани като леки regression suits;
    • Когато пишете scenario checks приемайте API-то като приложение (не ме целете с домати, но помислете за това). Много по-лесно е да измислите някакъв flow и да работите по него..
  • Минуси:
    • Бавни за писане/изпънение;
    • Изискват добра абстракция;
    • Трудно е да се каже кога са достатъчни

Както е писано неведнъж – при писане на тестовете използвайте ААА метода – arrange, act, assert. Това е достатъчно. Ако обаче се оплетете в морето от arrange/act-ове драмата ще е по-голяма от тия в индийските сериали.

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

 

 

Sales Skillz for IT People
Iancho Dimitrov, VP Innovation, Strategic Clients & Business Development, Musala Soft

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

Разакза ни малко за продажбите като имаше две интересни попадения:

  • “Sales are not bad thing if done right”;
  • “People don’t want a quarter-inch drill, they want a quarter-inch hole” Ted Levitt.

 

Why Teams and Culture Matter: Leadership lessons – Vasil Popovski

Преди години слушах за пръв път Васил Поповски на едно от първите издания на 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:

  • Team is not family – family is structure that is inherited, you cannot make changes there;
  • Lead the team, do not manage it – lead people, manage projects. Manager says “Go”, leader say’s “Let’s go”;
  • Foster a culture – culture is the shared core values, practices and beliefs of the team members.
  • Integrity is what you do when no one is watching

 

Hiring:

  • Hire for cultural fit;
  • Prefer skills over knowledge (skill is to know how to apply knowledge);
  • How many interviews you do as company – Google make a survey (how much interviews to hire someone) – fourth interviews was enough to predict a new hire’s performance with 86% confidence. After the fourth interview the accuracy of the mean score increases by less than one percent. More info can be found here
  • In Leanplum for example one backend developer goes trough next interviews:
  • Algorithmic
  • Coding/OOP
  • Design
  • Cultural fit
  • For Leadership skills

Performance management:

  • A single negative employee or bad performer can cause a 30%-40% drop in a team’s performance.

Първо каране за месеца

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

 

In other news:

10.10.2018

Днес Златина ме изненада с нещо ново, което вече въртя за незнамсикойпът.

In other news:

  • Случи се! След 7 години и един сериозен security breach (май най-големия на Google изобщо?) ще спрат Google Plus. Повече информация можете да прочетете в техния блог;
  • Нещо, което трябваше да се случи преди много повече време, но и това е добро начало – от сега нататък само default android apps ще имат достъп до SMS и call log-а;
  • Microsoft пуснаха fix-нат (уж) October Update, който на някои инсталации триел файлове, сини екрани, драми в три действия и т.н.  В офиса го бях качил и нямах проблеми.

05.10.2018

Болен съм. Кашлям като спиритуалното ми животно (магаре) и съм grumpy as fuck през повечето време.

И тъй де, да не хленча и тук. Търсим кола със Златина и респективно от около месец четем и двамата като ненормални. Няма български автомобилен форум в който да не съм регистриран и да не съм влязал в абсурдни детайли. Цялото това нещо в началото неше забавно, но след седмица-две се превърна в нещо, което вече искам да приключи.
Живота без кола се оказа pain in the ass като цяло – таксита, автобуси, маршрутки обилно обвити в мизерия и всякакви неблаговонни аромати.

 

In other news:

  • От 2019 г. максималния осигурителен праг ще бъде повишен от 2600 до 3000 лв. което е огромен скок. От това ще последват повече данъци за нас като служители и за нашите работодатели и то на немалка база;
  • Уилиям Дафо ще играе Винсент ван Гог. Трябва да призная, че избора на главен актьор много ме учуди, но трейлъра е поразителен. И все пак се надявам да си заслужава и да е поне толкова емоционално зареден както в онзи епизод на Dr. Who;
  • Вчера в офиса обсъждахме какъв хард би бил полезен за обща употреба. И първо се метнахме на червената серия на WD, после на Re (която е безбожно скъпа) и накрая стигнахме до общия извод, че ако някой от нас реши да си купува диск за обща употреба (например втори за storage) най-добрия вариант би бил Blue серията – т.е. най-евтината от всички. Това е така, защото всеки от останалите серии са специализирани за нещо и не добри в друго. Та ако се чудите какъв диск да си вземете единственото важно е да е нов и ако искате да спестите някой лев – да не е специализиран.
    Btw на NAS-а вкъщи понеже е една кочина от много и различни дискове, които съм събирал с времето redundancy-то му е компроментирано още преди да съм го пуснал заради многото стари и различни дискове. Не правете моята грешка.

02.10.2018

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

 

In other news започваме нов проект и за сега нещата звучат много интересно. Повече инфо може би след няколко месеца.

In other news:

  • Microsoft пуснаха кода на MS-DOS 1.25 и 2.0 в GitHub релийзнати съответно 1982 и 1983. Тук можете да видите и историята на DOS до 6.22. А защо 6.22? Това е последната версия върху която Windows работи като GUI. След тази версия MS-DOS вече се “емулира” от windows и неговия kernel;
  • Една интересна статия на Капитал за софтиерните компании в България. Long story short:
    • Paysafe е IT компанията с най-много приходи за предната година – над 100 милиона лв, има и 900 служителя;
    • Второ място е за Progress (ex. Telerik), които вече са на печалба. Тази печалба малко ме съмнява, че е направена основно след мащабните им съкращения веднага след като бяха придобити, но нека не издребнявам;
    • Трето място е за VMWare, които се оказва, че работят на загуба от 2016 насам?
    • Четвърто място е поделено между SAP Labs Bulgaria и Visteon.
      • Сред родните компании топ три са на:
      • Булпрос;
      • Сирма Солюшънс;
      • Хаос Софтуер.
  • Lessons in website security anti-patterns by Tesco e must-read за всеки security head и макар и стара статията е валидна и до днес;
  • Последно време започнаха да излизат едни страшни хардуерни backdoors, които намираме прекалено късно. Например на BlackHat Conference Christopher Domas  показа ресърч в който процесорите на Via – C3 (помните ли когато Via беше в играта с процесорите Cyrix?) имат backdoor, който с прост bash скрипт потребителя получава директно root access. Има и малко видео по темата. Сега се чудя какво ли има в по-новите процесори;
  • И това.