Пост №200

И ето, че блога остаря, помъдря и след малко повече от три години чукна пост номер 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), на всяка повдигната тема в страницата ми във фейсбук.

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

 

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

И както винаги – всякакви препоръки, идеи (за статии или коментар по вече написани) са повече от добре дошли.

Ваш,
Недко.

29.11.2017

Aaaaand here we go again. Опитваш се да се логнеш като root на MacOS High Sierra с празна парола, натиснеш няколко пъти login и … влизаш.

В интересни времена живеем.

 

Още един комикс в колекцията – този на The Perry Bible Fellowship

 

 

 

Днес е голям ден – Злати ме открехна за съществуването на King 180! Препоръчвам.

И още – Джейм Лаурънс явно обича да плува, тича и кара колело. Може би малко по-вече от мен и вас. Всъщност е участвал и завършил успешно 50 Iron man-а в 50 щата за 50 дни. Това освен нечовешко е и крайно впечатляващо.

28.11.2017

Зимата иде, зимата иде крещеше менингита чукайки по вратите на хората.

Тази зима реших, че е крайно време да взема четири нови гуми, че на година правим 20-25000 км, а със стари/втора употреба не става. Преди 2 месеца взех Continental Wintercontact TS860 88T 185/65 R15 и още си чакам снега да падне за да тествам, но при всички положения ще са по-добри от старите (които служиха вярно в нечовешки условия).

 

In other news:

  • Открих JINJER;
  • На 04.12.2017 г. Goodreads мигрират всички API endpointsкъм  HTTPS ony requests (малко закъсняла мярка според мен);
  • От 2 дни в София прехвърча сняг, от днес в Шумен, докато дойде във Варна аз ще съм в София (където дано е натрупало поне малко!);
  • Да си припомним Regression testing model-а;
  • Не си поръчах нищо от черния петък, чакам да видим на emag какви ще са глобите (бяха хванати от няколко отделни човека да надуват цените 2 дни преди черния петък и после да ги “свалят” като пак са по-високи от стандартните);
  • Четвъртия Хари Потър (Огнения бокал) върви доста по-бавно от предните три книги. Шегувахме се тия дни, че миналата година беше годината на Пътеводител на Галаткическия Стопаджия, тази – на Хари Потър. След като минат всичи части ще започна с Глуховски и Оруел да сменим малко жанра;
  • ARP Poisoning Attack and Mitigation Techniques – полезно четиво за ARP poisoning от CISCO;
  • Една полезна лекция от Петър Николов за миграция към HTTPS (което пък е по темата от втора точка :)).

27.11.2017

Тези дни се занимавам с Raspberry Pi B (съвсем първия Raspberry Pi) заедно с Adafruit 2.8″ TFT 320×240 и  Pi Camera. Освен това правя и един интересен проект за домашен Weather Station с esp8266, но ще почакам да ми дойде bme280. Голяма гъзарийка се задава, stay tuned.

 

Новината на деня е, че излязоха видеата на OpenFest 2017, които могат да бъдат намерени тук:

 

In other news:

  • Златина ми показа Zen Pencils – страхотни комикси базирани на поезия;
  • Дискретният чар на демокрацията – страхотно видео с неподправимия Китодар Тодоров (не е политически ориентирано така, че можете спокойно да си го пуснете);
  • The Biggest and Weirdest Commits in Linux Kernel Git History (където можете да видите достатъчно на брой извращения);
  • Firefox Quantum – Firefox пак на гребена на hype-а, обещаващ значително подобрение на производителността. Разцъках го за ден и ми се стори доста добре, но още не мога да преживея силно грозния inspector. Ще видим какво ще ме накара да премина на FF, но Quantum е добра стъпка към правилния път;
  • How I hacked 40 websites under 7 minutes

22.11.2017

Докато втората статия за ISTA 2017 се готви малко загърбих блога.

От 14.11.2017 вечерта до 18.11.2017 г. вечерта бях в София с основна цел да посетя ISTA – една от малкото QA насочени конференции в страната. За нея в друг пост.

Във Вторник кацнах в 22 и нещо и вече ми се спеше. Бакшиша ми говореше някакви неща докато не стигнем в околията на МОЛ “Сердика”. Не разбирам аз ли ги предразполагам или просто има такива хора, но е крайно дразнещо това някой непознат да те занимава с глупостите си.

