Нет такой вещи, как идеальная модель многопоточности. Одни задачи хорошо ложатся на треды и мьютексы, другие на каналы и горутины (a.k.a CSP), третьи на акторную модель, четвертые на Software Transaction Memory. Из этих моделей язык Go предлагает первые две. Но, как мы сейчас убедимся на примере акторов, не представляет труда добавить в язык и другие модели.

Здравствуйте, уважаемые читатели! Сегодня я, aquaratixc, автор блога LightHouse Software, покажу, как можно практически безболезненно погрузиться в мир архитектуры RISC-V и начать использовать микроконтроллер на ее базе. Оговорюсь сразу, что мы будем использовать не аппаратный микроконтроллер. Вместо этого мы возьмем уже готовое soft-ядро и загрузим его в FPGA-плату BlackIce II, уже знакомую читателям данного блога.

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

Тюнер MFJ-971 имеет один маленький недостаток. Дело вот в чем. Данный тюнер оснащен встроенным измерителем мощности и КСВ. Это ценный прибор сам по себе, и хотелось бы иметь возможность использовать его, чтобы просто измерить КСВ антенны и/или выходную мощность трансивера. То есть, безо всякого тюнинга антенны. Но из коробки MFJ-971 такой возможности не предоставляет (как вы думаете, почему?). К счастью, данную ситуацию легко исправить.

При использовании Raspberry Pi в качестве роутера я столкнулся с одной проблемой. Дело в том, что дома иногда отключают свет. По моим наблюдениям, это происходит ненадолго и только в рабочие часы. Видимо, неподалеку идут какие-то ремонтные работы. Так вот, когда это происходит, мне приходится заходить на малину по SSH и запускать все, что в ней крутилось в tmux — как минимум, это OpenVPN. Мне также приходится выставлять время на микроволновке и газовой плите, поскольку в них сэкономили на часах реального времени, но это другая история. Так или иначе, встал вопрос о приобретении UPS для моего роутера.

Поработав некоторое время с ручным тюнером MFJ-971 я осознал, что пользоваться им не слишком удобно. Мне нравится менять диапазоны и режимы работы. Поработал голосом на 40 метрах, надоело — пошел на 20 метров в FT8, надоело — проверил нет ли прохождения на 15 метрах, и так далее. С ручным тюнером это означает постоянное кручение ручек. Поискав по eBay, я решил сделать ставку на весьма привлекательный, хотя и малоизвестный, автоматический тюнер mAT-30. Забегая вперед, отмечу, что этот тюнер оказался скорее подстроечным, чем универсальным. Но обо всем по порядку.

В рамках поста Быстрое введение в Kubernetes мы познакомились с основами использования кубера, однако для его развертывания было предложено использовать либо Docker Desktop, либо облака. Давайте попробуем заполнить этот пробел, подняв простейший однонодовый кластер Kubernetes на машине под управлением Ubuntu Linux 18.04 LTS.

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

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

Радиофакс, он же weather fax или wefax — это аналоговый способ передачи изображений при помощи радиоволн. Часто по радиофаксу передается подробный прогноз погоды, который может представлять ценность для пилотов и мореплавателей. Однако wefax с тем же успехом подходит для передачи любой другой информации. Давайте же выясним, как можно принять и декодировать радиофакс.