Pull to refresh
135
0
Алексей @UA3MQJ

Инженер программист

Send message

Программирование Древа Времен

Reading time23 min
Views33K


Введение


Прочитав статьи TimeCoder — «Путешествия во времени и программирование» [1, 2] я вспомнил свои скромные практические исследования в программировании, связанные с реализацией разветвляющихся миров. Однажды товарищ по работе подкинул мне интересную задачу, но решить я ее до сих пор не смог. Задача о том, как нагрузить станки на производстве. Даже не программисту было понятно, что нужен простой перебор, но я так и не смог придумать подходящую структуру данных для обеспечения вычисляющего алгоритма. Задача из реального мира, поэтому я решил попробовать реализовать в программе реальный мир в той части, который требуется для вычисления задачи. Каждый раз, когда в дальнейших вычислениях стоял выбор между двумя действиями — происходило «создание двух новых миров» с разным решением в каждом. Дальше каждый мир развивался своим путем.

Под катом я расскажу, как развивалась идея, и чем мне помог ерланг. Практика — критерий истины!
Читать дальше →
Total votes 55: ↑38 and ↓17+21
Comments18

ZX Spectrum воспоминания — самодельный цифровой фотоаппарат из микросхемы ОЗУ

Reading time2 min
Views68K


Слушаем с другом трекерную и 8-бит музыку, подкасты с музыкой спектрумовских времен, размышления по поводу исторических закономерностей развития демосцены. Дело в том, что на скромном железе zx spectrum сейчас можно изобразить сложные спецэффекты, windows подобные интерфейсы, но это не значит, что тогда это было возможно. Нужно было развиться до нынешних технологий и с помощью «дауншифтинга» адаптировать их для ограниченного железа. Сейчас, при поддержке в виде современного ПК, создавать что-то под zx spectrum стало значительно проще.

Вот к примеру, если говорить о такой доступной сейчас вещи, как цифровое фото.

Дело в том, что сейчас, если есть желание написать демку или игру, то для получения изображений мы поступим так:
— сфотографируем объекты реального мира, вырежем, сожмём, перегоним в спектрум;
— нарисуем на бумаге, отсканируем или сфотографируем, сожмём, перегоним в спектрум;
— нарисуем в современном графическом редакторе мышью или даже пером, сожмем, перегоним в спектрум

А как было тогда, когда не было больших машин? Как было тогда, когда под спектрум ты писал на спектруме?
Нахлынули воспоминания...
Total votes 93: ↑90 and ↓3+87
Comments36

Использование DSP звуковой платы SB Live! на пользу радиолюбителей (KX Driver's) — Часть [2/2]

Reading time8 min
Views16K


Первая часть: Использование DSP звуковой платы SB Live! на пользу радиолюбителей (KX Driver's) — Часть [1/2]

Практическая часть, проблемы, выводы.

Под катом много видео.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments3

Использование DSP звуковой платы SB Live! на пользу радиолюбителей (KX Driver's) — Часть [1/2]

Reading time24 min
Views89K

Эксперименты по обработке звука аппаратными средствами SB Live и их возможное применение для работы в эфире. Заметка включает в себя инструкцию по применению альтернативных драйверов KX-Project, примеры применения и выводы по возможности реального применения. Период написания статьи 2006-2007 год, размещена была на страничке ныне уже не существующей коллективной радиостанции (RK3MXH). Авторство мое.

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

Под катом очень много текста и рисунков.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments24

Система мониторинга через jabber

Reading time7 min
Views11K


Возможность мгновенного оповещения об определенных событиях требуется достаточно часто. Системные администраторы должны как можно быстрее узнавать о сбоях в работе сервисов и серверов, технический персонал на производстве — о сбоях и отклонениях в технологическом процессе, службы оперативного реагирования — о происшествиях. Самый очевидный способ оповещения — это оповещение по СМС. Для оповещения через СМС существуют специальные интернет сервисы, осуществляющие рассылку сообщений на заданную группу. Можно сэкономить и осуществлять рассылку самостоятельно, используя GSM модем. Но у этого способа есть несколько минусов: нужно уметь работать с последовательным портом, а через него с модемом, последовательно обрабатывать команды; отправлять сообщения по-русски не так просто; скорость отправки большому количеству адресатов может оказаться не достаточно быстрой; сложно обеспечить контроль доставки; нет гарантии, что сотовый оператор не заблокирует сим карту, если посчитает рассылки за спам. В целом, сервисы рассылки дают хотя бы какие-то гарантии, но стоят определенных денег.

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

Совсем другое дело — системы обмена мгновенными сообщениями (ICQ, XMPP). Протокол XMPP оказывается более предпочтительным благодаря тому, что он открыт. А благодаря тому, что это полноценный сетевой протокол, то получаются «из коробки» доступны следующие возможности:
  • список контактов может являться списком рассылки (этот список легко редактировать)
  • данные шифруются
  • контроль доставки
  • можно видеть статусы получателей (онлайн), чтобы понять, кто может получить сообщение
  • принимать сообщения можно как на персональный компьютер, так и на мобильное устройство и для этого не требуется разрабатывать специальную программу
  • оповещение можно расширить интерактивностью: добавить чат/конференцию, обработку дополнительных запросов

При желании список можно продолжить.

В качестве примера реализации данного подхода, разработана программа, которая оповещает об ошибках технологического оборудования. Стойка оборудования представляет из себя некую программу, которая пишет сообщения (и сообщения об ошибках в том числе) в базу данных. БД имеет формат — Paradox, а кодировка данных Win-1251. Было решено отказаться от графического интерфейса в пользу консольного приложения, параметры задавать текстовыми файлами. Инструмент для решения — QT.

Реализованный функционал: сбор ошибок с множества технологических установок, отправка сообщений через jabber, общий чат через jabber.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments20
2

Information

Rating
Does not participate
Location
Рыбинск, Ярославская обл., Россия
Date of birth
Registered
Activity