BURO – утилита резервного копирования

logo_buro

Закончил оформление своей утилиты инкрементального резервирования файлов. Исходные коды и бинарники на гитхабе.

Тэги

Перенос онлайн теста мониторов

Онлайн тест переехал с зоны .COM на новый адрес:

lcdtest.sapozhnikov.pro

невзрачно, но функционально :)

Наработки взаимодействия с Московской Биржей (moex.com)

Писалось на заказ. Неожиданно заказчик повел себя как распоследний overlord, поэтому сотрудничество с ним пришлось разорвать. С биржи по UDP multicast получаются данные в FIX/FAST формате, парсятся и выводятся в текстовом виде, типа такого:

MessageType=W|BeginString=FIXT.1.1|ApplVerID=9|SenderCompID=MOEX|MsgSeqNum=190|SendingTime=20160128153351615|LastMsgSeqNumProcessed=284118|RptSeq=130588|TradSesStatus=100|TradingSessionID=CETS|Symbol=USD000UTSTOM|LastFragment=0|RouteFirst=0|MDSecurityTradingStatus=17|MDEntryType=1|MDEntryID=S000749310|MDEntryPx=74,931|MDEntrySize=1435|MDEntryTime=122122000|OrigTime=281543|MDEntryType=1|MDEntryID=S000749340|MDEntryPx=74,934|MDEntrySize=9808|MDEntryTime=121729000|OrigTime=789707|MDEntryType=1|MDEntryID=S000749360|MDEntryPx=74,936|MDEntrySize=4768|MDEntryTime=125132000|OrigTime=8496|MDEntryType=1|MDEntryID=S000749380|MDEntryPx=74,938|MDEntrySize=4184|MDEntryTime=124334000|OrigTime=80760|MDEntryType=1|MDEntryID=S000749410|MDEntryPx=74,941|MDEntrySize=121|MDEntryTime=125517000|OrigTime=844733|MDEntryType=1|MDEntryID=S000749450|MDEntryPx=74,945|MDEntrySize=1548|MDEntryTime=124636000|OrigTime=750455|MDEntryType=1|MDEntryID=S000749460|MDEntryPx=74,946|MDEntrySize=223|MDEntryTime=122356000|OrigTime=776432|MDEntryType=1|MDEntryID=S000749510|MDEntryPx=74,951|MDEntrySize=268|MDEntryTime=125755000|OrigTime=892775|MDEntryType=1|MDEntryID=S000749530|MDEntryPx=74,953|MDEntrySize=1616|MDEntryTime=124131000|OrigTime=220050|MDEntryType=1|MDEntryID=S000749550|MDEntryPx=74,955|MDEntrySize=2688|MDEntryTime=123726000|OrigTime=152010|MDEntryType=1|MDEntryID=S000749600|MDEntryPx=74,96|MDEntrySize=1275|MDEntryTime=123512000|OrigTime=764124|MDEntryType=1|MDEntryID=S000749640|MDEntryPx=74,964|MDEntrySize=824|MDEntryTime=123203000|OrigTime=777196|MDEntryType=1|MDEntryID=S000749650|MDEntryPx=74,965|MDEntrySize=772|MDEntryTime=124623000|OrigTime=230135|MDEntryType=1|MDEntryID=S000749740|MDEntryPx=74,974|MDEntrySize=2776|MDEntryTime=124437000|OrigTime=158454|MDEntryType=1|MDEntryID=S000749820|MDEntryPx=74,982|MDEntrySize=1788|MDEntryTime=125232000|OrigTime=844530|MDEntryType=1|MDEntryID=S000750000|MDEntryPx=75|MDEntrySize=1396|MDEntryTime=125305000|OrigTime=899741|MDEntryType=1|MDEntryID=S000750190|MDEntryPx=75,019|MDEntrySize=1885|MDEntryTime=125838000|OrigTime=22476|MDEntryType=1|MDEntryID=S000750280|MDEntryPx=75,028|MDEntrySize=732|MDEntryTime=124404000|OrigTime=856011|MDEntryType=1|MDEntryID=S000750320|MDEntryPx=75,032|MDEntrySize=576|MDEntryTime=123527000|OrigTime=958021|MDEntryType=1|MDEntryID=S000750400|MDEntryPx=75,04|MDEntrySize=410|MDEntryTime=124313000|OrigTime=623673|MDEntryType=1|MDEntryID=S000750420|MDEntryPx=75,042|MDEntrySize=620|MDEntryTime=122940000|OrigTime=867921|MDEntryType=1|MDEntryID=S000750440|MDEntryPx=75,044|MDEntrySize=1012|MDEntryTime=124532000|OrigTime=148887|MDEntryType=1|MDEntryID=S000750470|MDEntryPx=75,047|MDEntrySize=3856|MDEntryTime=125158000|OrigTime=747465|MDEntryType=1|MDEntryID=S000750530|MDEntryPx=75,053|MDEntrySize=460|MDEntryTime=124001000|OrigTime=437901|MDEntryType=1|MDEntryID=S000750590|MDEntryPx=75,059|MDEntrySize=396|MDEntryTime=123822000|OrigTime=267858|MDEntryType=1|MDEntryID=S000750600|MDEntryPx=75,06|MDEntrySize=415|MDEntryTime=123157000|OrigTime=598998|MDEntryType=1|MDEntryID=S000750710|MDEntryPx=75,071|MDEntrySize=366|MDEntryTime=123309000|OrigTime=719607|MDEntryType=1|MDEntryID=S000750760|MDEntryPx=75,076|MDEntrySize=1924|MDEntryTime=122933000|OrigTime=354438|MDEntryType=1|MDEntryID=S000750820|MDEntryPx=75,082|MDEntrySize=49|MDEntryTime=124140000|OrigTime=597651|MDEntryType=1|MDEntryID=S000750830|MDEntryPx=75,083|MDEntrySize=2400|MDEntryTime=124052000|OrigTime=668973|MDEntryType=1|MDEntryID=S000750920|MDEntryPx=75,092|MDEntrySize=4080|MDEntryTime=124941000|OrigTime=912465|MDEntryType=1|MDEntryID=S000750940|MDEntryPx=75,094|MDEntrySize=324|MDEntryTime=123652000|OrigTime=112304|MDEntryType=1|MDEntryID=S000750950|MDEntryPx=75,095|MDEntrySize=360|MDEntryTime=123702000|OrigTime=629773|MDEntryType=1|MDEntryID=S000750980|MDEntryPx=75,098|MDEntrySize=456|MDEntryTime=124209000|OrigTime=34577|MDEntryType=1|MDEntryID=S000751070|MDEntryPx=75,107|MDEntrySize=1326|MDEntryTime=124642000|OrigTime=762121|MDEntryType=1|MDEntryID=S000751190|MDEntryPx=75,119|MDEntrySize=1106|MDEntryTime=125025000|OrigTime=941044|

