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

АСУТП Honeywell

Send message

Делаем качественный переплёт для любимой книги

Reading time7 min
Views206K

Вступление


Приветствую всех.

Люди любят читать. Но не все, и не всё. А то, что любят, не всегда можно найти в магазинах. А если и можно найти, то не всегда это по карману. Из этого следует один элементарный факт: что-то с этим надо делать. Конечно, можно читать с экрана монитора/ноутбука/телефона. Или распечатать и читать в разрозненных, пусть и упорядоченных, листочках. Кроме того (это более затратный вариант, но для любителя чтения он лучше), можно купить специализированную читалку на электронных чернилах. Да, она решает проблему, но… Спустя какое-то время начинаешь скучать по весу настоящей книги, по шелесту перелистывания бумажных страниц, и по кипе других подобных маловажных, но таких приятных сердцу мелочей.
И из этой неприятности тоже есть свой выход. Просто-напросто надо самому сделать нужную книгу.
Осторожно, под катом очень много фотографий.
Читать дальше →
Total votes 310: ↑294 and ↓16+278
Comments157

Введение в F#, или полезное о бесполезном

Reading time3 min
Views24K

Вступление



А зачем оно мне?

image

А почему бы и нет? К примеру, для общего развития, или просто для интереса, а впоследствии, может быть, для того, чтобы убедиться, что F# — не просто язык для ознакомления.
Читать дальше →
Total votes 78: ↑62 and ↓16+46
Comments15

Захват видео с сетевых камер, часть 1

Reading time8 min
Views101K
Сетевые видеокамеры постепенно вытесняют аналоговые, хоть и стоят они сейчас гораздо дороже. Сетевые обладают рядом очевидных приемуществ:
  • нет необходимости в отдельном регистраторе или плате захвата;
  • помехоустойчивость;
  • простая интеграция в существующую сеть;
  • нет ограничения по расстоянию;
  • наличие камер высокого разрешения;
  • просмотр камеры прямо с самой камеры по http;
  • наличие всевозможных настроек;
  • и др.

Нас интересует способ получения изображений с таких камер, для этого надо знать а как вообще они их передают? На наше счастье камеры используют существующие стандарты, а не то, что взбредёт в голову китайскому разработчику. Подавляющее большинство камер используют один или несколько способов передачи видео, это в основном Motion JPEG по HTTP, Motion JPEG по RTSP или H264 по RTSP. Также многие камеры могут передавать звук, но он нас не интересует сейчас.

В этой статье я рассмотрю эти способы передачи изображений с сетевых камер, а также приведу пример захвата таких изображений всё на том же Python'е.
Читать дальше →
Total votes 79: ↑72 and ↓7+65
Comments81

Алгоритмы сжатия изображений

Reading time8 min
Views84K
Легко подсчитать, что несжатое полноцветное изображение, размером 2000*1000 пикселов будет иметь размер около 6 мегабайт. Если говорить об изображениях, получаемых с профессиональных камер или сканеров высокого разрешения, то их размер может быть ещё больше. Не смотря на быстрый рост ёмкости устройств хранения, по-прежнему весьма актуальными остаются различные алгоритмы сжатия изображений.
Все существующие алгоритмы можно разделить на два больших класса:
  • Алгоритмы сжатия без потерь;
  • Алгоритмы сжатия с потерями.

Когда мы говорим о сжатии без потерь, мы имеем в виду, что существует алгоритм, обратный алгоритму сжатия, позволяющий точно восстановить исходное изображение. Для алгоритмов сжатия с потерями обратного алгоритма не существует. Существует алгоритм, восстанавливающий изображение не обязательно точно совпадающее с исходным. Алгоритмы сжатия и восстановления подбираются так, чтобы добиться высокой степени сжатия и при этом сохранить визуальное качество изображения.
Читать дальше →
Total votes 124: ↑106 and ↓18+88
Comments19

Простая система оптического распознавания символов для .NET

Reading time4 min
Views18K
Все началось с необходимости в одном из приложений получать снимок произвольного окна и 3-4 раза в секунду распознавать несколько областей изображения с заранее известными символами. Сделать скриншот окна с помощью WinAPI проблем не составило, а вот над распознаванием пришлось немного потрудиться.
Читать дальше →
Total votes 44: ↑33 and ↓11+22
Comments23

Ядерный реактор – дома с нуля

Reading time4 min
Views435K
Некоторое время назад я публиковал статью о самодельных микропроцессорах, сегодня же мы затронем более сложную и щекотливую тему (особенно в свете событий на Фокусиме) – создание ядерного реактора, способного генерировать энергию в домашних условиях. И перед тем как вы начнете волноваться, вспоминая о негативных опытах в прошлом (см. Радиоактивный бойскаут – наковырявший прилично амерция-241 из детекторов дыма) заранее скажу, что все что описано в этой статье – относительно безопасно (по крайней мере не опаснее работы с фтороводородной кислотой дома), но крайне не рекомендуется к повторению. Перед любыми действиями проконсультируйтесь со своим адвокатом — законы разные в разных странах. Много кто уже сидит.
Читать дальше →
Total votes 339: ↑319 and ↓20+299
Comments201

