Tag: Project of the day

05.06.2018

От толкова много време не съм писал, че списъка, който имах за този пост е вече прекалено остарял.

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

In other news:

  • Microsoft купуват GitHub за $7.5 милиарда в акции, което е доста повече от предварителните оценки. Огромен трафик започна да се генерира към GitLab, а Atlassian (на които е BitBucket) имат един огромен пазар с още по-големи възможности за експанзия;
  • Май не съм пускал тук, но EFAIL е името на уязвимостта в имплементацията на PGP;
  • Написах Privacy Policy за блога с повече информация какво паза за вас като посетители (hint – нищо освен access/error logs и google analytics). Всеки, който си го хареса може да си го копира и използва за своя блог с единственото условие конфигурацията му да е същата като описаната :)
  • Блокчейн стартъп спечели финансиране за $4 милиадра без live продукт;
  • Един страхотен сайт, който показва как работи DNS;
  • (малко простотия) Google махнали “Don’t be evil” от техния code to conduct и се вдигна малко шум около това;
  • Божидар Божанов писа за седем мита за GDPR;
  • Нови zero-days на Internet Explorer;
  • Side-channel attacking browsers through CSS3 features;
  • 7-zip също с критична уязвимост;
  • Хомосексуалните господа и дами от Polar спряха форума си, защото в него успяха да разкатаят как работи и върху каква основа върховия им вело-модел V650. Грр!
  • А знаете ли, че ако замените социалните медии с книги за година ще сте прочели около 200 такива?
  • Още чакам видеото от QA: Challenge Accepted 2018.

30.04.2018

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

Вчера излязох за една бърза тренировка и тя излезе наистна бърза. Реших да си измеря максималния пулс за да настроя добре Polar-а си и … направо се изкъртих. 182 беше абсолютния максимум, а тренировката ми беше направо убийствена. Това не беше особено приятно докато карах, но като слязах от колелото беше доволно и мазната усмивка веднага ми се лепна на челото.

 

In other news:

!. Северна и Южна Корея обявиха премирие! Това ще го има в учебниците по история

  1. WeWorkRemotely купиха wfh.io. И понеже няма НИТО ЕДНО МЯСТО в което пише за това освен мейла, който получих го поствам по-долу. А идеята да redirect-ват wfh.io към weworkremotely е гениална.

We have some very exciting news: WFH.io is now part of the We Work Remotely Family!
The Work From Home website will now be redirecting to our website: We Work Remotely. We’re super excited about the amazing community around Work From Home, and we’ll continue the great customer service in the name of continuing the remote work revolution!

 

2. Публикувах си поста за Code Week Varna 2016, който понякаква причина не бях. И последно, добавих и минусите, които явно не бях дописал преди година.

3. От Varvy правят някакви скандални tutorials. И понеже последно време интереса ми е насочен към performance testing ми попадна тяхна статия, която е скандална. Препръчвам я на всички;

4. И една статия за performance testing с Gatling;

5. И сега нещо интересно – хакери са успели да хакнат My Ether Wallet. Интересното е, че не са хакнали сайта. Как може да стане това се досещате – направили са BGP hijacking.

В много общи линии BGP протокола е в помощ на DNS. Когато направим запитване за, да кажем nedko.info, правим първо DNS lookup, който resolve-а IP-то, а BGP протокола се грижи за коректното рутиране на пакетите до нас.

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

6. Новината на годината е, че Oracle тихомълком анонсираха, че от Януари 2019 бизнес потребителите им ще трябва да заплащат лиценз, а от 2020 (най-рано според тях, но всички знаем какво значи това) – и обикновените потребители. В офиса говорихме по темата и позицията на част от колегите е, че най-вероятно искат да бъдат алтернатива на все по-развиващия се отворен свят на .net да кажем;

7. Един страхотен инструмент, който ми спаси гъзът тия дни беше crontab.guru. С него човек може да разбере crontab мааалко по-добре. Има си и примери, които правят задачата приятна за изпълнение.

 

P.S. Ако този пост ви се стори разхвърлян и странен не сте в грешка – пиша го в продължение на сигурно седмица добавяйки това-онова в него. Накрая стана работата стана return return breack.

04.04.2018

Вчера излезе WordPress 4.9.5.

А Speedy са хомосексуалисти – имат гениалния план за изпращане на пратки за 2 дни. И пратката идва на следващия ден, стои ЕДИН ДЕН в техния склад и на следващия ти я носят.

 

In other news:

  • Оказа се, че Chrome сканира локалните файлове. Повече информация – в статията;
  • Жлъч говори пред chronicle.bg;
  • Ahrefs правят един анализ на над 170 милиона сайта и ни показват малко статистики за тези, които използват машините ни да копаят криптовалути. Най-големия играч в това отношение е coin-hive, който води класацията с почти 94%. Ако се загледаме в списъка с топ 20 сайта две неща правят впечатление:
  • Side note към горната точка – можете да блокирате съвсем успешно тези JS maining scripts с uBlock или AdBlock;
  • Понеже ще сменям скоро гумите на Ситроена и потърсих малко ревюта за летни гуми. Та ако решите – списъка на ADAC за 2016 (не намерих за 2017) за 185/65/15 можете да видите тук.

03.04.2018

Поръчах си Polar V650 и нямам търпение да го тествам! Ще пиша моите наблюдения по-натам.

In other news:

 

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

 

И последно за днес, цитат на деня от Дийкстра – “Selecting a tool first and then trying to fit it into an existing software development and testing process is a bit like buying a horse and then realizing you live in an apartment on the twentieth story of a Manhattan skyscraper: probably not such a good idea.”

02.04.2018

Целия уикенд мина в почивка, разходка до Балчик за по една супа и да ни навали дъжда и четене.

In other news, освен, че се подготвям за QA: Challenge Accepted 4.0:

31.03.2018

Днес направих първото си по-голямо каране за годината. Отидох до Балчик и обратно или общо 90 км. Този път въртях умерено и без да се самоубивам по баирите. Целта на упражнението беше да видя как се чувствам на колелото, да видя дали ще мога да си контролирам поривите да въртя на максимум сили и да тествам Garmin-а, който ми подариха наскоро.
За сега всичко е ток. Ще гледам тези дни да направя няколко последователни дни с дълги карания за да мога да видя как ще ми го понесе тялото и ако всичко е както очаквам ще се пусна на първия ми за годината бревет – Варна 200+300.
И да – това са 200 км в Събота и 300 км на следващия ден. Миналата година опитах и се справих добре на 200-та, но на следващия ден бях дроб и не финиширах на 300-та.

Тази година целта е да се науча как да възстановявам бързо (все пак 500 км. за два дни го изискват), да приемам правилната храна по време на движение и най-вече да си контролирам силите за да не тръгна на спринт първите 20 км и после да лазя докато не дойде момента в който искам да умра :)

 

Те така.

In other news:

03.2018

Този месец се учудвам колко малко съм писал.

Personal update – в офиса ми дадоха освен QA задачи по новия проект и да вдигна един VPS като staging server с nginx, mysql, проекта е писан на Laravel. Деплоя мина добре, проектите са up and running и като има задачки на сървърно ниво ги поемам аз, което ме кара да се чувствам много добре. И това основно заради marvin, който неведнъж съм искал да запаля. Our relationship is complicated, както казват :)

Иначе ето няколко неща, които се случиха последните седмици без явна подредба:

 

  • След Meltdown и Spectre дойде ред на amdflaws. Това са колекция от сериозни уязвимости според сайта. След един бърз и некомпетентен поглед от моя страна май не са като Meltdown/Spectre, а Линус Торвалдс тегли една майна на авторите. Няма да ви развалям удовоствието от четенето. Линус си е епичен както обикновено :)
  • Branch prediction attacks на много ниско ниво откриха в семейството процесори на Intel (само те са били тествани). Прочетете статията, дава малко светлина върху една интересна техника за branch predictions;
  • Semantic Versioning е проект, който описва по прост начин идеята за означението на версиите (versioning) като например какво значи версия 3.2.17. За хората с опит това е ясно, но за по-новите в бранша е ценен ресурс;
  • Камерата на Google Pixel използва AI-то, което правило снимките по-яки или поне така твърдят. В общи линии използват image segmentation, което разделя снимката на сегменти и ги сглобява с техен си алгоритъм. Така според тях качеството на снимките се подобрява значително;
  • Новината на годината в digital signed certificates сектора е, че Let’s Encrypt пуснаха поддръжка на wildcard certificates на цената на техните нормални сертификати или точно 0 лв! За целта трябва да добавите TXT domain record и да използвате техния API endpoint. Имайте предвид, че трябва да използвате certbot 0.22.0 или по-висока. Другото можете да направите с подобен синтаксис:
./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d *.nedko.info --manual --preferred-challenges dns-01 certonly
  • Излязоха данните от годишната акнета на StackOverflow за 2018 година. Винаги тази анкета е служила за много добра индикация накъде сме откъм технологии, навици, заплащане и т.н.;
  • Професор Стивън Хоукинг си замина на 76 г. оставяйки в много от нас нуждата да знаем, да погледнем нагоре (или в нас) и да се борим. Почина 50 години по-късно отколкото лекарите му бяха казали, че ще живее с ALS;
  • YouTube имат намерението да борят fake news с линк към Wikipedia под видеата. Много се кефя на идеята, но ако човек гледа видеа за рептили е малко вероятно да седне и да изчете 5-6 страници статии и научни обосновки да кажем. Ще видим, дано помогне;
  • На Pi Day излезе моята любима джажда Raspberry Pi  3 Model B+ (последния да затвори вратата). Новия модел ще има 1.4 ghz quad-core Cortex A-53 процесор, 802.11.ac и Bluetooth 4.2, гигабитов нет (over usb 2.0) и подобрено оглаждане. Цената остава $35;
  • Фейсбук ми напомни, че преди 7 години им писах един благодарствен мейл, който още им виси на сайта. Бях техен клиент от около 2007 до 2016;
  • Едно леко извратено видео как елементарните неща, които можем да правим с десетки библиотеки и драйвери навремето на асемблер са се пишели на ръка. Това не е урок как да пишете на Асемблер, а по-скоро да си даваме по-често сметка колко ненужни ресурси заемаме с някой елементарен npm пакет, js библиотечка или каквото се сетите;
  • И как можем да подкараме Kali Linux на Windows 10 – native! Изисква много малко подготовка и работи добре;
  • Google изгуби продъжилия над 8 години съдебен спорт с Oracle относно и трябва да платят около 8.8 милиадра долара. Така, че внимавайте с лицензите ;)
  • Винаги съм се кефил много на ентусиастите, а на Paulo Constantino съм особен фен откакто разбрах, че е направил 8 битов процесор ей така just-for-fun. Схваща ми се ларинкса само като видя колко сложно изглежда на външен вид;
  • А ако някой има нужда да деплойне Laravel server някъде може да ползва tutorial-а на DigitalOcean, който на мен ми свърши страОтна работа;
  • Из българския интернет (блогосфера звучи тъпо) Божо говори за две наболели теми тия дни – това, че ГДБОП НЕ ни следят чатовете и повече информация за защита на личното ни пространство;
  • Програмист сте и си пускате локална среда, която в hosts файла задавате да бъде neshtosi.dev или neshtosi.foo. Отваряте го през Chrome и/или Firefox и БАМ – не можете, защото сертификата ви не е валиден? Какъв сертификат, бе? И не можете да продължите, защото имате HSTS? WTF? Споко – проблема не е във вас. От извесно време насам Chrome и Firefox force-ват gTLD-тата .dev и .foo към https с hsts. Повече информация можете да прочетете тук;
  • GitHub преживя най-голямата DDOS атака някога. Историята е интересна и препоръчвам да я прочетете;
  • И свързано донякъде с горния ред – да не забравите да си ъпдейтнете memcache-а;
  • Един модел за git branching, който е кратък и извънредно полезен;
  • Най-тъжното нещо, което съм чел тази година е едно несъмсигуренколкоточно изследване финансирано от изобщо неподкупните и политически независими 24часа. Няма да пиша нищо за него, защото брадата ми е още мокра от сълзите, които текоха като реки докато го четох първия път;
  • От серията “Научи xx за хх минути”, този път JS от Jeremy Thomas;
  • Ся, нещо важно – пускат Unity C# под reference-only license;
  • ngxtop е един много полезен проект, който ви показва в конзолата real-time метрики за натоварването на nginx. Писан е на Python и се инсталира елементарно през pip:
    pip install ngxtop

    Можете разбира се да намерите и WEB модул, който прави това, но официалния е Luameter и струва 40 евро.

 

P.S. Ако се чудите каква връзка има комикса със статията – няма. Но ми е любим откакто го открих :D

 

P.P.S. Генерирането на Akismet api keys не работи така, че който иска да ми спами блога сега е момента.

Датчик за фини прахови частици – как, защо и няколко идеи

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

Хардуерът

Развойна платка: ESP8266
Датчик за твърди частици: SDS011
Температурен датчик (+атмосферно налягане и влажност): BME280

 

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

Софтуерът

От софтуерна гледна точка нещата са елементарни. В сайта на Air Bulgaria са публикували готов firmware, който прави впечатляващи неща с контролера. Някои от тях:

  • WEB сървър, който сервира данните от датчиците в малка страничка достъпна от всеки потребител логнат в същата мрежа в която е устройството;
  • Вдига сам Wi-Fi spot към което потребителя може да се закачи за първоначална настройка. След това esp8266-то се закача за вашата мрежа и става клент както всяко друго Wi-Fi усторйство закачено към домашния ви рутер;
  • DHCP сървър за първоначална инициализация;
  • Може да изпраща данни към един или повече API endpoints;
  • Изпраща автоматично данните към http://luftdaten.info, а оттам https://airbg.info ги взимат и парсват до подходящ вид на тяхната карта;
  • Може да изпраща данните към InfluxDB;
  • Поддържа OTA updates (On-The-Air);
  • Поддържа доста сензори и дисплеи, които се настройват елементарно.

 

Моята идея

Към стандартната функционалност бих искам да добавя следните неща:

  • Физическо укрепление на системата (кутия, термошлаух, както писах по-горе и други малки неща);
  • Данните ще хвърлям и към InfluxDB, който (по идея на Стан) ще бъде в контейнер (хем да се науча да работя с тях, крайно време е!);
  • Grafana dashboard, защото всеки обича да му е красиво и функцоинално;
  • Независимо захранване. Понеже SDS011 не пести много ток, ще мисля вариант с измервания на една минута. Същото се отнася и за температурния датчик (и евентуална корекция за да синхронизирам двата). Енергонезависимостта му ще е осигурена с power bank (ако някой ден ми попадне соларно панелче, което да пълни power bank-а през деня ще стане епично).

 

Ето и как изгелжда работещия проект на с firmware-а на airbg.info:

 

Ако някой има интерес или въпроси може да пише под статията. Ако мога ще отговарям.

 

P.S. Най-важните неща за накрая. Нямаше да се хвана с този проект ако не бяха три основни фигури – Орлин, който на Zara Code Week миналата година ни показа, че електрониката изобщо не е толкова сложна колкото си мислим и че всеки в днешно време може да реализира IoT проект за отрицателно време, на Стан, че ми подари без причина ESP8266 и на Златина че ме изтърпя докато в нас беше катаклизъм от кабели, платки и документация.

09.12.2017

Днес е малко време за четене и спокойствие. И разходка!

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

Вечерта започнах да се подготвям за миграцията на marvin към php-fpm (не с manually build PHP (и при това две – едно антично и едно latest and greatest)), Никото ми представи няколко много вълнуващи идеи и конфигурации за nginx-а.
Плана е да deploy-на наново nginx, php-fpm и да пренапиша изцяло vhost-овете. Освен това сега използвам letsencrypt за … да – да генерирам сертификати за Let’s Encrypt. Ще мигрирам на certbot.

Тези промени ще подобрят:

  • Работата на marvin като цяло;
  • Много по-леката конфигурация на nginx, очаквам скоростта на блога и останалите сайтове да се качи значително;
  • Всичко, което носи PHP 7.2 и най-вече сигурност и скорост;
  • Сигурността трябва да се повиши (имам някои проблеми си правата и потребителите, които ще бъдат разрешени с деплоя на новия nginix);
  • Ще науча много за nginx, конфигурацията му и работата с vhosts;
  • Ще разкарам всичките php-fpm глупости – в момента търкалям PHP 5.3 (което е свръх-антично) и PHP 7.0.3. Накрая ще стане само един (колко крайно прозвуча това :D) – 7.2.

 

In other news:

01.12.2017

Навън вали сняг, зима е. Said no one this year. Сутринта излязох с тениска и суетшърт, колата показа 16 градуса. Преебахме я тая планета и това е.

 

In other news:

  • Keychest.net е един интересен инструмент, който
  • Онзи пич, който е сложил bitcoin miner в багажника на Tеслата си.