Ранее в постах серии «Внутренности PostgreSQL» несколько раз упоминалось нечто под названием visibility map, или карта видимости (случай один, случай два и далее по ссылкам). Однако не сообщалось, что это за штука такая и почему она важна. Пришло время заполнить данный пробел.

Мне несколько раз доводилось слышать истории вроде «в детстве у меня / моего бати был компьютер ZX Spectrum, там были игры, и, в общем, в итоге я стал программистом». ZX Spectrum не было ни у меня, ни у кого-то из моих друзей. Поэтому я слабо представлял, о чем речь. А недавно я подписался на несколько YouTube-каналов про ретро-игры, где эта тема всплыла вновь. Было решено разобраться, что же представляет собой ZX Spectrum. И не просто разобраться, но и попробовать самому.

Изучая схемы других радиолюбителей-конструкторов, я заметил, что многие используют ПЧ 4.9152 МГц или близкую к ней. В качестве примеров можно назвать трансиверы Elecraft KX1, Penntek TR-35 и Hendricks PFR-3B. Ранее мне не доводилось использовать данную ПЧ. Было решено сделать соответствующий телеграфный фильтр (SSB меня сейчас не сильно интересует) и выяснить, каковы его свойства.

В 90-е годы прошлого столетия на территории бывшего СССР существовало немало электронных и/или компьютерных игр. Я неплохо помню этот период, поскольку на него пришлось мое детство. Тогдашние игры безусловно оказали влияние на выбор моей профессии. Особенно запомнились игры «Электроника» про волка собирающего яйца (как позже выяснилось, это был клон игры Nintendo Game & Watch), приставка Dendy (как оказалось, клон NES / Famicom), а также портативные игровые консоли Brick Game, которые тогда мы называли просто «тетрисы». Характерно, что ничего из перечисленного у меня никогда не было, но мне давали поиграть. Несколько позднее были приставки Sega, Game Boy и PlayStation, игры под MS-DOS и Windows 95/98, но все это — уже другая история. Так или иначе, в этом посте мне хотелось бы рассказать о тетрисах.

В широком смысле под зеркальным каналом (image frequency) понимается прием частоты, отличной от желаемой. Ярче всего эта проблема выражена в приемнике прямого преобразования, который одновременно принимает верхнюю и нижнюю боковые полосы, если только не предпринять специальных мер. Благодаря кварцевым фильтрам в супергетеродине не приходится беспокоиться конкретно об этой проблеме, но в нем есть другие зеркальные каналы. Давайте разберемся, как же так получается.

Благодаря посту Внутренности PostgreSQL: ProcArray и CLOG мы узнали, как PostgreSQL определяет состояние транзакции по ее идентификатору, или XID. Однако из статьи Внутренности PostgreSQL: страницы и кортежи мы также помним, что XID является 32-х битным числом. Несложными математическими расчетами несложно понять, что даже при скромных нагрузках (~1000 TPS), уникальные XID’ы могут закончится за несколько месяцев. Давайте разберемся, как PostgreSQL решает эту проблему.

Трансивер HBR/3B получился очень удачным. Но он имеет выход лишь на три диапазона. Практика показала, что этого мало. Поэтому было решено переделать трансивер на восемь КВ-диапазонов. Новый трансивер получил имя HBR/8B, что значит «homebrew for 8 bands».

Фильтрами Баттерворта или Чебышева в наши дни никого не удивишь. Но есть и менее известные эллиптические фильтры, они же фильтры Золотарева-Кауэра. Давайте же разберемся, чем эллиптические фильтры так примечательны.

Есть такой телеграфный трансивер Penntek TR-35. Это разработка американского радиолюбителя-конструктора John Dillon, WA3RNC. При изучении документации и схемы TR-35 меня особенно заинтересовал усилитель. Типичная выходная мощность на 40-17 метрах заявлена 6+ Вт при питании от 12 В, и 8+ Вт при питании от 14 В. Усилитель построен на транзисторах BS170 и IRF510.

PostgreSQL хранит данные в страницах, а страницы кэшируются в разделяемых буферах. Казалось бы, в случае аварийной остановки грязные страницы не будут записаны на диск, и часть данных пропадет. Чтобы такого не происходило, СУБД пишет журнал предзаписи, он же Write Ahead Log, или WAL.