Как стать автором
Обновить
1
0.1
Alexander @joedm

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

Отправить сообщение

Внедрение Keenetic в гостинице

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.5K

Предисловие

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

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

Я не имею никакого отношения к компании Keenetic.
Я всего лишь простой пользователь, который взвесив все "за" и "против", принял спорное и в какой-то степени неадекватное решение заменить сетевое оборудование Mikrotik на продукцию Keenetic.

Прекрасно понимаю, что многие пользователи направят в мою сторону вентилятор и накидают на меня г*вна, так как заменить Mikrotik на Keenetic... типа это примерно как заменить живую женщину резиновой... Я не стану вступать с вами в диалог, мы находимся в разных вселенных: вы - лютый айтишник, а я - управленец/маркетолог, который за 1.5 года вывел гостиницу по популярности в ТОП-1 по своему городу (среди 290 объектов), и в ТОП-3 по своему региону, в котором на данный момент порядка 2.000 гостиничных объектов.

Читать далее
Всего голосов 25: ↑27.5 и ↓-2.5+30
Комментарии48

Zigbee шлюз для счетчиков Меркурий

Время на прочтение1 мин
Количество просмотров12K

Давно удивлялся, почему не смотря на распространенность счетчиков Меркурий и возможность съема с них показаний через RS-485, на рынке DIY устройств не было Zigbee шлюза для них. Этот пробел я решил восполнить самостоятельно.

Читать далее
Всего голосов 56: ↑54 и ↓2+52
Комментарии25

Умный дом на Home Assistant с дополнениями (Zigbee2MQTT,Portainer...) на любом пк

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров55K

В данной статье мы затронем установку Home Assistant с некоторыми аддонами как на поддерживаемые, так и на не поддерживаемые официально системы (32 бит).

Home Assistant - это бесплатная и открытая система управления домашними устройствами, которая позволяет интегрировать различные устройства и сервисы для автоматизации и управления жизнью в доме.

Преимущества Home Assistant перед системами умных домов других производителей (Xiaomi,Tuya, и др.) заключается в возможности использовать устройства разных производителей с разными типами подключения (WiFi, MQTT, Zigbee, Bluetooth) без привязки к экосистеме определенного производителя.

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии32

Control Flow Guard. Принцип работы и методы обхода на примере Adobe Flash Player

Время на прочтение16 мин
Количество просмотров22K

Компания Microsoft не оставляет попыток победить в бесконечной войне с эксплоитописателями, раз за разом реализуя новые техники по защите приложений. На сей раз разработчики операционной системы Windows подошли к решению данного вопроса более фундаментально, переведя свой взгляд на корень проблемы. Работа почти каждого эксплоита так или иначе нацелена на перехват потока исполнения приложения, следовательно, не помешало бы "научить" приложения следить за этим моментом.
Концепия Control Flow Integrity (целостность потока исполнения) была описана еще в 2005 году. И вот, 10 лет спустя, разработчики из компании Microsoft представили свою неполную реализацию данного концепта — Control Flow Guard.


Что такое Control Flow Guard


Control Flow Guard (Guard CF, CFG) — относительно новый механизм защиты Windows (exploit mitigation), нацеленный на то, чтобы усложнить процесс эксплуатации бинарных уязвимостей в пользовательских приложениях и приложениях режима ядра. Работа данного механизма заключается в валидации неявных вызовов (indirect calls), предотвращающей перехват потока исполнения злоумышленником (например, посредством перезаписи таблицы виртуальных функций). В сочетании с предыдущими механизмами защиты (SafeSEH, ASLR, DEP и т.д.) являет собой дополнительную головную боль для создателей эксплоитов.

Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии3

Process Memory Map

Время на прочтение3 мин
Количество просмотров6.9K

Я программист, а то что я еще и реверсер - ну... так совпало. И как любому из людей занимающимся реверсом мне всегда не хватает функционала отладчика. Постоянно приходится допиливать под конкретную задачу какие-то утилитарные вещи и однажды...
Однажды я решил - хватит, каждый раз пилить новое достаточно утомительно, а что если взять и объединить все наработки в один инструмент и пользоваться именно им!
Это будет скорее рекламный пост - но не спешите минусовать, возможности утилиты, о которой пойдет речь, а называется она Process Memory Map, весьма обширны, и возможно вам понравится :)

Итак - что это такое? Она похожа на всем известный инструмент от Марка Руссиновича VMMap (которая кстати частично основана на коде Джефри Рихтера), её задача проанализировать сторонний процесс и вытащить из него максимум данных, о которых она знает.

Читать далее
Всего голосов 63: ↑63 и ↓0+63
Комментарии19

Технологии прошлого и настоящего: как я сделал Nixie Clock с самодельным драйвером на ESP8266

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров11K