Видяхме се само с Виктор, че Катина и Алек си бяха легнали, поговорихме си малко за живота, строенето на къща и компютърджийски истории и си легнах.
На следващия ден сутринта се излюпих набързо и с бодра крачка тръгнах към офиса (около 40 минути пеш). Отидох там по-рано и част от колегите вече бяха там за да се видим преди работа, да поговорим простотии и т.н., общо взето – нормалните неща :)
За добре дошъл ми поднесоха две бири и беше трудно да ги скатая за да не личи от далече, че започвам сутринта с бири :)
Деня в Софийския офис на Немечек мина скандално – от всякъде колеги ме дърпаха да ме разпитват как съм, да си разказваме неща по проектите, простотии и т.н. и деня мина супер бързо (дори и успях да свърша няколко неща!).
Вечерта прекарах в приятели, видях се с порасналия Алек, говорихме си до късно и така.
Следващия ден отидох на ISTA 2017 няколко минути след като отвориха регистрациите и имаше немалка опашка. Организацията беше ок и с влизането видях доста познати лица. За останалото можете да прочетете предния ми пост.

Ден трети започна пак с ISTA, нови хора, нови лекции, много кафета, networking. Отказах се да пиша live blog, защото сметнах, че е безпредметно. За сметка на това сега довършвам ден втори от лекциите.

Прибрах се при моите приятели, поговорихме малко и стегнах багажите за място 2 в което щях да преспя един ден. То беше при сестрата и съпруга на Злати заедно с двете деца – Кати на малко над годика и Габи на няколко седмици. Беше приятно, легнахме почти навреме, а на следващия ден станах в 6 и нещо, защото голямата вече се беше наспала и дойде ред за храненето ѝ.

След приятен ден прекаран основно на закрито се сбогувахме, викнах такси (15 кинта) и директно към летището. Почаках малко, четох, дойде моя ред, влязох в самолета и си пуснах албума “You want it darker” на Leonard Cohen и тръгнах да чета. В самолета имаше малко изпълнения от пасажери, които се държаха тъпо със стюардесите, но иначе всичко мина гладко.
Във Варненското летище взех такси (10 кинта) и се отправихме с около 190 км/ч по магистралата и 100 в града към квартирата. След третата забележка към относително грубия шофьор пуснах оплакване към централата на Триум Такси и се разбрахме с 2 думи. Дано да му е за урок.
Прибрах се на топло при Злати и котарака Иво и най-накрая се наспах като хората.

ISTA 2017 live blogging day 1

ISTA 2017 ден първи

 

“Innovate, automate, accelerate” – Birger Thorburn CTO на Experian

Доста интересна и надъхваща реч относно бързото развитие на Expirian, която се занимава и с data analysis, няколко огромни цифри и ме накара пак да се замисля за сигурността ни онлайн. Това беше един страхотен пример как се води презентация пред хора – много добър начин на изразяване, слайда с данните беше представен по правилния начин (а не да се изчете всичко дословно), посланието от презентацията стигна до (повечето от) нас.

 

“The new leaders of quality” – Lyudmila Labova from Paysafe

Людмила говори за качеството, за quality measurements, non-measurable quality и best practices, говори доста за компанията в която работи. Споменава за това, че използват SonarQube. Като цяло лекцията е много основна и не научих много нови неща от нея.

И формулата за успеха на PaySafe е: V x D x F > R (Vision x Discomfort x First steps x Resistance). Ако това ви свърши работа намерете Любмила и я черпете едно.

 

Лекцията приключи 20 минути по-рано и имах време да вляза към края на:

“Security, Big Data and other challenges to the IoT” – Martin Harizanov от Visteon

Мартин Харизанов ни говори за сигурността в IoT и разказва за векторите на атака (които по дефиниция са почти същите както и на други real-world системи) като brute force, DDoS, после за превенция – client/server/OS updates, FOTA (firmware-over-the-air), monitoring и т.н. Накрая пак ни напомни, че абсолютно сигурни системи няма (може би освен тези, които са offline?). След това поговори за Big Data в IoT. Каза, че CISCO са излезли с доклад, че до 2020 година ще има около 20 милиарда неща (игра на думи от internet of things). Forbes пък са предвидили, че IoT трафика ще достигне 600 ZB (600 трилиона гигабайта) през 2020.

