Как стать автором
Обновить
2
0
Евгений Балаганский @twixus_vulgaris

Инженер VoIP

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

Строковые алгоритмы на практике. Часть 3 — Алгоритм Рабина — Карпа

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

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

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

Linux-смартфоны, на которые стоит обратить внимание в 2022 году

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

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

Сейчас ассортимент мобильных устройств очень большой, причем чаще всего говорят о девайсах от известных производителей. Но есть и не особо распространенные модели, на которые стоит обратить внимание, особенно IT-специалисту. О них сегодня и поговорим, правда, не о всех, а только тех, что работают на базе Linux. Кстати, часть моделей — не просто с Linux на борту, но еще и с физической клавиатурой.
Читать дальше →
Всего голосов 60: ↑56 и ↓4+71
Комментарии78

Полку Linux-телефонов прибыло: встречаем Volla Phone 22, смартфон с Ubuntu Touch на борту

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

О телефонах с Linux мы рассказывали несколько раз. Один из самых известных — это PinePhone и его «старший брат» PinePhone Pro. Есть и другие — вот целая подборка с описанием разных моделей, на которые стоит обратить внимание. Ну а теперь появился еще один интересный девайс — речь идет о Volla Phone 22 с 6,3-дюймовым дисплеем, процессором MediaTek Helio G85, 4 ГБ ОЗУ и 128 ГБ основной памяти. Подробности — под катом.
Читать дальше →
Всего голосов 40: ↑37 и ↓3+47
Комментарии28

Автодискаверинг и автопостановка на мониторинг или как попивать кофе вместо подготовки ответов пользователям

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

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

Представим ситуацию: решили вы повысить производительность информационной системы. Команда девелоперов для этой цели развернула новые ноды, добавила элементы ИС, зарелизила изменения, система работает эффективнее, и, казалось бы, все счастливы. Да только от радости забыли поставить новые элементы на мониторинг. Так и будете вы спокойно пить кофе, любуясь зелеными огоньками на экране рядом с каждым компонентом системы, пока разъяренные пользователи не cымитируют DDoS атаку на внешний интерфейс вашего хелпдеска, когда один из новых элементов откажет.

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

Язык кибернетики. На пути к нашему Я

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

Язык представляет собой как бы второе зеркало, в котором отражается весь мир, и в том числе каждый индивидуум, и в котором каждый индивидуум может увидеть (вернее, не может не увидеть!) самого себя. Так возникает понятие Я. //В.Турчин

Читать далее
Всего голосов 2: ↑1 и ↓1+1
Комментарии5

Броуновское движение простых чисел

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

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

Но что, если мы будем прыгать не на одну клетку, а на очередную разницу между простыми числами - вначале 1 (3-2), потом 2 (5-3), снова 2 (7-5), потом 4 (11-7) итд. А вот направление мы будем 'вращать', например, для плоскости это будет вверх-вправо-вниз-влево? Сразу скажу, будет очень красиво.

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

Как выстроить систему планирования в жизни для достижения цели

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

Всем привет! Меня зовут Владимир Тутынин, я методолог продуктового подхода и сегодня расскажу о своем методе планирования. Вы увидите, какие шаги я выполняю и какими инструментами пользуюсь для достижения результата.

Нам понадобятся две программы:

1.      Evernote – это система заметок, которые хранятся в блокнотах и помечаются метками. Очень похожа на Confluence.

2.      Trello – это доска задач с определенными правилами, на которой мы отображаем движение задачи по этапам. 

Представим, что наше движение к достижению цели – это движение ракеты. Сначала мы находимся на высоте 0 метров, далее 10 000м, через минуту 20 000м, далее 30 000м и 40 000м. Эти отметки мы будем использовать как ориентиры и начнем наш маршрут в «космос». 

Формирование меток

Заходим в Evernote и создаем 4 метки так, как показано на рисунке. Этими метками мы будем ориентироваться в пространстве заметок. В скобках после названия метки показано количество заметок, имеющих такую метку. Например, у меня есть 36 заметок с меткой «20.000м Цели».

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

Что такое PKI? Главное об инфраструктуре открытых ключей

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

Представьте, что вы системный администратор в Home Depot. Уже собираясь домой, вы замечаете, что ваша сеть только что одобрила подключение нового кондиционера. Ничего особенного, верно? На следующее утро вы просыпаетесь и обнаруживаете, что терабайты данных, включая логины, пароли и информацию о кредитных картах клиентов, были переданы хакерам. Что ж, именно это и произошло в 2014 году, когда группа хакеров под видом безобидной системы отопления, вентиляции и кондиционирования осуществила атаку, которая обошлась Home Depot более чем в 17,5 миллионов долларов, и всё из-за неправильно настроенного PKI.

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

Умный дом на основе API Telegram

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

Как реализовать рабочую IoT систему на API Telegram, создавать устройства, предусмотрев масштабируемость и развитие проекта.

Читать далее
Всего голосов 27: ↑26 и ↓1+29
Комментарии21

Домашняя масляная майнинг-ферма

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

Это история одного моего хобби-проекта - создания встроенной в интерьер майнинг-фермы с видеокартами в масле, которая своим теплом отапливает лоджию.

