Открыть список
Как стать автором
Обновить
1
Карма
0
Рейтинг
Андрей @Rulin

Пользователь

  • Публикации
  • Комментарии

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно

Разработка для интернета вещейСхемотехникаРазработка под ArduinoПроизводство и разработка электроникиDIY или Сделай сам
🔥 Технотекст 2020 🔥 Технотекст 2020
Всем привет. Давно хотел собрать большой E-Ink дисплей, который можно поставить на стол и отображать на нем полезную информацию (погоду, календарь и т.д.) В этой статье расскажу, как можно собрать такое устройство на базе ESP32 и дисплея от Kindle DX значительно дешевле, чем Waveshare.


Читать дальше →
Всего голосов 135: ↑132 и ↓3 +129
Просмотры52.6K
Комментарии 202

Как я нашел способ отследить всех водителей «Ситимобил»

Информационная безопасностьПрограммированиеРеверс-инжиниринг
🔥 Технотекст 2020 🔥 Технотекст 2020
В субботу вечером я, как всегда, сидел и снифил трафик со своего телефона. Внезапно, открыв приложение «Ситимобил» я увидел, что один интересный запрос выполняется без какой-либо аутентификации.

Это был запрос на получение информации о ближайших машинах. Выполнив этот запрос несколько раз с разными параметрами я понял, что можно выгружать данные о таксистах практически в реалтайме. Вы только представьте, сколько интересного можно теперь узнать!


Читать дальше →
Всего голосов 476: ↑473 и ↓3 +470
Просмотры131.6K
Комментарии 300

Clang-format тормозит работу программы

Блог компании PVS-StudioC++Компиляторы
Перевод
Сегодня мы будем измерять производительность разных реализаций функции toupper, ведь именно этим и занимаются по вторникам.

Вообще-то мне нет никакого дела до функции toupper, просто я недавно писал другой пост и мне нужен был какой-то общий сюжетный стержень, а toupper кажется вполне интересным и безобидным кандидатом в бенчмарки. Я старался выбрать что-то максимально простое, что не увело бы меня в сторону, но так уж получилось, что в этом тесте я столкнулся со странной проблемой.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Просмотры4.7K
Комментарии 3

Самый беззащитный — это Сапсан

Информационная безопасность*nixСерверное администрирование
Из песочницы
image

Был я как-то на ZeroNights, это очередная конференция по информационной безопасности, которая в этом году была совсем шлаком.

Там я хотел как всегда что-либо поломать, получить за это приз, и т.д., но как я выяснил — интересных задач там не было, и пришлось развлекать себя самому.

Что происходило там — особой смысловой нагрузки не несёт, а вот что началось потом — это что-то.

Как закончилась конференция, все её участники взяли билеты на сапсан, последний сапсан Санкт-Петербург — Москва выезжает в 21:00, и я на него успевал…
Читать дальше →
Всего голосов 531: ↑506 и ↓25 +481
Просмотры214.3K
Комментарии 372

Холивар. История рунета. Часть 6. Блокировки: Лурк, Лента, 282-я и китайский путь

Блог компании ua-hosting.companyХостингIT-инфраструктураИстория ITIT-компании
Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е
Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль
Холивар. История рунета. Часть 3. Поисковики: Яндекс vs Рамблер. Как не делать инвестиции
Холивар. История рунета. Часть 4. Mail.ru: игры, соцсети, Дуров
Холивар. История рунета. Часть 5. Тролли: ЖЖ, бешеный принтер, Потупчик

В конце нулевых государство всё чаще стало обращать внимание на лидера рунета, компанию Яндекс, особенно властям не давали покоя Яндекс.Новости, выдававшие топ главных событий за день.

Disclaimer. Эта статья — расшифровка замечательного фильма «Холивар» Андрея Лошака. Есть люди, которые экономят время и любят текст, есть те, кто не может на работе или в дороге смотреть видео, но с радостью читает Хабр, есть слабослышащие, для которых звуковая дорожка недоступна или сложна для восприятия. Мы решили для всех них и вас расшифровать отличный контент. Кто всё же предпочитает видео — ссылка в конце.
Читать дальше →
Всего голосов 85: ↑73 и ↓12 +61
Просмотры27.9K
Комментарии 131