Радиолампы, словно артефакты из прошлого, олицетворяют нечто большее, чем просто технологию. Они несут в себе определенную магию, отражающую уникальное сочетание технического мастерства и эстетики. Не удивительно, что часы на неоновых индикаторах занимают довольно уникальную нишу в мире дизайна и интерьера. Они представляют собой не просто инструмент для отображения времени, но и элемент декора, который может значительно изменить атмосферу помещения. Этой статье я расскажу о своем опыте создания Nixie Clock на базе драйвера собственной разработки.
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии68

Умный планшет для умного дома

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров20K

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

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии60

Сколько памяти нужно для запуска 1 миллиона конкурирующих задач?

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров20K

В этой статье я углублённо сравню потребление памяти между асинхронными и многопоточными программами популярных языков вроде Rust, Go, Java, C#, Python, Node.js и Elixir.

Недавно я проводил сравнение производительности нескольких программ, предназначенных для обработки большого количества сетевых подключений. В итоге я увидел огромную разницу в потреблении этими программами памяти, порой в 20 раз и больше. Некоторые потребляли при 10К подключений чуть более 100 МБ в то время, как другие занимали почти 3 ГБ. К сожалению, эти программы были довольно сложными и также отличались своим функционалом, поэтому было бы трудно сравнить их непосредственно и сделать какие-то осмысленные выводы. Тут то у меня и возникла идея создать специальный синтетический бенчмарк.
Читать дальше →
Всего голосов 92: ↑70 и ↓22+48
Комментарии61

Что делает ChatGPT… и почему это работает?

Уровень сложностиСредний
Время на прочтение75 мин
Количество просмотров146K

То, что ChatGPT может автоматически генерировать что-то, что хотя бы на первый взгляд похоже на написанный человеком текст, удивительно и неожиданно. Но как он это делает? И почему это работает? Цель этой статьи - дать приблизительное описание того, что происходит внутри ChatGPT, а затем исследовать, почему он может так хорошо справляться с созданием более-менее осмысленного текста. С самого начала я должен сказать, что собираюсь сосредоточиться на общей картине происходящего, и хотя я упомяну некоторые инженерные детали, но не буду глубоко в них вникать. (Примеры в статье применимы как к другим современным "большим языковым моделям" (LLM), так и к ChatGPT).

Читать далее
Всего голосов 248: ↑248 и ↓0+248
Комментарии121

7 решений для установки и управления WireGuard на своём сервере

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров83K

Предполагается, что для настройки WireGuard сервера, нужно вручную сгенерировать ключи, выбрать подсеть и задать ещё несколько параметров. Потом для каждого клиента также генерировать ключи, присваивать IP адрес и компоновать это всё в конфиг, чтобы было удобно импортировать на клиенте.

Но если клиентов много и нужно время от времени их добавлять и удалять, то становится сложнее за ними уследить. Да и каждый раз генерировать вручную ключи и выбирать IP не очень удобно.

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии25

Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров336K

В серии предыдущих статей я описывал, почему повсеместно используемые VPN- и прокси-протоколы такие как Wireguard и L2TP очень уязвимы к выявлению и могут быть легко заблокированы цензорами при желании, обозревал существующие гораздо более надежные протоколы обхода блокировок, клиенты для них, а также описывал настройку сервера для всего этого.

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

Кроме того, что этот протокол еще более устойчив к выявлению, приятным фактом будет и то, что настройка сервера XTLS-Reality гораздо проще, чем описанные ранее варианты - после предыдущих статей я получил довольно много комментариев типа "А что так сложно, нужен домен, нужны сертификаты, и куча всего" - теперь все будет гораздо проще.

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Комментарии304

«Умная дача» реального человека, без рекламных интеграций

Время на прочтение17 мин
Количество просмотров30K

Начитавшись рекламных статей из цикла «умная дача», и испытав достаточно сильную фрустрацию от качества контента и «адекватности» предлагаемых технических решений, решил поделиться своим опытом автоматизации загородного дома.

Зайти в Изнакурнож:
Всего голосов 60: ↑60 и ↓0+60
Комментарии44

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров94K

Подробный рассказ о том, как я свой дом и сад сделал умными. С фото, техническими деталями, стоимостями и выводами на будущее.

Читать
Всего голосов 300: ↑298 и ↓2+296
Комментарии296

Алиса, открой ворота — или MVP умного дома за пару вечеров

Время на прочтение7 мин
Количество просмотров37K

TLDR: Схожих постов на Хабре десятки, но мне хотелось показать, что внезапно можно
очень быстро сделать классные штуки, которые не ради вау эффекта, а реально помогают жить.


Будет про:


  • Home Asistant
  • Алису и её станции
  • Ардуины и MQTT
  • управление воротами Came
  • локальное управление яндекс розетками
  • датчики движения
  • Влажность, температуру и CO2
  • Автоматический полив цветочков
  • Как при помощи всего этого развлечь детей и как они находят свои способы с этим играть.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии51

Kubernetes (не) для всех

Время на прочтение9 мин
Количество просмотров6.1K

