Search
Write a publication
Pull to refresh
196
0.1
Андрей Дмитриев @AndreyDmitriev

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

Send message

Баллада о долгоживущем софте

Reading time11 min
Views51K
Увлекаясь коллекционированием старого хлама винтажной электроники, я научился ценить долгоиграющие проекты. Конечно, в моей коллекции часто попадаются экспонаты противоположного типа. Вот клавиатурный коммуникатор Nokia, аналогов которого больше нет. Вот минидисковый плеер, проигрыватель музыки с мертвого формата. А вот телевизор с трубкой: таких больше не делают! Все рано или поздно заканчивается, и с возрастом иногда хочется остановить, эм, неумолимую поступь прогресса.



С железками это сделать трудно, зато можно с программами. Уже более четверти века я занимаюсь развлечением под условным названием «переустановка Windows». В последнее время чаще я устанавливаю ОС либо на новый ПК, либо на один из своих ретроэкспонатов. Как у многих из вас, у меня есть список софта, который при каждой такой операции устанавливается в первую очередь. Некоторые из этих программ я регулярно устанавливаю, и пользуюсь ими лет 15 или даже больше. Все это время создатели обновляют и развивают их, это не заброшенные проекты. В этой статье я хочу отдать должное этим разработчикам-долгожителям в субъективном хит-параде древнего, но актуального софта.
Читать дальше →

Крошечная библиотека TFT для микроконтроллеров ATtiny

Reading time8 min
Views17K
Библиотека TFT на ATtiny85, управляющая цветным дисплеем Adafruit 2.0" 320x240

В статье речь пойдёт о маленькой графической библиотеке, предназначенной специально для микроконтроллеров ATtiny, используемых с различными миниатюрными TFT-дисплеями, которые можно недорого приобрести на сайтах Adafruit, AliExpress или Banggood.
Читать дальше →

Создание своей эргономичной клавиатуры (часть 2: определяемся с железом)

Reading time12 min
Views14K

Раскладку создали, теперь надо ее превратить в нечто материальное.

Мне нужна низкопрофильная клавиатура. Насколько низким должен быть профиль? Какие свичи дадут приятный тактильный отклик? Есть ли подходящие крышки? Какой процессор? Плата или навесной монтаж? И как вообще нарисовать печатную плату?

Никакой интриги

Как я разогнал fail2ban* в тысячу раз с помощью SIMD

Reading time15 min
Views21K

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

Лог nginx из 100 тысяч строчек fail2ban при самых простых настройках разбирает порядка 45 секунд. Нехитрыми манипуляциями его можно ускорить раз в 6, но этого оказалось недостаточно. Наивная реализация на аналогичного фильтра на Rust уже обеспечила требуемую производительность, но если уж взялся за оптимизацию, то остановиться трудно.

* только необходимую часть функционала

Читать далее

Какие задачи не решаются bat-файлами?

Reading time8 min
Views33K

Бат-файлы ведут свою историю со времен MS-DOS. Новые фичи добавлялись с сохранением обратной совместимости. Из-за этого многое в языке bat-файлов, как мы увидим далее, нелогично и неудобно.

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

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

Читать далее

Экспорт статей Хабра в html, markdown

Reading time2 min
Views13K

image


До меня было написано 4 статьи по экспорту статей с хабра в FB2 и pdf:



Я захотел получить исходники своих статей.

Читать дальше →

Notepad Next: ещё один клон Notepad++

Reading time2 min
Views24K

Как вы наверно знаете, текстовый редактор Notepad++ хоть и является открытым ПО, но предназначен только для Windows. Есть истории запуска его под Wine в Linux, а для пользователей Ubuntu даже имеется готовый snap-пакет, но... ощущения немного не те.

Хочется иметь такой редактор под все платформы, а не только Windows.

На Хабре пару раз проскакивало упоминание клона Notepad++ под названием Notepadqq. Это хорошая попытка сделать очень похожее приложение, но — сами понимаете — функций у Notepadqq гораздо меньше чем в оригинальном Notepad++. Сегодня я хочу порекомендовать ещё один открытый проект текстового редактора, которым пользуюсь сам уже давно. Это Notepad Next. Мне он зашёл, возможно и вам он понравится.