Древности: Nokia N900 — телефон, который отличается

Блог компании «Лаборатория Касперского»Старое железо
Камера у этого телефона закрыта шторкой. Если ее сдвинуть — автоматически запускается приложение для съемки. Экран можно погасить отдельным подпружиненным рычагом — это не считая того, что он включается и выключается от выдвижной клавиатуры. Кнопка включения тоже есть, но она именно что включает телефон. Или выключает. Кнопка для фотосъемки также отдельная, двухпозиционная, как у «взрослых» фотоаппаратов.


Nokia N900 — это уникальный, единственный в своем роде смартфон, не похожий как на обычную продукцию финской компании в первом десятилетии 21-го века, так и на все последующие устройства. В 2009 году это был еще и один из самых мощных смартфонов на рынке, но рынок постепенно начинал понимать, что дело не только в крутизне железа, требуются еще и сервисы. Надо было сделать пользователю удобно, и вот с этим у N900 не то, чтобы совсем не вышло, но…

В моем собственном хит-параде старых устройств Nokia N900 уступает разве что клавиатурному КПК Psion 5MX. Его создавали технари, и делали так, чтобы удобно было не пользователю, а самим технарям. Сообщество разработчиков под платформу Maemo (во многом благодаря открытой софтверной архитектуре) живо до сих пор. N900 был моим основным смартфоном всего год. Был обменян на один из первых Samsung Galaxy, потом куплен еще раз, год трудился на полке, перенаправляя SMS на почту. После того, как у него отвалился чип памяти, я купил третий экземпляр, уже не для дела, а просто как музейный экспонат. Как напоминание, что Nokia могла сделать мобильную платформу не хуже, чем iOS и Android. Если бы по-настоящему захотела.
Читать дальше →
Всего голосов 47: ↑47 и ↓0 +47
Просмотры33.1K
Комментарии 72

Инновации по-русски

Развитие стартапаЗаконодательство в ITКарьера в IT-индустрии
Я — профессиональный участник инновационной индустрии. Вместе с коллегами последние 10 лет мы участвуем в создании новых технологий.

И я должен сказать о причине, по которой не стоит заниматься инновациями в России. Здесь можно порассуждать о плохом инвестиционном климате, неэффективности государственных программ, размере внутреннего рынка, смещенных мотивациях участников. Но кроме этого есть и плохо контролируемый риск, который заключается в возможности оказаться за решеткой. И об этом не принято говорить вслух, а нужно. Под катом топ-5 инновационных компаний по версии следственного комитета, известных мне, а их злоключения не были ранее упомянуты на хабре.
Читать дальше →
Всего голосов 513: ↑480 и ↓33 +447
Просмотры148.7K
Комментарии 613

Машинное обучение для прогнозирования тенниса: часть 1

АлгоритмыМатематикаМашинное обучение
Из песочницы
Математическое моделирование тенниса набирает популярность на наших глазах. Каждый год появляются новые аналитические модели и сервисы, соревнующиеся друг с другом в точности прогнозирования исходов теннисных матчей. Это вызвано желанием заработать на стремительно растущем онлайн рынке спортивных ставок: нередки случаи, когда сумма ставок на отдельный матч в профессиональном теннисе достигает миллионов долларов.

В этом обзоре я рассмотрю основные математические методы прогнозирования тенниса: иерархические марковские модели, алгоритмы машинного обучения, а также разберу кейсы IBM, Microsoft и одного российского сервиса, использующих машинное обучение для прогнозирования результатов теннисных матчей.



Читать дальше →
Всего голосов 24: ↑20 и ↓4 +16
Просмотры61.7K
Комментарии 16

Анализ сишного Hello World

*nixCРазработка под Linux
Перевод
Hello World — одна из первых программ, которые мы пишем на любом языке программирования.

Для C hello world выглядит просто и коротко:

#include <stdio.h>

void main() {
  printf("Hello World!\n");
}

Поскольку программа такая короткая, должно быть элементарно объяснить, что происходит «под капотом».
Читать дальше →
Всего голосов 227: ↑226 и ↓1 +225
Просмотры61.1K
Комментарии 140