Когда мы собрались писать статью про Kubernetes, у нас была куча идей для мемов, картинок и интересных историй из жизни. Стоило только заварить эфиопских зёрен, достать пару куросанчиков (пасхалка из курса). Всё перевернулось с ног на голову. И знаете почему?

Какими бы интересными ни были истории из жизни, статья про Kubernetes всё равно превращается в «очередную статью про Kubernetes». Вот вам история Kubernetes, вот его архитектура, а вот манифесты и пример приложения. И так каждый день: приложения, манифесты, релизы. Снова релизы, откаты релизов.

Даже работая YAML-программистом и выкатывая по 10 раз на дню в Kubernetes очередной релиз, задумываешься об однообразии процессов. Не хочется растягивать резину и петь дифирамбы kubectl, а хочется, чтобы за твоим приложением в Kubernetes следила автоматика: выкатывала новые версии, восстанавливала после сбоя и перезапускала, если закончилась память. Поэтому рано или поздно на свет должны были появиться операторы Kubernetes!

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии3

Cнова про llvm

Время на прочтение4 мин
Количество просмотров4.9K

Исследования любого приложения достаточно рутинный и длительный процесс. Без использования инструментов и автоматизации разобрать даже самые простые алгоритмы написанные на некоторых языках программирования практически невозможно. (Go рантайм без символов). Справиться с этой тяжелой задачей и предоставить набор инструментов могут следующие приложения:

- Hopper
- IDA Pro
- Ghidra
- radare2
- rizin

Список включает только те, которые постоянно на слуху и известны во всём мире. Попробуем разобраться в нашей статье с тем как эти приложения могут разбирать ассемблерные листинги и строить псевдокод. Можно ли найти проект, который будет давать возможность просто создавать изменение ассемблерного листинга без написания сложных парсеров?

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии0

Блеск и нищета IT в Германии

Время на прочтение7 мин
Количество просмотров178K

Уже четыре года я работаю Java разработчиком в небольшой немецкой компании.

В начале прошлого года я увидел на столе одного из моих «кураторов» забытый листок с расчётом заработной платы за месяц. Конечно же, я не мог в него не посмотреть. Сумма, которую я увидел у Нильса, меня удивила. Зарплата брутто: 3300€ в месяц. Живет один, жены нет, детей нет. Значит на руки у него выходит примерно 2130€ (~130000 рублей по курсу на 01.09.2022).

Можете себе представить? Мой куратор, урожденный немец, Senior Developer, прекрасно говорящий на английском, с опытом работы разработчиком более пятнадцати лет получает в Германии 3300€ в месяц. А я – Middle Java разработчик с немецким B2 и английским B1 на испытательный срок получил сразу 3500€! Сейчас моя мой зарплата 4000€ в месяц.

Многие мне не поверили. Некоторые не верят даже в мои 4000€ (слишком мало), не говоря уже про зарплату Нильса. Откуда такая мизерная зарплата для столь высококвалифицированного работника? Ведь в представлении большинства наших соотечественников все разработчики в Германии деньги просто лопатой гребут. Особенно, если они работают в финансовой сфере. Цифры должны по-любому начинаться от 6000€ в месяц. Какие 3300???

Вот и levels.fyi (на КДПВ) говорит, что медианная зарплата разработчика в Германии 83160€ в год (6930€ в месяц)

Выходит, что Зарплата Нильса ниже нижнего предела (такого столбца даже нет на этом графике). Так какая же в реальности зарплата у разработчиков в Германии?

И почему Нильс получает так мало?
Всего голосов 250: ↑242 и ↓8+234
Комментарии511

Глубокое погружение в Java Memory Model

Время на прочтение53 мин
Количество просмотров128K


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

Читать дальше →
Всего голосов 109: ↑109 и ↓0+109
Комментарии60

Отладка драйвера Windows

Время на прочтение16 мин
Количество просмотров18K

Работая со студентами я заметил, что нередко от изучения некоторой области отталкивает не столько сложность непосредственно разработки, сколько проблемы, связанные с настройкой рабочей среды и тестового окружения. Особенно остро эта проблема стоит при низкоуровневой разработке, в частности, драйверов ядра ОС Windows. Данная публикация содержит подробное описание процесса создания, запуска и отладки простейшего драйвера Windows.

Хочу ронять Windows в BSOD
Всего голосов 57: ↑57 и ↓0+57
Комментарии64

Символы Unicode: о чём должен знать каждый разработчик

Время на прочтение7 мин
Количество просмотров387K


Если вы пишете международное приложение, использующее несколько языков, то вам нужно кое-что знать о кодировке. Она отвечает за то, как текст отображается на экране. Я вкратце расскажу об истории кодировки и о её стандартизации, а затем мы поговорим о её использовании. Затронем немного и теорию информатики.
Читать дальше →
Всего голосов 41: ↑33 и ↓8+25
Комментарии51

Информация

В рейтинге
3 305-й
Откуда
Липецкая обл., Россия
Зарегистрирован
Активность