Генератор структур (FastStruct.cs) не выкладываю, т.к. эту работу заказчик оплатил. Скачивать тут.

Тэги

Пытаюсь получить синусоиду

… но пока не очень удачно:

Тэги

О жадном Logitech

Была у меня любимая мышка Logitech G600, но как и у армии несчастных, отказали кнопки, причем сразу две – невозможно выделить текст, перетащить окно и т.п., процесс прерывался посередине. Первая мысль – купить новую. Старая цена 2500 р. превратилась в новую 7000 р. Однако. Решено было чинить.

Читать далее

Тэги

Поддержка картинок в формате PNG для моего Exif Remover’а

Dirty PNG

Рисовал накануне лого для своей гильдии в Warframe. В Adobe Photoshop CC 2015 сделал PNG файл с прозрачностью, сохранил через пункт меню “Сохранить для WEB”. На выходе получил файл с кучей текстовой информации, включая ID моего хоста. Вот это засада. В тот же вечер добавил в Exif Remover поддержку PNG – удаляются chunk’и iTXt, tEXt, zTXt и tIME. Мне не трудно. Желающим велком ту ГитХаб.

Тэги

Утилиты для TOX IM

Описание и исходные коды выложил здесь.

Тэги

Пока жены нет дома…

… я наконец сделал часы с NTP клиентом!

Читать далее

Тэги

Pitch преобразователь для голоса

Эта поделка тоже была сделана для косплея, точнее для маски. Позволяет изменять тональность голоса, плюс добавлять голос “робота”, но последняя фича не требовалась. Для преобразования взял модулятор HT8950, в качестве усилителя HT82V733 (подходит для питания от батарей, т.к. засыпает в неактивном режиме). Первый вариант выглядел невзрачно:

voc1

Читать далее

Тэги

Драйвер для светодиода

Спаял несколько таких платок для подсветки костюма из косплей-сценки:

lt1932

Читать далее

Тэги