Визуализация графов. Метод связывания ребер

Reading time7 min
Views58K
Иногда полезно представить граф в графической форме, так чтобы была видна структура. Можно привести десятки примеров, где это может пригодиться: визуализация иерархии классов и пакетов исходного кода какой-нибудь программы, визуализация социального графа (тот же Twitter или Facebook) или графа цитирования (какие публикации на кого ссылаются) и т.д. Но вот незадача: количество ребер в графе зачастую настолько велико, что нарисованный граф просто невозможно разобрать. Взгляните на эту картинку:



Это граф зависимостей некой программной системы. Он представляет собой дерево разбиения на пакеты (серые шарики — пакеты, белые — классы), на которое поверх наложены ребра зависимости одних классов от других. Чтобы не рисовать стрелки направления, ребра нарисованы в виде градиентных линий, где зеленый — это начало, а красный — конец ребра. Как видите, граф настолько визуально перегружен, что архитектуру программы невозможно проследить.
Под катом описание метода, решающего эту проблему.
Читать дальше →
Total votes 214: ↑205 and ↓9+196
Comments67

Фикс падения производительности при копировании/закачке файлов в Ubuntu

Reading time4 min
Views20K
Уже не помню, когда начились проблемы с производительностью при копировании файлов, но тогда я этому не придал большого значения так, как копировал файлы редко. Относительно недавно в моем распоряжении появилось высокоскоростное подключение к сети Интернет и теперь я часто копирую/качаю большие файлы и проблема падения производительности для меня стала очень актуальной.

Поверхностный гуглеж не дал результатов и я начал копать глубже, оказалось, что проблемы высокой нагрузки CPU есть у многих убунтоводов, если не у всех, а решение данной проблемы быстрым поиском не находится, поэтому я решил написать небольшой how-to по устранению высокой нагрузки на процессор при копировании файлов.
Читать дальше →
Total votes 93: ↑88 and ↓5+83
Comments36

RGB лампа

Reading time4 min
Views41K
image

Размышляя над подарком девушке на 8 марта, вспомнился проект светодиодной RGB лампы, который и было решено реализовать. Тем более что все необходимое для этого имелось под рукой. Но что бы сделать подарок интересней я добавил управление с помощью оптического ик датчика, что сделало оригинальным обращение с лампой и к тому же не портило дизайн кнопками.
Читать дальше →
Total votes 138: ↑124 and ↓14+110
Comments75

Как хороший договор спасает нервы и монетку

Reading time14 min
Views62K
Договоры, отчеты, акты — кому охота заниматься этой скукотой, когда вокруг бьет ключом и фонтанирует идеями креативная жизнь? Особенно, если заказчик снисходительно хлопает творческого подрядчика по плечу: «Да ладно, зачем какие-то договоры. Мое слово — закон!» Остается только радостно согласиться и приступить к работе.

На заре существования нашего агентства мы вообще не стремились формализовать отношения с дорогими клиентами. Типовой договор умещался на двух машинописных листах. Содержал он минимум информации: предмет договора, сроки, цена. Если заказчиков немного, и все они — старые знакомые, то в известной степени можно положиться на их добропорядочность. Но когда клиентская база активно растет, то и проблемы множатся: задерживают выплаты, не выполняют обязательства, злоупотребляют лояльностью исполнителя. Столкнувшись с ними в полном объеме, мы собрались, подумали и составили новый типовой договор.
Читать дальше →
Total votes 140: ↑137 and ↓3+134
Comments51

Пи. Научно не популярное

Reading time1 min
Views4.1K
Пи — математическая константа, выражающая отношение длины окружности к длине её диаметра. Обозначается буквой греческого алфавита «пи». Пи в Википедии.


Но речь сегодня не об этом.
Читать дальше →
Total votes 277: ↑254 and ↓23+231
Comments188

Делаем твёрдый переплёт для любимых книжек

Reading time6 min
Views529K
Небольшое вступление

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

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

Большое вступление

Некоторое время назад мне захотелось прочитать цикл Дугласа Адамса «Автостопом по галактике». Я попробовал почитать несколько переводов и не один меня не устроил. Поэтому было принято решение — читать на английском! Найти эти книги в оригинале в наших книжных магазинах довольно сложно. А если и есть, то только первая часть цикла. В электронном виде найти несколько проще. Но я предпочитаю читать с бумаги (читалку на E-ink куплю обязательно — очень нравятся), поэтому книги я распечатываю.

Первые две книги выглядели так:
image

Я их прочитал с огромным удовольствием, но выглядели они не очень хорошо. И я решил, что «Life, the Universe, and Everything» нужно делать книжкой.

Процесс с картинками и комментариями под катом. Осторожно, действительно много картинок.
Читать дальше →
Total votes 348: ↑337 and ↓11+326
Comments142

Как скрепить много отдельных листов

Reading time2 min
Views151K
Добрый вечер.

Наконец-то жаркая погода загнала меня домой и выдалось немного времени на написание следующего топика.