Узнать больше

Из инженера в менеджеры: быть или не быть

Reading time11 min
Views5.8K

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

Читать далее

Синхронизируем данные с yarsync

Reading time16 min
Views5.2K

yarsync - Yet Another Rsync - предназначен для синхронизации данных между несколькими устройствами, более точно - между файловыми системами в Unix-подобных средах. yarsync обладает интерфейсом, похожим на git, и является Python-обёрткой вокруг программы rsync. Программа доступна под свободной лицензией GPL v3.0 на github (я автор).

yarsync работает там, где есть Питон и rsync.

Данные могут синхронизироваться локально или между разными компьютерами (в таком случае на удалённой машине также должен быть установлен rsync). Кроме того, файловые системы должны поддерживать жёсткие ссылки (hard links). Популярные системы, поддерживающие жёсткие ссылки - ext2-ext4, HFS+, а также NTFS. Не поддерживают жёсткие ссылки FAT, exFAT (часто используемые на флеш-накопителях).

Говоря простыми словами, допустим, что у вас есть компьютеры дома и на даче. У вас есть папка с книгами и статьями по программированию, которые вы собирали долгие годы, и которой регулярно пользуетесь (её копиями на разных машинах). Вы хотите, чтобы эти копии были одинаковы - то есть в идеале чтобы можно было работать с данными на разных компьютерах (добавлять новые статьи, удалять ненужные, переименовывать и перемещать файлы и папки), а затем эти изменения легко переносились на другие копии. Это и делает yarsync, отслеживая изменения и позволяя эффективно синхронизировать данные через доступный сервер или внешний накопитель (жёсткий диск).

Читать далее

Лучшие одноплатники и парочка проектов на базе RP2040 весны 2022: что предлагают производители

Reading time4 min
Views16K

Одноплатные компьютеры опасны — стоит только увлечься ими и все, затягивает все сильнее с каждым днем. На их основе можно разработать множество DIY-проектов, от самых простых, домашних, до вполне себе промышленных систем, которые управляют чем-то важным. При этом одноплатники на базе процессора RP2040 от Raspberry Pi появляются еженедельно. Большинство из них сразу же разбираются ценителями, но все же достать кое-что можно.

В этой подборке — одноплатники на базе процессора от Raspberry Pi. Их всего 5, но если вы работали с чем-то, что не упомянуто в статье — то отписывайтесь в комментариях, будет интересно ознакомиться с новинкой. Ну а пока давайте вспомним, что нам предлагает рынок.
Читать дальше →

Тест свинцовых аккумуляторов 12V 7Ah средней цены

Reading time3 min
Views25K
Полгода назад я тестировал дешевые свинцовые аккумуляторы и результаты были довольно грустными. Теперь я протестировал три модели аккумуляторов средней ценовой категории и одну подороже.



Читать дальше →

Как подружить MATLAB DLL и C#

Reading time2 min
Views5.1K

Когда есть желание пользоваться m-файлами на стороне, например, впихнуть хорошо работающие методы аппроксимации из Curve Fitting Toolbox в какую нибудь стороннюю свою разработку, можно скомпилировать dll-библиотеку и использовать ее по своему разумению.

Данная статья - кратко по шагам действия.

Читать далее

Книга «Танец с кубитами. Как на самом деле работают квантовые вычисления»

Reading time9 min
Views9.7K
image Привет, Хаброжители! От создателя IBM Q. Квантовые вычисления заставляют нас изменить отношение к компьютерам. Кубиты способны решать задачи, которые еще совсем недавно казались неразрешимыми. Вы узнаете о принципиальных различиях между квантовыми и классическими вычислениями, вспомните матанализ, чтобы разобраться с такими понятиями, как суперпозиция, запутанность и интерференция, от алгоритмов и схем перейдете к физическим и техническим идеям, лежащим в основе создания железа для квантовых вычислений. Загляните в будущее и узнайте, как развитие технологий повлияет на нашу жизнь!

Прежде чем мы попробуем разобраться в том, как работают квантовые вычисления, придется обратиться к классике. И это нужно не только для сравнения. Я полагаю, что будущее — за гибридами классических и квантовых компьютеров.

Лучший способ усвоить что-то — начать с базовых принципов, а затем двигаться по восходящей. Это позволит вам самостоятельно рассуждать об осваиваемой теме, не полагаясь на механическое запоминание или ошибочные аналогии.
Читать дальше →

Книга «Head First. Изучаем C#. 4-е изд.»

Reading time2 min
Views17K
image Привет, Хаброжители! Стиль Head First позволяет сразу приступить к созданию собственного кода на C#, даже если у вас нет никакого опыта программирования. Не нужно тратить время на изучение скучных спецификаций и примеров! Вы освоите необходимый минимум инструментов, и сразу приступите к забавным и интересным программным проектам: от разработки 3D-игры до создания серьезного приложения и работы с данными. Четвертое издание книги было полностью обновлено и переработано, чтобы рассказать о возможностях современных C#, Visual Studio и .NET, оно будет интересно всем, кто изучает язык программирования С#. Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O'Reilly в ряду множества скучных книг, посвященных программированию.
Читать дальше →

Где хранить секретные файлы на случай БП

Reading time7 min
Views43K


Всю информацию человека можно разделить по степени важности, примерно так:

  • системные бэкапы (важность 1/10);
  • текущие рабочие файлы (3);
  • личный архив: фотографии, видео (6);
  • копии бумажных документов (8);
  • секреты: ключи, пароли, кошельки (10/10).

Терять файлы всегда неприятно. Поэтому мы делаем резервные копии. Но степень параноидальности усилий по защите информации зависит от важности. Есть категория файлов, которую нельзя терять ни при каких обстоятельствах, даже в случае БП. Это наши главные секреты, то есть ключи, пароли и кошельки.
Читать дальше →

Как я опять Хабр сломал

Reading time6 min
Views43K

Всегда хотел взломать Хабр. Мечта такая, но как-то руки не доходили. И вот, вдохновившись статьей о праведном взломе через iframe src , я, как и автор поста @Maxchagin, решил исследовать функционал Хабра на предмет уязвимостей.

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

Читать далее

Anomaly Detection

Reading time5 min
Views5.1K

Зачастую на производстве или в других ситуациях задач автоматизации каких-то монотонных действий возникает необходимость проверки качества полученной продукции. С первого взгляда — учи классификатор и задача решена, но, к сожалению, реалистичные задачи очень часто имеют несбалансированные данные, которые не размечены никоим образом, но которых достаточно много. Очевидным решением кажутся алгоритмы группировки без учителя (unsupervised). Но тогда остается вопрос нахождения правильных фич, что является проблематичным в условии сложных, многомерных данных. И, что более важно, аномалии будут проявляться в абсолютно случайных местах из-за ваших фичей, что с сильно меньшей вероятностью даст вам нечто полезное. 

Читать далее

Что такое SAP PaPM? (дополнение)

Reading time4 min
Views2.3K

Что такое SAP PaPM? (дополнение)

Это продолжение предыдущей статьи в которой рассматривались функции PaPM, которые могут генерировать объекты на уровне БД SAP HANA или на уровне сервера приложений, в частности говорилось о SQL-скриптах, с помощью которых выполняются бизнес-расчеты. В конце статьи был сделан вывод, что PaPM хорош тем, что он нечто большее, чем просто набор SQL-скриптов, так как позволяет моделировать, управлять расчетам, контролировать ход выполнения и визуализировать результаты расчетов. И вот это переход от голого SQL к управлению и моделированию был неочевидным, я не показал этот механизм моделирования и управления расчетами. Исправляюсь.

Читать далее

Как быстро проверить все конденсаторы на плате. Простой ESR-пробник

Reading time3 min
Views93K

Как определить неисправный электролитический конденсатор?

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

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

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

На одном из форумов я нашел схему и решил повторить ее.

Читать далее

Information

Rating
5,436-th
Location
Ahrensburg, Schleswig-Holstein, Германия
Date of birth
Registered
Activity