Народная мудрость гласит, что интернет все помнит. Практика, однако, этого не подтверждает. Как человеку, который 10+ лет исправляет битые ссылки в данном блоге, можете мне поверить. Названные обстоятельства заставили задуматься о создании надежной копии «Записок программиста».
Недавно мы познакомились с ПЭВМ Искра 1080 Тарту. Для данного компьютера написано мало программ. Достоверно известно о существовании менее тридцати, включая порты с других компьютеров. Я попытался слегка улучшить ситуацию, написав еще одну программу. Ею стала игра «Змейка».
SciPy — это библиотека для языка Python, содержащая различные методы для инженерных и научных расчетов. При помощи SciPy можно считать интегралы, решать задачи оптимизации, обрабатывать изображения, и не только. Особый интерес представляют методы для расчета DSP-фильтров. Давайте разберемся, как ими пользоваться.
Мне захотелось попробовать разные программы для Микроши. В наши дни они распространяются в виде файлов RKM. Существуют готовые конвертеры из RKM в аудио, но они имеют различные проблемы. Например, WRKWIN32.EXE как будто работает, но мой Микроша отказывается загружать результирующее аудио. То ли не та версия Wine, то ли не та звуковая карта — об истинной причине остается лишь гадать. В общем, долго ли, коротко ли, было решено написать свой конвертер.
NEC2++ — это движок для моделирования антенн, совместимый с NEC2. Движок написан на C++ и распространяется под лицензией GPL. Также предусмотрены байндинги к языку Python. О них далее и пойдет речь.
Ранее в статье Используем спутники для проведения QSO на УКВ упоминалась покупная антенна волновой канал с тремя элементами на 145 МГц и пятью элементами на 435 МГц. Из инструкции к антенне мы можем почерпнуть информацию об ее усилении и диаграмме направленности. Но можно ли проверить, что антенна действительно обладает заявленными свойствами? Вдруг она была собрана неправильно, повреждена во время эксплуатации, или производитель попросту нас дурит? Оказывается, что проверить можно, и сделать это не так уж трудно.
Недавно по работе я занимался проработкой небольшой tech story. Сторя распалась на несколько задач, связанных отношением «задача А блокирует задачу Б». Стало интересно, как это будет смотреться на диаграмме Ганта, или хотя бы в виде простого графа. Но оказалось, что из коробки Jira такой возможности не предоставляет. Опрос знакомых на предмет готового решения результатов не дал. Тогда было решено написать небольшой скрипт на Python.
Gqrx имеет интересную фичу — управлять программой можно по TCP при помощи незамысловатого протокола. Помимо прочего, это позволяет интегрировать Gqrx с Gpredict для компенсации эффекта Допплера. Я давно хотел поиграться с этой возможностью, только не мог придумать правдоподобную задачу. Идею подкинул Kevin Loughin, KB9RLW в своем видео Network sockets and remote control of GQRX SDR with telnet and python.
Такие программы, как Fldigi и WXJT-X, умеют управлять трансивером, в том числе менять рабочую частоту, читать показания S-метра, и так далее. Это возможно благодаря CAT-интерфейсу, где CAT расшифровывается как Computer Aided Transceiver. Мы знаем, что для использования данного интерфейса трансивер нужно подключить к компьютеру по USB, а в программе выбрать виртуальный COM-порт и его baud rate. Это наводит на мысли, что на самом деле управление осуществляется через прекрасно знакомый нам UART. Если все действительно так, то автоматизация управлением трансивером — плевое дело.
WebDAV — это расширение протокола HTTP, описанное в RFC4918. WebDAV добавляет в HTTP возможность загружать файлы на сервер, а также удалять / перемещать их, и так далее. В итоге мы получаем что-то очень похожее на FTP, или даже на сетевую файловую систему типа NFS или Samba. Давайте же выясним, как этим пользоваться.