В первой своей статье я рассказал, как из довольно подручных материалов можно сделать книгу. Ту книжку я сейчас и читаю (кстати, неровности на форзаце почти полностью разгладились, когда клей высох совсем).

В комментариях встречались вопросы в стиле «как забучить отдельные листы?» Об этом я расскажу сегодня.
Читать дальше →
Total votes 124: ↑115 and ↓9+106
Comments54

Самый страшный код в моей жизни

Reading time3 min
Views9.2K
Большинство проектов, над которыми работал, довольно быстро стираются из памяти. Но некоторые запоминаешь по гроб жизни. О таком дальше и пойдет речь.

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

В общем-то, ничего необычного, частенько компании обнаруживают, что важные знания содержаться в одной единственной голове, только когда что-нибудь случается с её владельцем. Как правило, проходит несколько дней в легкой панике и яростном чтении документов, и жизнь входит в своё русло.
Но не в этот раз.
Total votes 142: ↑122 and ↓20+102
Comments226

Записная книжка из дискет

Reading time1 min
Views6.6K
%Username%, ты уже собрал несколько корованов чемоданов, пару боксов для мелочей, но дискеты все еще не кончаются. И ты уже рисуешь на них портреты, ведь на них можно рисовать, но и тут дискеты все не кончаются. Что-то нужно делать, может быть записную книжку?

image

Читать дальше →
Total votes 92: ↑71 and ↓21+50
Comments37

Дверной звонок гика

Reading time2 min
Views24K
Как и должен начинаться подобный пост — дело было вечером, делать было нечего. Идея несколько раз приходила в мою голову, но разные обстоятельства не давали мне её реализовать. Но я всё-таки решился.
Читать дальше →
Total votes 261: ↑214 and ↓47+167
Comments201

Пи в языках программирования

Reading time3 min
Views13K
14 марта — всемирный день числа Пи. Придуманный в 1989 году и официально признанный в 2009, этот день отмечают многими способами, из которых самые популярные — поедание круглых пирогов и обсуждение вещей, связанных с числом Пи. Было бы странно, если бы не нашлось пары-тройки языков программирования, основанных на числе Пи или хотя бы названных в его честь. О них я и расскажу — надо же поддержать традицию :-)

1. Pi — диалект Brainfuck


У Brainfuck множество диалектов практически на все случаи жизни, диалект Pi среди них тоже есть. Команды языка записываются в число Пи в виде неправильных цифр в случайных разрядах следующим образом.

Читать дальше →
Total votes 66: ↑58 and ↓8+50
Comments25

Grub Customizer програмулина для редактирования меню загрузчика GRUB2

Reading time1 min
Views65K
image

Grub Customizer — это новый менеджер настроек для GRUB2 на гуях. На данный момент он позволяет: переименовывать, переупорядочивать, удалять/добавлять и скрывать элементы меню выбора загрузчика.

Интересен еще и тот факт что даже после переустановки самого ГРУБа ваши изменения не исчезнут.

Grub Customizer доступен через Ubuntu PPA (Lucid и Maverick)

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

Кстати он также поддерживает BURG.

Лично проверил на Ubuntu 10.10 работает нормально, brick812,GamePad64 подтвердили работоспособность с BURG на ubuntu 10.04 и 10.10, спасибо им.
Total votes 119: ↑92 and ↓27+65
Comments58

Подарок копипастеру

Reading time1 min
Views3.4K
image

Честно говоря, я не в восторге от клавиатур, увешанных, словно ёлочка, всякими нестандартными кнопочками, крутилками и вертелками, но от данной штуки я бы не отказался — всё-таки одно нажатие это лучше, чем два, особенно если этого требует ваша работа. Да, в двадцать первом веке смотрится довольно глупо, однако движение показалось мне интуитивным.
Total votes 282: ↑212 and ↓70+142
Comments315

«Двухместная» зарядная станция для телефонов своими руками

Reading time2 min
Views13K
Долгое время оба моих телефона не имели постоянного места прописки на столе и валялись где попало, пока не появилась идея завести им подставку. Но в магазинах большинство подставок рассчитаны на один телефон, да еще занимают непозволительно много полезного пространства (покупать две подставки тем более не выход). Тем более на днях я обзавелась Bluetooth-гарнитурой для основного телефона, так что возникла необходимость держать его поближе к зарядке, и возможность не дёргать его и не возиться с проводным наушником при разговоре. Вдохновленная хабратопиком «Док-станция для iPhone за 15 минут», я решила сообразить что-то подобное, но для двух телефонов сразу.
Из материалов использовались плотный многослойный картон(где-то 2 мм толщиной), бумага для оклейки (3 листа найдено в стратегических запасах), клей ПВА и одна канцелярская прищепка самого маленького размера.
Инструменты — скальпель, стальная линейка, ножницы, пробойник.
Картинки кликабельны
Зарядная станция для двух телефонов
Читать дальше →
Total votes 83: ↑64 and ↓19+45
Comments44

Information

Rating
5,655-th
Location
Гродненская обл., Беларусь
Registered
Activity