Читать далее
Всего голосов 150: ↑146 и ↓4+187
Комментарии118

Модификации сортировки пузырьком

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

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

Читать далее
Всего голосов 9: ↑4 и ↓50
Комментарии10

Лора на батарейках (мечта каждого мужчины)

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


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

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

Можно было бы сделать свои батарейные LoRa модули (благо прототипы есть и прекрасно работают), но не хотелось тратить время на изобретение велосипеда, а просто купить что-то готовое, и я заказал с Aliexpress несколько плат-кандидатов для тестирования.

Одна из таких плат — LoRa Radio Node, отчёт о её разборе (по косточкам) и тестировании я и предлагаю вашему вниманию.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+68
Комментарии121

Выкачиваем почтовый архив. Бэкап Gmail и других ящиков на локальный диск

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

Почтовый ящик с письмами — это личная собственность человека. Никто не имеет права доступа к архиву, кроме владельца.

Забота о своём почтовом архиве тем более актуальна в нынешних условиях, когда любой внешний сервис может закрыться, обанкротиться или просто откажется вас обслуживать. Гораздо спокойнее хранить архив у себя — сделать резервную копию в надёжном домашнем хранилище.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+32
Комментарии21

Как я делаю дрон из Raspberry Pi и ESP32 (или мои первые шаги в робототехнике)

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

Всем привет, меня зовут Антон, и как вы могли уже догадаться из названия, решил я рассказать о своих попытках вкатиться в робототехнику, а в частности о своем дроне из Raspberry Pi и ESP32.

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

Хранение кода в SCM

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

Смотри, ты устроился работать в большую компанию, где много команд, каждая разрабатывает свой продукт, часть из них создаёт микросервисы вокруг ядра, часть создаёт свои отдельные полноценные продукты. И, допустим, вся разработка до сих пор не использует централизованное хранение кода, работает без CI/CD и без наработок DevOps. Твоей первой задачей поставили организовать подход к хранению исходного кода в рамках всей компании. По секрету скажу, большие компании любят, когда используется единый подход, индивидуализм для бизнес-конвейеров всегда означает сложность управления сроками разработки, поставки и т.д. Задача, которая кажется простой на первый взгляд, всегда обрастает сложностями в нюансах.

Ты настроен на волну NotOps и в этой статье я постараюсь ответить на вопросы:

Читать далее
Всего голосов 11: ↑7 и ↓4+5
Комментарии1

Кривые и что это такое

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

Всем привет!
Итак, тема статьи - кривые, их разбор, собственные примеры и как их можно использовать в геймдев.

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии6

Сейчас плохо, но все может быть еще хуже

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

Разбираю ключевые идеи неизданной на русском книги «Внутри коллапса Венесуэлы» Уильяма Ноймана.

В своей книге автор рассказывает о жизни в Венесуэле, в которой огромные запасы нефти сочетаются с нищетой населения и полным отсутствием перспектив, и о причинах экономического коллапса этой страны.

Читать далее
Всего голосов 176: ↑164 и ↓12+201
Комментарии175

Электрическая модель транспортной задачи

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

Идея использовать электрические цепи при решении транспортной задачи (в дальнейшем ТрЗ) появилась, когда узнал, чем на кафедре программирования мучают студентов. Было это лет 10 – 15 тому. Ход мысли (человека знакомого с электротехникой). Пути? Даже из наименования совершенно ясно, что это цепочки между производителями и потребителями. В простейшем случае – на основе резисторов, сопротивления которых должны соответствовать стоимости транспортировки Сij единицы товара по дороге между i–тым производителем и j–тым потребителем. Не очень долго пришлось задуматься над типом источников. Помогло несколько вещей. Во-первых, формулировка исходных уравнений ТрЗ совпадает с первым законом Кирхгофа, который касается баланса входящих и выходящих в узел токов. Во-вторых, что же могло соответствовать решению задачи кроме значения тока? Его произведение на величину сопротивления резистора как раз и отразит (в вольтах) затраты на перевозку продукции по данной дороге. Источниками, величина тока которых не должна изменяться при подключении разных дорог (цепей с разными сопротивлениями резисторов), могли быть только «идеальные» источники тока – вот и претенденты на модели производителей и потребителей.

Простота идеи позволила реализовать модель с первой попытки, но занимался ею в режиме «хобби». Ошибка состояла в том, что я видел основной результат использования модели в наглядности действий, выполняемых в соответствии с используемыми известными алгоритмами решения ТрЗ. Ну, какой же преподаватель согласится с советом что-либо менять ради какой-то наглядности, да и видит ли он ее, привыкнув излагать по-своему. Но публикацию допустили.

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

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

Строковые алгоритмы на практике. Часть 2 — Алгоритм Бойера — Мура

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

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

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

Строковые алгоритмы на практике. Часть 1 — Алгоритм Кнута — Морриса — Пратта

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

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


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

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

System Administration, Network Engineer
Senior
От 150 000 ₽
Ansible
Asterisk
Linux
Zabbix
Mikrotik
Debian
Python
Bash