Note – тук отварям една голяма скоба:

  • Проверих твърдението, че до 2020 г. ще има ~ 20 милиарда IoT devices. Доклада, който намерих е от 2011 година и на страница три се споменава цифрата от 50 милиона устройства;
  • Доклада на Forbes относно твърдението, че до 2020 IoT ще генерират ~ 600 ZB е коректен, но написан в статия от преди точно година (13 Ноември 2016);
  • Тези статистически детайли не знам колко могат да бъдат прогнозирани, но ще следя с интерес какво се случва на IoT пазара.

Мартин обръща внимание на данните и трафика, които IoT могат да генерират. Всички ние взимаме трафика за нещо не толкова важно, но истина е, че той трябва да се пести. Разказа ни също и за няколко неща, които могат да ни помогнат като например това, че не всички данни трябва да се запазват и измерват, може да използваме агрегация (статия за data aggregation от IEEE), “Cold” data (или данните, които не са ни наистина нужни или използваме прекалено рядко) и т.н. Даде пример как няма нужда да измерваме температурата в стаята ни през 30 секунди, например. Какво ще се случи за толкова време? Помогна ми да взема решение за home automation-а, защото се чудих дали 2 минути са ок за измерване, но може дори и на повече.

 

“Testing Red Hat Enterprise Linux the Microsoft way” – Alexander Todorov от RedHat

Александър говори основно за pariwaise testing, installation testing и спомена, че за автоматизация на инсталациите използват Anaconda.

Разказва за спецификите на тестване на инсталатора на RedHat – симулация на iSCSI (с и без authentication) например, за това как един тест кейс може да продължи по 30 минути.

Говори за оптимизиране на test matrix (нещо за което трябва да прочета повече). Освен това трябва да си припомня и повече за pairwaise. За големи test suites и направен правилно може да даде впечатляващи резултати.

В общи линии разказа, че използва 3 tiers – първия е набор от тестове, който намира около 30% от всички логнато бъгове, втория набор е от всички тестове, които ползва (още около 30% от намерените бъгове са от тях) и 30% са от exploratory testing. Останалите 10% са дефекти (4 critical) – 1 firmware dependent, 1 corner case в s390x  (не може да се закачи правилно по NFS, hidden dependency и разлика в работата на IPv6 иIPv6) и третия в недостатъчно тестване (human error).

В извод pairwaise има доста силни страни така, че трябва да бъде използван от нас често и мъдро за да намалим броя на нашите test cases без да афектираме качеството.

 

Обедна почивка – време за networking, хапване, кафе и дойде време на:

 

“The future of computing” – Laurent Bugnion от Microsoft

Забавния Laurent Bugnion с интересния швейцарски акцент започна с историята за computing_а отзад-напред – със старите лентови карти, огромни комютри и т.н.

После мина на Blockchain:

  • Blockchain не е само валута;
  • Децентрализирано сигурно предаване на информация;
  • Информацията е най-ценния ни ресурс.

Следваща точка беше cloud computing (напомни ми на онзи лаф, че не качваш на cloud, а на компютъра на друг човек). Спомена Azure, OneDrive, Amazon Cloud Services и накрая – “Абе и Apple май имат някаква такава услуга, но …” и се засмя :D

Спомена за serverless computing (помните ли Силиконовата долина и идеята им за разпределено изчисляване (decentralized computing)?). (последните няколко знака заприличаха на някакъв извратен regular expression :D ).

Направи и малко демо с Cortana (като първия път фейлна :D) за времето, да му напомни нещо и накрая интересното беше “Като се прибера ми напомни да направя еди си кое”. Имаше и tell me a joke и хумора беше трагичен :) Следващата част на лекцията беше за AI/ML (Artificial Intelligence, Machine Learning). Едно нещо не ми хареса – каза, че ще направи serverless demo, но после каза – “Upload-ваме това на сървъра”. Това е тъпо и ще прочета малко за тяхната идея за serverless и ще видим каква е тяхната дефиниция.Та – направи един пример в Azure cognitive services с blob upload event (тови е event при upload на снимка в нашия случай) успя да прочете нещо надписано на ръка. Успя от две свои снимки с Emotion API да разпознае емоцията на лицето си с доста добра точност. Дойде ред на Augmented reality (пример беше Pokeymon Go) и Virtual Reality (напълно виртуална реалност, рендирана от някакво изчислително устройство). Спомена с и известна надсмешка за Google Cardboard glasses (които по дефиниция са супер евтини, мисля $2 и после почти директно ги сравни с VR на Acer) и HoloLens и mixed reality (смесена AR и VR – практически можем да взаимодействаме с реалния свят смесен с виртуална реалност).Показа и забавно демо с един космонавт над публиката. HoloLens заби само веднъж, а стрийминга беше ужасно бавен. Сигурен съм, че ползва 2.4 GHz мрежа. И пак Apple reference като спря stream-а – “Can you turn off your phones?” :D Показа едно тъпо демо с едни кубове и после дойде някакво абрусдно добро демо за планиране на индустриални структури упралвяемо с глас и жестове (добави кран/махни кран/покажи информация за този кран). Презентацията и кода можете да видите тук.

