Pull to refresh
4
0
Дзмітры @dzmitry_li

АСУТП Honeywell

Send message

Жил-был самый маленький сервер…

Reading time10 min
Views30K
   Как говорится, компьютерные пользователи делятся на тех, кто делает бекапы и на тех, кто их ЕЩЕ не делает. Понимая это, все больше пользователей предпочитают не хранить «яйца в одной корзине», все больше обращая свое внимание на возможность централизованного хранения информации. Героем сегодняшнего обзора стала маленькая коробочка от известного тайваньского производителя, возможностей которой для домашнего использования хватит с головой. Этот сервер сидит на диете (потребляет всего 5 Вт), бесшумный, маленький и недорогой (от 3000 рублей) – в общем, если вам этот вопрос интересен, то я предлагаю не откладывать знакомство.

image

Встречайте – Synology USB Station 2.
Читать дальше →
Total votes 192: ↑152 and ↓40+112
Comments142

Лайтпак: Прокачан и открыт

Reading time1 min
Views22K
Прошло около 3х месяцев с тех пор, как хабрачеловек @brunql опубликовал в этом блоге описание ambilight-подсветки для ноутбука. А сегодня мы готовы представить вам полностью переработанную, теперь банановую™ версию этого опенсорс-устройства:


Читать дальше →
Total votes 163: ↑161 and ↓2+159
Comments93

Текстовый анализатор: распознавание авторства (окончание)

Reading time7 min
Views2.6K
Эта статья об алгоритме распознавания авторства, реализованном в проекте «Текстовый анализатор». В окончании статьи мы рассмотрим, как собираются частотные характеристики, и в общих чертах познакомимся с нейросистемой Хэмминга. (Начало и продолжение).

Структура статьи:
  1. Анализ авторства
  2. Знакомство с кодом
  3. Внутренности TAuthoringAnalyser и хранение текстов
  4. Разбиение на уровни конечным автоматом на стратегиях
  5. Сбор частотных характеристик
  6. Нейросеть Хэмминга и анализ авторства

Дополнительные материалы:
  • Исходники проекта «Текстовый анализатор» (Borland C++ Builder 6.0)
  • Тестирование нейросистемы Хэмминга в Excel'е ([xls])
  • Таблица переходов для КА, разбивающего текст на уровни ([xls])
  • Расчет благозвучия отдельных букв ([xls])
  • Презентация дипломного проекта «Текстовый анализатор» ([ppt])
  • Презентация проекта «Карта благозвучия» ([ppt])
  • Все эти материалы в сжатом виде ([zip], [7z], [rar])


Читать дальше →
Total votes 44: ↑37 and ↓7+30
Comments18

Текстовый анализатор: распознавание авторства (продолжение)

Reading time15 min
Views2.1K
Эта статья об алгоритме распознавания авторства, реализованном в проекте «Текстовый анализатор». В продолжении статьи мы рассмотрим конечный автомат для разбиения текста на уровни. (Начало и окончание).

Структура статьи:
  1. Анализ авторства
  2. Знакомство с кодом
  3. Внутренности TAuthoringAnalyser и хранение текстов
  4. Разбиение на уровни конечным автоматом на стратегиях
  5. Сбор частотных характеристик
  6. Нейросеть Хэмминга и анализ авторства

Дополнительные материалы:
  • Исходники проекта «Текстовый анализатор» (Borland C++ Builder 6.0)
  • Тестирование нейросистемы Хэмминга в Excel'е ([xls])
  • Таблица переходов для КА, разбивающего текст на уровни ([xls])
  • Расчет благозвучия отдельных букв ([xls])
  • Презентация дипломного проекта «Текстовый анализатор» ([ppt])
  • Презентация проекта «Карта благозвучия» ([ppt])
  • Все эти материалы в сжатом виде ([zip], [7z], [rar])


Читать дальше →
Total votes 45: ↑41 and ↓4+37
Comments2

Текстовый анализатор: распознавание авторства (начало)

Reading time10 min
Views10K