GitHub полностью «удалил» репозиторий утилиты для обхода блокировок и весь аккаунт создателя

ХостингИнформационная безопасностьСетевые технологииDNSGitHub
10 апреля 2019 года GitHub без объявления войны удалил репозиторий популярной утилиты GoodByeDPI, предназначенной для обхода государственных блокировок (цензуры) сайтов в Интернете.


UPD от 13.04.2019
Сухие факты. Недоступен не только репозиторий, а весь аккаунт целиком. Хотя для любого постороннего пользователя всё выглядит, как удаление, на самом деле — это shadowban, о чем сообщил автор. Далее он признался, что намеренно сохранил магнет-ссылки на видео со сценами убийств в Новой Зеландии на публичной странице своего аккаунта. Позже экспериментально выяснили, что блокировку автору программы для борьбы с блокировками дали автоматические алгоритмы. Но было и предположение, что бан был за спам с диапазона IP, к которому принадлежит автор. ТЧК

UPD от 16.04.2019
Судя по всему, shadowban с аккаунта ValdikSS снят, все репозитории восстановлены. Причина была в ссылках на видео со стрельбой.

Что такое DPI, как связан с блокировками и зачем с ним бороться (по версии автора):
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.
Читать дальше →
Всего голосов 231: ↑172 и ↓59 +113
Просмотры133.1K
Комментарии 441

Очень важный параметр светодиодных ламп, о котором мало кто знает

Блог компании LampTestГаджетыЭнергия и элементы питания
На упаковках светодиодных ламп можно найти множество параметров: мощность, световой поток, эквивалент мощности, индекс цветопередачи. Но один очень важный параметр производители указывают крайне редко. Это тип драйвера.

Читать дальше →
Всего голосов 138: ↑137 и ↓1 +136
Просмотры129.2K
Комментарии 148

Знакомство с WebAssembly

Разработка веб-сайтовJavaScriptC++WebAssembly


Эта статья основана на моём выступлении на ITSubbotnik, прошедшем в Рязани 14 октября 2017 года. На русском пока что довольно мало материала на эту тему, надеюсь что статья будет вам полезна.


Disclaimer: Автор не является экспертом ни в WebAssembly, ни в JavaScript. Данная статья есть компиляция мыслей и идей, полученных из выступлений других людей на данную тему, плюс эпизодического опыта изучения WebAssembly в течение нескольких месяцев.

Читать дальше →
Всего голосов 70: ↑68 и ↓2 +66
Просмотры100.9K
Комментарии 121

Micropython на GSM+GPS модуле A9G

Программирование микроконтроллеровDIY или Сделай сам

В этот раз я задумался о том, чтобы спрятать в велосипед GPS-трэкер в качестве меры предосторожности. На рынке есть масса автономных устройств для слежения за автомобилями, грузом, велосипедами, багажом, детьми и животными. Подавляющее большинство из них взаимодействуют с пользователем с помощью СМС. Более дорогие варианты предоставляют функциональность Find my phone, но привязаны к конкретному онлайн-сервису.
В идеале хотелось бы иметь полный контроль над трекером: использовать его в удобном режиме без СМС и регистрации. Поверхностное гугление вывело меня на пару модулей из поднебесной, один из которых, A9G pudding board, я и заказал (~15$).


Модуль


Эта статья о том, как я заставил работать python на этом модуле.

Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры18.3K
Комментарии 3

Эксплуатация подписанных загрузчиков для обхода защиты UEFI Secure Boot

Информационная безопасностьUEFI
English version of this article.

Введение

Прошивки современных материнских плат компьютера работают по спецификации UEFI, и с 2013 года поддерживают технологию проверки подлинности загружаемых программ и драйверов Secure Boot, призванную защитить компьютер от буткитов. Secure Boot блокирует выполнение неподписанного или недоверенного программного кода: .efi-файлов программ и загрузчиков операционных систем, прошивок дополнительного оборудования (OPROM видеокарт, сетевых адаптеров).
Secure Boot можно отключить на любой магазинной материнской плате, но обязательное требование для изменения его настроек — физическое присутствие за компьютером. Необходимо зайти в настройки UEFI при загрузке компьютера, и только тогда получится отключить технологию или изменить её настройки.