До момента най-забавна/приятна/интерактивна лекция.

 

В почивката имах възможност да се запозная с Алекс Тодоров, който е супер активен в нашата сфера и поддържа един от най-интересните блогове за QA в България – http://atodorov.org/ а след това и се запознах (най-накрая!) с Виктор Славчев – още един страхотен лектор и блогър. Нещата му можете да видите тук – http://mrslavchev.com/

 

“A Team Contributing Full-time to Open Source Projects – A Primer on Making It Happen in Your Company” – Iancho Dimitrov, Dimitar Ivanov – Musala Soft

 Двамата лектора изглеждат интересни и разказаха защо е ок да работят върху / разработват open-source проект.
До момента разказаха основно за МусалаСофт.  След това заговориха за smart home и споменаха OpenHab и SmartHome.Продължават да говорят основно за Мусала.

Разказаха как са убедили борда на директорите, че имат нужда от opensource проект по който да работят и в момента по него са включени 10+ програмистра (full-time) и един Senior Dev (part-time mentoring).

Описали са доста документация, доста unit тестове и са метнали тежките задачи. После е последвал static code analysis, работа по интеграцията с различни устройства и разбира се са вложили вътрешните си, вече утвърдени процеси в разработката.

Малко разпиляна ми дойде лекцията така, че на TL DR – пичове са решили да се занимават с open source, харесали са си smart home идеята, убедили са мениджмънта, че ще е яко ако имат такъв проект и с времето са набавили 10+ човека, които работят за проекта постоянно. И нещо важно – казаха, че по-неопитните хора, които първо са минали през този opensource проект са се интегрирали много по-бързо и по-качествено във фирмената инфраструктура работейки по комерсиалните проекти.

 

“Mastering scrum mastering” – Nikola Bogdanov от Fourth

Започва с това, че има куче и че е от Добрич. Оставам до края на лекцията! Учи за PhD и води университетски класове (не каза къде).

Започва със самото начало, защо SCRUM е важен, какво прави един scrum master и т.н. Разказа как в началото на agile stuff всичко е било self-organizing team и как е минало доста време докато се оформи нуждата на отделен човек, който да работи като scrum-master.

Scrum master as a teacher:

  • Boundaries;
  • Alignment;
  • Constraints;
  • Support;
  • Observations.

 

Scrum Master Evolution Model:

  • ScrumDude – part time, Schedules meetings, time keeping, three questions, Lists positives & negatives;
  • ScrumMom – Moderates meetings, protects the team, directly removes impediments, team interface, artificial harmony, bossy, cares about velocity and delivery dates;
  • True ScrumMaster – facilitates meetings, grows the teams long term, delegates & analyses, makes the team responsible and accountable, encourgages and motivates, mirror of the team, leads by example, an experimenter;
  • Agile Guru Lama Sensei – light for the team, sees & feels the matrix, holds the space, refills & inspires, just listens & reflects, flow & evolution, asks powerful questions, kokoro teacher.

 

“Automating Web security testing” – Yavor Papazov – CyresLab

Явор разказа с голямо въодушевление и страст за това, което прави. Разказа как не се прави вече:

Yesterday’s IT projects:

  • Waterfall methodology;
  • Testing comes after construction and before deployment;
  • Discrete releases;
  • A release of a project can be certified for security
    • e.g. common criteria

 

И как се прави сега:

Today’s IT projects:

  • We’re Agile now
    • We don’t do releases
  • Tendencies
    • DevOps
    • Continuous Integration;
    • Continuous Deployment
  • Cloud-first design
    • Elastic Load Balancing & Autoscaling
    • Systems that manage themselves

Обясни ни за това, че има два подхода към сигурността:

  • Options A: Give up security at release and work to improve it afterwards
    • Resilience instead of security
  • Option B: Ensure security early along the software production pipeline
    • Leads to automating security testing

Спомена и за Chaos Monkey.

 