Добрый день, уважаемые хабражители. Я давно хотел опубликовать под GPL-лицензией свой «Текстовый анализатор» ([1]). Наконец, дошли руки. «Текстовый анализатор» — это исследовательский проект, который я разрабатывал три года на 3, 4 и 5-м курсах университета. Главная цель была: создать алгоритм распознавания авторства текста, используя нейросети Хэмминга или Хопфилда. Идея была такова: эти нейросистемы распознают образы, а к задаче распознавания образов можно свести задачу выявления авторства. Для этого необходимо по каждому тексту собрать статистику, и чем больше разных критериев, тем лучше: частотный анализ букв, анализ длин слов/предложений/абзацев, частотный анализ двухбуквенных сочетаний, и так далее. Нейросистема могла бы выявить, характеристики каких текстов наиболее сходны. Работы было — вал. Много кода, хитрые алгоритмы, ООП, паттерны проектирования. Помимо основной задачи я так же реализовал ещё одно ноу-хау: «Карту благозвучия». По задумке, такая карта должна показывать все плохо и хорошо звучащие места, выделяя их цветом. Критерии оценки благозвучия должны задаваться каким-то универсальным образом, например, правилами. Для этой цели я даже разработал специальный графический язык, RRL (Resounding Rules Language). Работы было — вал. Много кода, хитрые алгоритмы, ООП, паттерны проектирования. В итоге получилась большая и сложная программа, правда, с неприглядным интерфейсом. С этим проектом я даже выиграл в конкурсе дипломных работ, получил 1 и 3 места на университетских конференциях, а так же 2 место на международной научно-практической.

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

(У статьи есть продолжение и окончание.)

Структура статьи:
  1. Анализ авторства
  2. Знакомство с кодом
  3. Внутренности TAuthoringAnalyser и хранение текстов
  4. Разбиение на уровни конечным автоматом на стратегиях
  5. Сбор частотных характеристик
  6. Нейросеть Хэмминга и анализ авторства

Дополнительные материалы:
  • Исходники проекта «Текстовый анализатор» (Borland C++ Builder 6.0)
  • Тестирование нейросистемы Хэмминга в Excel'е ([xls])
  • Таблица переходов для КА, разбивающего текст на уровни ([xls])
  • Расчет благозвучия отдельных букв ([xls])
  • Презентация дипломного проекта «Текстовый анализатор» ([ppt])
  • Презентация проекта «Карта благозвучия» ([ppt])
  • Все эти материалы в сжатом виде ([zip], [7z], [rar])

Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments5

TOP'ай сюда

Reading time5 min
Views177K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →
Total votes 401: ↑389 and ↓12+377
Comments122

«Тросик» с таймером для цифровых камер Canon

Reading time4 min
Views18K
Не секрет, что при съемке на длинных выдержках фотографа спасают штатив и пульт управления («тросик»). Если штатив можно приобрести практически везде, и встречаются неплохие модели стоимостью даже в 600-700 рублей, то с пультом дела обстоят не так радужно. Ценник на фирменные пульты Canon начинается от $30, а между тем внутри этого пульта содержится всего лишь простейшая схема коммутации. Для съемки time-lapse видео придется приобрести пульт с таймером (фирменный Canon — $210, китайские братья по разуму подешевле). Я же хочу показать, как без применения сложной электроники и контроллеров самостоятельно собрать функциональный «тросик» с таймером, который подойдет к камерам Canon серий EOS-300D/350D/400D/450D и возможно каким-то другим.

Читать дальше →
Total votes 62: ↑59 and ↓3+56
Comments47

yourfilms.org — твои фильмы

Reading time2 min
Views4.4K
Я люблю кино и смотрю довольно много фильмов. И у меня давно была потребность как-то удобно их каталогизировать. Долгое время я делал это с помощью Имхонета, то есть оценивал каждый просмотренный фильм и ставил дату просмотра. Там это сделано довольно неудобно: во-первых, все привязано к оценкам (а ставить оценку хочется не всегда), во-вторых, нельзя добавить информацию о пересмотрах фильма, да и вообще полезной (для меня) функциональности крайне мало, зато много ненужной.
Поэтому я решил сделать свой сервис, который бы позволял хранить полную историю просмотров фильмов и показывал бы всякую интересную статистику. Я большой поклонник Last.fm, и мне очень нравится принцип его работы: когда вся слушаемая тобой музыка сохраняется и раскладывается по полочкам. И я подумал, что будет интересно сделать нечто подобное для фильмов.
Получился из этого небольшой сайт под названием «yourfilms.org». Вот основное из того, что он умеет: собирает фильмы, которые пользователь смотрит, и, по аналогии с Last.fm, генерирует чарты актеров и режиссеров. Выглядит это примерно так:

image
Читать дальше →
Total votes 85: ↑74 and ↓11+63
Comments76

Делаем PDF-книгу из веб-комикса при помощи C# на примере xkcd

Reading time6 min
Views5.4K
Sony PRS-650 и xkcdРассматривая новый выпуск xkcd, я взглянул на свою свежеприобретённую электрокнигу Sony PRS-650, и немедленно подумал — хочу смотреть комиксы на ней! Xkcd как раз чёрно-белые и, обычно, небольшие по размеру. Слегка погуглив, нашел лишь сборник картинок на TPB, и скрипт на bash, который должен делать PDF. Решил слегка поразмяться в программировании и сделать граббер комиксов на любимом C#.

Можно было бы обойтись консольным приложением, но, для наглядности, сделал простой интерфейс на WPF.

Увидеть код и результат
Total votes 85: ↑76 and ↓9+67
Comments36

Дайте мне железа! Часть 1

Reading time4 min
Views19K
Дайте мне железа!

Часть 2

На хабре есть много статей, посвященных созданию прикольных самопальных девайсов на базе микроконтроллеров, взять хотябы замечательную серию про необычный подарок (1, 2, 3) и дополнение про сенсорную клавиатуру. Они вызывают энтузиазм, побуждают к экспериментам, но вот возникает примерно такая фраза: «А теперь, значит, рисуем схему, разводим плату, травим, запаиваем, пишем прошивку, заливаем, и дело в шляпе». Вот тут-то у меня, как кодера, ни разу не державшего в руках паяльника, эти самые руки и опускались, ибо все пункты кроме написания прошивки были недоступны.

Но все меняется, когда желание пересиливает лень! В этой статье я расскажу, с чего начать, чтобы приобщиться к экспериментам с микроконтроллерами.

Под катом чуть менее мегабайта картинок
Мне интересно, давай рассказывай!
Total votes 135: ↑122 and ↓13+109
Comments87

Решаем судоку на JavaScript

Reading time4 min
Views34K
СудокуСудоку — популярная головоломка, основной задачей которой является размещение цифр в правильном порядке.

Игровое поле представляет собой квадрат 9х9 клеток. Клетки сгруппированы в девять сегментов 3х3. В каждой клетке может быть записана цифра от одного до девяти. Основным правилом судоку является то, что цифра не может повторяться в строке, столбце и сегменте.

Под катом приводится алгоритм решения судоку, реализованный на JavaScript. Рассмотрены только базовые тактики решения головоломки, но этого достаточно для большого числа судоку легкого и среднего уровня.
Читать дальше →
Total votes 55: ↑49 and ↓6+43
Comments28

Компилятор Brainfuck в .NET

Reading time5 min
Views7.6K
Здравствуйте.
Смотрю я, что у вас неделя BrainFuck-а и я решил написать компилятор, тем более, что в комментариях к этой статье просили рассказать поподробнее про динамические методы. В этой статье мы рассмотрим этот метод компиляции кода и попробуем сделать компилятор самого нормального простого языка
Читать дальше →
Total votes 72: ↑46 and ↓26+20
Comments35

Виртуальная клавиатура

Reading time1 min
Views19K

На днях набрел на хорошую виртуальную клавиатуру. Почему-то я ее раньше нигде не встречал, хотя продукт достойный. Наш, русский, даже имеет патент (РОСПАТЕНТа №2009611147 от 20.02.2009).
Читать дальше →
Total votes 85: ↑75 and ↓10+65
Comments35

Радионаушники из FM-трансмиттера