Большинство материнских плат поставляется только с ключами Microsoft в качестве доверенных, из-за чего создатели загрузочного ПО вынуждены обращаться в Microsoft за подписью загрузчиков, проходить процедуру аудита, и обосновывать необходимость глобальной подписи их файла, если они хотят, чтобы диск или флешка запускались без необходимости отключения Secure Boot или добавления их ключа вручную на каждом компьютере.
Подписывать загрузчики у Microsoft приходится разработчикам дистрибутивов Linux, гипервизоров, загрузочных дисков антивирусов и программ для восстановления компьютера.

Мне хотелось сделать загрузочную флешку с различным ПО для восстановления компьютера, которая бы грузилась без отключения Secure Boot. Посмотрим, как это можно реализовать.
Читать дальше →
Всего голосов 67: ↑65 и ↓2 +63
Просмотры25.3K
Комментарии 94

Делаем современное веб-приложение с нуля

Разработка веб-сайтовPythonПрограммированиеReactJSFlask
Tutorial
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

В этой статье мы попробуем набросать boilerplate простейшего веб-приложения со следующей архитектурой:


Что мы покроем:

  • настройка dev-окружения в docker-compose.
  • создание бэкенда на Flask.
  • создание фронтенда на Express.
  • сборка JS с помощью Webpack.
  • React, Redux и server side rendering.
  • очереди задач с RQ.
Читать дальше →
Всего голосов 64: ↑56 и ↓8 +48
Просмотры100.1K
Комментарии 123

Как разделить окружение для сборки и запуска сервиса в Docker сегодня и как это cделать завтра

Системное администрированиеВиртуализацияСерверное администрированиеDevOps

image


Большинство из нас уже давно научилось готовить Docker и используют его на локальных машинах, на тестовых стендах и на боевых серверах. Docker, который недавно превратился в Moby, прочно вошел в процессы доставки кода до пользователя. Но best practice работы с контейнерной виртуализацией и, в частности, с Docker вырабатываются до сих пор.


Как это было


В начале становления Docker как основного инструмента изоляции процессов, многие использовали его аналогично использованию виртуальных машин. Подход был максимально прост: устанавливаем все необходимые зависимости в образ (Docker Image), там же билдим всё, что должно билдиться а что не должно двигаем и билдим, получаем артефакт сборки и запекаем всё это в итоговый образ.

Читать дальше →
Всего голосов 51: ↑50 и ↓1 +49
Просмотры26.1K
Комментарии 34

Как браузер помогает товарищу майору

Информационная безопасность
Знаете, когда я почти нечаянно обнаружил, читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство Linux» (и это не реклама), что каждый скачанный нами файл из Интернета с легкой руки браузера оставляет в расширенных атрибутах файла (в inode файла, не в самом файле) как минимум полную ссылку на то откуда он был скачан, я пришел в легкое возбуждение и хотел тут же броситься спасать мир. Позже, немного изучив этот вопрос, почитав «коммиты» и «комменты», говорившие, что этой возможности, встроенной в ядро GNU/Linux, как минимум уже около 10 лет, что ею пользуется не только браузеры, но и, к примеру, популярная утилита wget (curl нет), и что эта вещь считается чуть ли не нормой в Linux (и, как выяснилось позже, в MacOS), то я немного подуспокоился. Одно не давало мне покоя: поиск ключевого слова getfattr в google по сайту «Хабра»: site:https://habr.com getfattr, равно как и по ЛОРУ: site:https://linux.org.ru getfattr ничего толком не дал. «Значит» — подумал я — «эта тема еще особенно не обсуждалась». — Что же, тогда пришло время ее обсудить, но для начала пришлось немного по-исследовать. И вот что я обнаружил:

image
Читать дальше →
Всего голосов 265: ↑246 и ↓19 +227
Просмотры142.4K
Комментарии 321

Взлом цветного картриджа HP: превращаем его в ручной принтер

Реверс-инжинирингПроизводство и разработка электроникиКомпьютерное железоDIY или Сделай сам
Перевод
image

