До чего дошел прогресс. Воюют роботы, а не человек (с)

Попалась статейка на Habr.com о том, как разработчик боролся с ошибочной блокировкой приложения в Google Play Store: В этот раз ответ пришлось ждать 48 часов, но ответ меня снова порадовал, т.к. это была точная копия предыдущего ответа, даже от того же самого парня по имени Edward. Мол, все OK-ей, публикуйся. Мне вот интересно. Неужели он ни разу не заподозрил, что все эти манипуляции разбанили/забанили ПОЛНОСТЬЮ АВТОМАТИЧЕСКИЕ? :) И что этот Эдвард - тоже бот.

Тестирую адресную светодиодную ленту Ws2812b с Arduino

Заказал на AliExpress адресную светодиодную ленту WS2812B (3 метра). Это такая лента, в которой управлять можно отдельно свечением каждого диода. И делается все это по специальному цифровому протоколу при помощи контроллера (например, Arduino). Это позволяет реализовать какие угодно эффекты и анимации. Можно сделать Ambilight, как на телевизорах Philips, можно отображать статус какого-то процесса (путем включения нужного цвета), а можно вообще светомузыку сделать. Я пока тестирую как будет выглядеть эта светодиодная лента на шкафу.

Про низкоуровневые языки

На Хабре последнее время народ активно дискутировал на тему на является ли низкоуровневым язык Си. Сначала появилась статья “С — не низкоуровневый язык”. Затем в противовес ей появилась другая - И всё же C — низкоуровневый язык. И многие как роботы повторяют одно и то же, мол, Си - язык высокого уровня. А, например, ассемблер - язык низкого уровня. И вот тут автор второй статьи порадовал - хоть он попытался обратить внимание людей на нелогичность использования таких формулировок.

Одни грабли вокруг. git: post-commit: No error

Ну вот почему грабли - это такое частое явление? Вот нельзя просто взять и что-то упростить. Обязательно что-то пойдет не так, и придется потратить кучу времени на неведомую фигню. Ну ведь простейшее требуется! Для автоматической публикации сайта на удаленный сервер (git push автоматически сразу после git commit ) одной командой, а не двумя, нужно добавить команду push в git-хуки. Ок, создаю .git/hooks/post-commit (на Windows) что-то вроде такого: #!/bin/sh exec git push exit 0 Но чего бы я туда ни записал, во время коммита я всегда получаю одну и ту же ошибку:

VPS-ный зоопарк объявляется закрытым

Надумал я тут порядок с VPS-ками навести. Вместо трех (2xLeaseWeb + 1xDigitalOcean) теперь сделал один (на Hetzner). Триггером стало мое офигевание от политики Лизвеб. (Если за два месяца до окончания трехмесячного контракта не успел подать заявку на отмену продолжения, то, получается, обязан почти 5 месяцев следующих обязательно пользоваться…. Но это отдельная история.) А так же отличная находка - VPS-ка на Hetzner на 4 гига оперативки всего за 5 евро! (Наконец, мои NLP-шные модули смогут легче дышать).

Arduino Starter Pack

Приобщаюсь к миру Arduino. :) Сегодня пришла посылка с AliExpress с набором стартер RFID комплект для Arduino UNO R3 Поставил Arduino IDE, потом плагины для VSCODE… Первый тест прошивки — “поморгал светодиодом”, как полагается. :) Потом протестировал датчик температуры и влажности — неплохо, неплохо. Подключил индикатор - еще лучше. Теперь можно переходить к конкретным полезным применениям. Осталось определиться с дозаказыванием всего нужного (как минимум, побольше реле для управления питанием, да и ардуинок надо взять в Nano-формате парочку).

Как заставить сайт зачитывать новости голосом

Не думал, что придется когда-нибудь с JavaScript ковыряться. Но захотелось прикрутить кнопку голосового чтения текста статьи через HTML5 Speech Synthesis API. Вместо голосовых движков от Microsoft внутри OS Windows 10 лучше использовать движок от Chrome. Качество заметно лучше как для русского, так и для английского языков. Но при использовании гугловского движка возникают две проблемы, с которыми уже столкнулись многие. Во-первых, иногда при попытке прочитать большой текст можно услышать лишь вечную тишину.

Почему объектно-ориентированное программирование часто усложняет, а не упрощает разработку

Казалось бы, очередной холивар на горячую тему (особенно последнее время). Но автор наброса Brian Will сделал это вполне аргументированно. У меня, кстати, отношение к этому такое же. Особенно, когда ковыряешься в чужом оо-спагетти, прыгая туда-сюда между методами, добираясь до реальной логики. Я активно использую модульный подход. Нет никакого смысла неадекватно плодить всякие объекты из того, что ими не является. А последний ролик “Object-Oriented Programming is Good” — это что-то вроде ответа на фразу “Критикуешь?

Nvidia GauGAN: скетчи в изображения

Это офигенно :) Новое ПО компании Nvidia, используя генеративно-состязательную сеть (GAN), позволяет превращать небольшие скетчи в довольно реалистичные изображения Вспомнились текстовые квесты на ZX Spectrum, иногда сопровождающиеся похожими примитивными изображениями из линий и кругов. Прикрутить кроме этой нейросети еще голосовой синтез и распознавание ввода команд, и те старинные игры, которым три с половиной десятка лет, будут восприниматься совершенно по-другому. Вот так примерно выглядели такие схематические зарисовки. Quest Adventure

Получение предложений из HTML

Довел до формата библиотеки и выложил на github - html2sent. Эта небольшая либа принимает на вход HTML и делает в нем кое-какие правки (удаление явно “неинтересных” тегов, простановка точек в некоторых местах при их отсутствии и прочее), чтобы на следующем этапе nltk tokenizer намного качественней смог разбить текст на предложения. Ну и опционально можно включить удаление таблиц, списков и т.п. Очень удобно для массового прогона HTML файлов с целью вытягивания красивого текста.