Reading time2 min
Views57K

С появлением в моей семье юного пополнения мечта об акустической многоканальной системе на 100500 ватт для домашнего кинотеатра окончательно была отвергнута и забыта. Фильмы теперь смотрятся по вечерам, с приглушенным звуком и без того слабеньких штатных динамиков телевизора. Пульт телевизора не выпускается из рук — для динамической регулировки громкости в зависимости от сцены.

Закономерно появилось понимание, что фильмы, наверное, удобнее смотреть в наушниках. Рассматривал такие варианты:
  • удлинитель: фильмы просматриваются как минимум вдвоем, да и не спортивно это, висящие провода;
  • BlueTooth: нужно как минимум двое недешёвых наушников, да и неизвестно еще, удастся ли их подключить одновременно;
  • Wi-Fi: дома есть два ноутбука и один коммуникатор. Пробовал настроить сетевое вещание, однако рассинхронизацию звука и изображения победить так и не удалось, вариант отпал;
  • И тут я вспомнил, что есть такая замечательная вещь, как автомобильный FM-трансмиттер.

Читать дальше →
Total votes 78: ↑70 and ↓8+62
Comments56

Обзор C# библиотек для работы с PDF

Reading time5 min
Views166K
topic image
На написание данной статьи меня подтолкнул топик HTML в PDF, правда по причине того, что он посвящен языку php, лично мне он был мало полезен, т.к. весь опыт работы с php у меня сводился в переводе нескольких скриптов на C#, поэтому я решил сделать небольшой обзор того, что доступно для работы с pdf по средствам языка C#.

Ко мне в список попало 7 библиотек, о которых я скажу несколько слов, а для самой популярной (судя по ответам на stackoverflow), я напишу, как с помощью неё сделать простейший документ. Сразу скажу, что это iTextSharp и работа с ней будет описана в конце статьи.
Читать дальше →
Total votes 87: ↑77 and ↓10+67
Comments24

Знакомство с OCR библиотекой tessnet2 (язык C#)

Reading time5 min
Views60K
example
Буквально на днях у меня появилась необходимость распознать простой текст на картинке и совсем не было желания реализовывать свой алгоритм, т.к. знаком с теорией и знаю, что это не такое простое дело, поэтому сразу решил изучить сначала рынок готовых библиотек. Буквально несколько запросов в гугл и я понял, что ничего более подходящего мне как библиотека tessnet2 невозможно найти. Постоянно читаю хабр и знаю, что тут есть уйма статей посвященных теории OCR и очень удивился, что нет ничего о библиотеке tessnet2.
Читать дальше →
Total votes 77: ↑70 and ↓7+63
Comments21

Fairware

Reading time3 min
Views827
«Fairware» — термин, недавно изобретённый автором программ Hardcoded Software. Он обозначает СПО, нацеленное на широкую аудиторию (для проприетарных приложений прямым аналогом является условно-бесплатная лицензия — shareware) с целью получения достойной компенсации от пользователей.
Читать дальше →
Total votes 80: ↑70 and ↓10+60
Comments90

Фильтр Блума

Reading time3 min
Views62K
И снова здравствуйте! Сегодня я поведаю о фильтре Блума — структуре данных гениальной в своей простоте. По сути, этот фильтр реализует вероятностное множество всего с двумя операциями: добавление элемента к множеству и проверка принадлежности элемента множеству. Множество вероятностное потому, что последняя операция на вопрос «принадлежит ли этот элемент множеству?» даёт ответ не в форме «да/нет», а в форме «возможно/нет».

Как фильтр это делает?
Total votes 88: ↑85 and ↓3+82
Comments36

6 шагов загрузки Linux на пальцах

Reading time5 min
Views206K
imageНажмите кнопку включения питания на вашем системнике, и спустя несколько секунд вы увидите окно входа в систему.

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

Я предлагаю вам познакомиться со следующими уровнями типичной загрузки Linux:
Читать дальше →
Total votes 195: ↑177 and ↓18+159
Comments87

Information

Rating
3,371-st
Location
Гродненская обл., Беларусь
Registered
Activity