Защо автоматизирането на security тестовете е трудно:

  • Lack of well-defines security requirements
    • “Make it secure” is not well-defined;
  • Most security requirements are non-functional
    • “Make it secure” is non-functional
  • Lack of well-defined security requirements
    • Check “Application security verification standard” by OWASP
    • CWEs
  • Most security requirements are non-functional
    • We can translate some requirements to functional

 

What other people use:

  • OWASP ZAP (Zed Attack Proxy) – had API
  • BDD-security )Confinuum Security)
  • Mittn (F-Secure)
  • Gauntlt

Demo time:

 

Това беше края на ден първи. Имах удоволствието накрая да се запозная лично с the Microsoft dude и с Явор и побъбрихме мъничко. Беше много приятно да видя, че извън сцената хората са си същите – без много взимане на сериозно, много приятелско и тополо отношение.

 

 

Stay tuned за ден втори :)

How to enable friendly URL’s for Joomla using nginx

Когато преместих вече античния nasam.be на marvin имах един основен проблем свързан с прехода между apache2 и nginx и това беше, че nginx не поддържа .htaccess (повече можете да прочетете тук и тук). Там (почти) всичко е организирано в sites-avialable/ профила на сайта, който хоствам и грозните линкове, които Joomla генерира (от типа на https://nasam.be/index.php?option=com_content&view=article&id=183:qa-test-types&catid=53:software-testing&Itemid=167) с един ред и един рестарт станаха по-прилични (https://nasam.be/kompyutarni/software-testing/qa-test-types.html)

Промяната е в /etc/nginx/sites-avialable/project_name:

location / {
 try_files $uri $uri/ /index.php?$args;
 }

Или добавяме в основната location / {} директива точно преди затварящата къдрава скоба следния ред:

 try_files $uri $uri/ /index.php?$args;

Следва рестарт на nginx, сменяне на настройките в Joomla да се използва mod_rewrite и това е :)

 

Искам да отбележа, че това не е специфично Joomla! или WordPress решение, а универсално. Ако имате каквато и да е система, която използва rewrite на линковете това решение би трябвало да ви свърши работа.

ISTA 2017

Най-накрая ще присъствам на ISTA 2017 на 16.12 – 17.12.2017 г. в Sofia Event Center! Последния път бях на ISTA 2013 и от тогава насам трима работодатели са обещавали, че ще отида и така и не отидох. Явно изкарах късмет със сегашните, защото попитах и получих одобрение за няколко часа.

Те така – ISTA е една от много малкото QA конференции, които се провеждат в България. Тази година цифрите са още по-впечатляващи – 3 последнователни трака, повече от 30 презентатора, над 750 присъстващи и билет само за 123 евра. Ще има бая интересни неща и ще опитам да направя live blogging както направих за WordCamp Varna 2017 пък да видим какво ще стане.

Ако ще участвате и вие пишете да се видим там.

 

P.S. Писах на отганизаторите за един малък бъг на сайта им, да видим дали няма да ме напсуват :)

Free backup script

Баси тъпото заглавие.

Anyway – днес fork-нах един проект, който използвам от извесно време с разни адаптации за marvin и реших да го публикувам.
github проекта за сега носи работното име Full Web Server Backup, а основния проект можете да намерите тук.

Основните разлики между проектите са:

  • Основния проект има Amazon S3 sync, аз го махнах, защото използвам услугите на pCloud;
  • В моя има архивиране на /etc, почистени са малко неразбории.

За в бъдеще смятам да добавя:

  • Избор на compression level;
  • Изнасяне на mySQL user/pass в ~/.my.cnf
  • Избор на специфични директории в /etc, които да архивираме или exclude-нем;
  • cronjob;
  • Архивиране на /home директорията на определен потребител (ако имаме права за това).

Ако имате друга идея с радост ще я прегледам. marvin си пази бекъпите с този скрипт и за момента работи безпроблемно.

(пак) за блогването

Преди време писах за блогването, а тези дни започнах да реализирам една стара идея – да направя списък с повечето (активни) български блогове (най-вече персонални, не от типа на lifehack.bg, който е добър, но извън моя интерес.
За сега съм събрал около 20 като за всеки ще има малко информация – активен ли е, основна тематика, кога е създаден и т.н.

Ако имате други идеи съм отворен.

А аз пак се опитвам да направя писането в блога ежендневен процес, но понякога не ми дава съце да напиша нещо от типа на “Днес деня беше насран, искам да спя”. Като не носи някаква дори и минимално полезна информация за вас като читатели не виждам голям смисъл.