Введение


Ещё с юности, когда у нас был старый DeskJet, меня интересовали картриджи струйных принтеров. Эти картриджи казались очень интересными и как только в них заканчивались чернила, я сразу забирал их себе. В то время я не мог сделать с ними ничего, кроме как разобрать и пачкать руки… Хоть я и знал, что там внутри есть какая-то сложная электроника, но при касании контактов батарейкой не происходило ничего интересного, а моих знаний по электронике на большее не хватало.

Чуть позже, когда я стал студентом, мне удалось раздобыть старый струйный принтер. В то время сам я пользовался лазерным принтером, поэтому он мне был не очень интересен, зато было любопытно исследовать картриджи и попытаться выполнить их реверс-инжиниринг. Я в самом деле написал статью об управлении этими картриджами, и хотя они работали достаточно хорошо, были и недостатки: мне так и не удалось выяснить точный порядок сопел, картридж был только монохромным (печатал маджентой), к тому же довольно старым, а потому разрешение оказалось довольно низким.

Недавно моя девушка занялась рисованием, поэтому это стало хорошим оправданием для возврата к струйным картриджам в надежде, что и мне удастся нарисовать что-то на холсте. На этот раз мне повезло: удалось найти способ привязки всех сопел к правильным сигналам. Кроме того, сегодня картриджи принтеров управляют бОльшим количеством сопел используя меньшее количество сигналов, что упрощает управление картриджем и увеличивает поверхность, которую можно покрыть за один проход.
Читать дальше →
Всего голосов 156: ↑155 и ↓1 +154
Просмотры76.1K
Комментарии 41

кВт, кВт*ч и кВт/ч

Энергия и элементы питания

Увидел (опять/снова/в очередной раз) в одной из недавних статей выражение «5 МВт энергии» и решил, что пора кратко повторить чем отличается кВт от кВт*ч.
Читать дальше →
Всего голосов 191: ↑176 и ↓15 +161
Просмотры97.1K
Комментарии 360

Как Protonmail блокируется в России

Блог компании ХабрИнформационная безопасностьHabrСерверное администрированиеЗаконодательство в IT

English version of the post


Совершенно рутинный трабл-тикет в нашу техподдержку вскрыл очередную странную блокировку довольно значимого для уважающего свои интернет-свободы сообщества сервиса Protonmail в некоторых сетях России. Не хотелось бы эксплуатировать «жёлтый заголовок», но история странная и несколько возмутительная.


TL;DR


Важное замечание: разбор продолжается и пока всё в процессе. Может «мальчика и нет», но скорее всего есть. Будет дополняться по мере появления новой информации.


Крупнейшие российские операторы связи МТС и Ростелеком внереестрово блокируют трафик на SMTP-сервера сервиса защищённой электронной почты Protonmail по письму из ФСБ. Судя по всему, уже достаточно долго, но никто особого внимания пока не обращал. А мы вот обратили.


WTF и пригорание продолжается, все участники получили соответствующие запросы и должны предоставить мотивированные ответы.


UPD: МТС предоставили скан письма ФСБ, по которому производится блокировка. Мотивировка: Универсиада и «телефонный терроризм». Чтобы письма с ProtonMail не попадали на тревожные адреса спацслужб и школ.


UPD: Protonmail удивились методам борьбы с фродом у «этих странных русских» и посоветовали более эффективный вид борьбы через abuse mailbox.


UPD: Бравая концепция борьбы ФСБ с ложными обращениями не выдержала критики: письмом поломали входящую почту на ProtonMail, а не исходящую.


UPD: Protonmail пожали плечами и сменили IP-адреса своих MX, таким образом уведя их из под блокировки по этому конкретному письму. Вопрос, что будет дальше открыт.


UPD: Судя по всему, такое письмо не одно и есть ещё набор IP-адресов VOIP-сервисов, которые внереестрово блокируются.


UPD: Так как история стала распространяться за пределы Рунета, подготовили перевод на английский язык, ссылка вверху.

Читать дальше →
Всего голосов 425: ↑418 и ↓7 +411
Просмотры121.2K
Комментарии 398

Информация

В рейтинге
5,933-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность