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

Позднее Ctrl + ↑

Физическое воплощение TCP-пакета

Физическое воплощение TCP-пакета, обеспечивается гарантированная доставка, надо полагать

В чате бывших сотрудников «Яндекса» сегодня всплыла безвестная картинка с пакетом (на самом деле — сумкой) с принтом в виде TCP-пакета. Каламбур зашёл, местные гики изошли слюной.

Я тоже заинтересовался — где такую взять и ценой вопроса. С заметным трудом разыскал источник — китайский мономагазин, сумка стоит по-божески — 48¥ ($7), но, судя по всему, на доставку по всему миру автор не рассчитывал.

Видимо не удастся такую получить, разве что найти кого-то в Китае, но я не припомню, чтобы у меня там жили знакомые. Жаль, принт вызывает слюноотделение, да и вещь не бесполезная — молния, внутренний карман, рассчитана на «Макбук Эйр» 13″. Я как раз собирался переходить со своей «прошки» на «Эйр» модели этого года.

Apple I

Моя первая программа в машинных кодах «Эпл I» бесконечно выводит таблицу символов

Заметил позитивную тенденцию — меня снова стали интересовать статьи на «Хабре», вплоть до зуда что-нибудь попробовать самому. В одно время «Хабр» чрезвычайно испортился — в ленте стало столько маркетинговой чуши, что иногда я неделями туда не заходил, всё равно читать нечего.

Не знаю, что ребята сделали, но направление верное, молодцы!

В общем, прочитал недавно там статью про самодельный «Эпл I» и сегодня не спал до двух ночи.

Нет, свой компьютер я не собрал, да и начиналось всё невинно — сначала скачал несколько эмуляторов, попробовал что-то позапускать готовое. Потом почитал про тамошний ассемблер (на борту там процессор 6502) и решил написать что-нибудь простое на нём.

Для этой цели мне очень подошёл «ОупенЭмулятор» и онлайн-компилятор с возможностью отладки «Асм80». Неожиданно удобная штука, кстати, не знаю сколько я бы без неё проваландался.

Программа, выводящая таблицу символов в компиляторе и отладчике «Асм 80»

Первая моя программа умела совсем мало — только бесконечно выводить на экран таблицу символов. Она такая короткая (всего восемь байт), так как для самого сложного — печати на экран, используется вызов ECHO, встроенной в «Эпл I» программы «Woz Monitor», — по всей видимости её писал Возняк, поэтому она так называется.

В ассемблере 6502 особо не развернёшься — три восьмибитных регистра (A, X, Y), 56 команд (не считая нескольких недокументированных), только целые числа, нет деления и умножения. Я совсем не помню свой первый ассемблер (для «Радио-86РК»), но кажется даже он был богаче.

Тем интереснее было написать что-нибудь чуть более серьёзное. Я написал, разумеется, «песню о пиве», в ближайшее время выложу. Машинные коды вбивал сначала руками прямо в «монитор», всё как в детстве, в начале 90-х, но ближе к ночи устал и написал на «Пайтоне» программу, которая hex-файл «Асма80» перебивает в эмулятор, имитируя нажатия на клавиши через «ЭплСкрипт».

Кстати, какое-то время пришлось ещё потратить на то, чтобы понять как работать с «монитором» Возняка — это предельно аскетичная командная строка, в которой без руководства не разобраться, что, учитывая скромные размеры программы, объяснимо. К счастью, в сети есть копия « Apple-I Operation Manual», которую я наскоро проштудировал.

Там всего несколько страничек, вникнуть просто и сейчас (о ужас!) мне даже удобно.

Самый долгий merge в моей жизни

Заметка будет интересна только программистам.

Фотография ниже лежит у меня на ноуте с августа 2013 года. Очень не люблю такое — всё нужное я привык закачивать в интернет, всё ненужное — удалять. Не мог определиться куда деть это фото, решил положить в блог, снабдив небольшим рассказом.

Каждый файл для слияния приходилось печатать на куче бумаги, раскладывать на полу и сравнивать вручную

Наверное все программисты знают что такое «мерж» (merge) — слияние двух веток и согласование изменений, сделанных в файлах в рамках этих веток. Если системе контроля версий удаётся справить самостоятельно, то «мержи» происходят автоматически, это, в моей практике, наиболее частая ситуация. В противном случае возникает «конфликт» — «мерж» останавливается до разрешения конфликта человеком. Только человек может решить как будет выглядеть сводный код, учитывающий изменения, сделанные в двух слияемых ветках.

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

Одна из команд работала над функциями, которые нужны в продукте заказчику, вторая, которой руководил я, — делала несколько довольно серьёзных изменений с заделом на будущее, в частности — внедряла шаблонизацию.

Через год попытались слить две ветки воедино и получили конфликты почти во всех основных файлах проекта. Ничего совсем уж неожиданного, конечно, особенно с учётом того, что часть кода была переписана с ПХП на «Твиг», но никогда в ещё в жизни я не видел столько конфликтов. Затронуты были, если мне не изменяет память, несколько сотен файлов.

С одной стороны, других вариантов, кроме как собрать это всё воедино, не рассматривалось, с другой стороны, объём предстоящей работы удручал.

В общем, погрустил я, погрустил, повесил табличку «Не беспокоить» и заперся в кабинете на неделю. Каждый файл с конфликтом распечатывал дважды — из каждой ветки. Потом раскладывал распечатанное на полу, выделял маркером одинаковые места, рисовал стрелками что куда переместилось, шёл к ноутбуку и так или иначе разрешал конфликт.

На фотографии — процесс разрешения конфликтов одного из файлов. Через неделю я был полностью разбит монотонностью работы, но ветки слил.

Полполушки

Реплика полполушки, к сожалению добыть фото оригинальной чрезвычайно трудно. Год записан цифирью

«У нашего Андрюшки ни полуполушки» — гласит ныне малоизвестная народная поговорка. Если о существовании деньги (¹⁄₂ копейки) и полушки (¹⁄₄ копейки) я знал, в конце концов, постоянно нахожу их в земле, то о существовании полполушки (⅛) даже не догадывался.

Оказывается такую монету чеканили при Петре Первом — 11 марта 1700 года он выпустил указ о выпуске медных денег, полушек и полуполушек. Может это странно сейчас выглядит, но во времена Петра копейка по меркам крестьянина была хорошей суммой — на рубеже 16—17 веков на неё можно было купить курицу или 15 яиц.

Так что выпуск столь мелких монет был вполне оправдан. В отсутствие размена народ использовал «сеченные деньги» (разрезали копейку на несколько частей), а так же кожаные или другие «жеребья» — суррогатные деньги.

Пол- и четверть копейки прожили долго — ¹⁄₂ копейки существовали даже в СССР, а вот полполушки чеканились только в 1700 году. Эта монета оказалась невыгодной казне и от неё отказались.

Сейчас известно всего несколько подлинных монет такого номинала, по слухам — около пяти. Конечно в продажу они попадают очень редко. Если вам захочется такую в свою коллекцию, сориентироваться по цене поможет проход на одном из аукционов 2003 года — тогда одну из полуполушек продали за двадцать тысяч долларов.

25 ноября   история

Барахолка на Гудованцева

Шапочное дерево на блошином рынке вдоль улицы Гудованцева (между Моисеева и Беломорской)

Если про блошиный рынок в парке Тинчурина знают почти все казанцы, то про барахолку на Гудованцева слышало гораздо меньше народу. Я случайно узнал о ней из какой-то статьи в интернете и всё пытался выбрать время, чтобы посетить.

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

Ассортимент — поздний СССР, современный Китай и всякий подержанный скарб. Через снег трудно оценить, но в среднем как-то так.

Наши сегодняшние приобретения — звезда на ёлку времён СССР, олень и енот

Ходили с дочкой, поэтому в основном покупали игрушки (олень — 30₽, енот — 100₽), а мне приглянулась советская звезда на ёлку (150₽), два раза мимо неё прошёл, но всё же купил. Поторговаться пришлось только за звёздочку (сбил цену почти в два раза), остальное взял так.

Ещё не проверял, исправна ли звезда, если нет, поставлю внутрь яркий светодиод, сменю питание с 220 на низковольтное, так ещё и безопаснее. Главное ведь не лампочка накаливания внутри, а эмоциональный накал, который дарят такие, с историей вещи.

25 ноября  

Переданные книги

Несколько книг из найденной дореволюционной библиотеки, все написаны на татарском с использованием арабского алфавита

Весной в одном заброшенном сельском доме мне посчастливилось наткнуться на дореволюционную библиотеку. В загаженной комнате с продавленным диваном, в углу, за печкой стоял шкаф внутри и вокруг которого в беспорядке лежали какие-то книги и тетради. Хорошо, что я полюбопытствовал — что же там такое разбросано.

Всё найденное было передано в Центр письменного и музыкального наследия, после чего там книги постарались восстановить — убрать пыль и плесень, собрать разрозненные листы и так далее.

Недавно ходил туда — посмотреть в каком теперь состоянии книги, полистал, пофотографировал. Обещали всё найденное оцифровать, но когда будут завершены работы — неизвестно. Жаль прочитать ничего не смогу — не знаю ни татарского языка, ни арабского алфавита.

23 ноября  

Отключение антиспама

После трёх недель работы без выходных, я сегодня наконец отдыхаю. Тюленил до обеда, а за едой поиграл со шрифтами в блоге, плюс попытался, наконец, полностью отключить антиспам «Эгеи» — это движок, на котором у меня блог работает. Надеюсь получилось, если нет, напишите мне, пожалуйста. Хочу закрыть этот вопрос.

Заодно мы с поддержкой «Мастерхоста» наконец-то разобрались как сделать редирект с www.bolknote.ru на домен без www.

23 ноября  

P@l.Mate и оптическая передача данных

«Пэлмэйт» во всей красе, когда-то продавался за 539 рублей ($15), длиной примерно в ширину ладони

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

Называлось это чудо «P@l.Mate» (именно так, через «собачку»), имело шесть кнопок и экранную клавиатуру, в которую надо было тыкать миниатюрным стилом. Внутри были часы, будильник, записная книжка, планировщик, калькулятор, гороскоп и пара игр.

По тем временам неплохо для своего размера (45×10×70 мм), но интересно не это. Сзади у гаджета был фотоэлемент и светодиод — для двухстороннего обмена оптическим способом. Натурально, можно было приложить два «Пэлмэйта» друг другу и они, мигая лампочками в видимом диапазоне, могли обмениваться информацией.

Более того, при помощи специальной программы можно было передать что-нибудь и с компьютера! В этом случае мигала выделенная область экрана, либо светодиоды (нюм/капс/скролл) клавиатуры, на выбор.

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

Кажется, это был единственный пример практической реализации передачи машиночитаемого потока данных по каналу в видимом диапазоне, с которым я непосредственно сталкивался в жизни.

22 ноября   гаджет

«Гопник» возвращается

Скомпилированный «ФриПаскалем» примитивный клон игры «Гопник», запущенный на макОСи

Три вещи наполняют душу всегда новым и все более сильным удивлением и благоговением — это звездное небо надо мной, моральный закон во мне и моя необъяснимая любовь к двум досовским играм серии «Гопник». Обе части представляют собой текстовый квест, в обеих частях центральный персонаж — пацанчик, идущий к успеху.

В общем, иногда я к ним возвращаюсь, даже не поиграть, а погуглить — не найдётся ли на ту же тему чего-то нового. Надеюсь на продолжение, третью часть.

Но с годами в выдаче «Гугла» ничего не менялось, пока сегодня в результатах не попался клон игры «Гопник», написанный в 2014 году на примитивнейшем Паскале «коллективом GalAndGames».

К сожалению уже по исходнику было видно, что это — не более, чем чья-то проба пера, к которой автор или авторы полностью потеряли интерес. Но для интереса скачал «ФриПаскаль», попробовал скомпилировать. С элементарными правками получилось — у трёх переменных надо было указать другой тип.

Сюжет явно взят из первой части оригинальной серии — пацан, отчисленный лично ректором, жаждет мести. Игра начинается с момента отчисления и заканчивается битвой с ректором. В начале игры можно выбрать собственную специализацию — «гопник», «вор» или «маньяк», но этот выбор ни на что не влияет.

Увлекательнейший процесс битвы с ректором, я победил и немудрено — в игру вставлены читы

В игре есть несколько от балды выставленных характеристик, деньги («чирики»), магазин, где можно купить оружие и пиво (аналог аптечек), а так же враги с которыми предстоит драться — «коп», «маньяк», «вор», «гопник», ну и босс — «ректор».

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

17 ноября   игра

Йогурт в СССР

Недавно Артемий Лебедев у себя в блоге, в заметке о йогуртах написал следующее, цитирую: «удивительно, но йогурт — это один из продуктов, которого не было ни в каком виде в СССР». И я позволил себе в этом усомниться.

Сначала посмотрим когда примерно слово появилось, знали ли его в СССР?

В терминах и определениях ГОСТа 17164-71 («Молочная промышленность. Производство цельномолочных продуктов из коровьего молока») слово встречается в ряду других кисломолочных продуктов.

А ещё раньше? Большая Советская Энциклопедия 1931 года издания знает его под названием «ягурт», цитирую небольшую часть:

ЯГУРТ (по-турецки — кислое молоко), вид простокваши специального приготовления: молоко кипятится и, по охлаждении его, заражается микробами молочно-кислого брожения (коккобацилл и лактобацилл кавказский).

Но не в революцию же слово появилось? Было оно известно и при царе, вот такой рецепт можно найти на страницах седьмого тома «Реальной энциклопедіи практической медицины» (С.-Пб., 1914):

Нѣсколько сходенъ съ кислымъ молокомъ и ягуртъ (іогхуртъ, юхуртъ, джаурди), изготовляемый въ Турціи и Болгаріи: коровье, козье или овечье молоко выпариваютъ въ широкомъ сосудѣ при 80°С. до ⅔—¹⁄₂ объема при помѣшиваніи, затѣмъ охлаждаютъ до 55°С., прибавляютъ около 2 куб. стм. на литръ ягурта со вчерашняго или третьяго дня и закутываютъ сосудъ въ шерстяные одѣяла для сохраненія температуры часовъ на 5, послѣ чего ставятъ въ холодное мѣсто на 3—4 часа. За это время ягуртъ скискаетъ. Для полученія первой порціи бродила даютъ молоку скиснуть при 30°С. и собирают пѣнку.

Хорошо, по всей видимости в СССР и даже раньше слово знали, но выпускался ли йогурт промышленно?

Ответ на этот вопрос быстро находится в брошюре «Мясная и молочная промышленность СССР за 50 лет советской власти и перспективы её дальнейшего развития» за 1968 год. Цитировать текстом я оттуда не буду, лучше приведу скан страницы.

Из брошюры «Мясная и молочная промышленность СССР за 50 лет советской власти и перспективы её дальнейшего развития», М., 1968

Я неплохо помню ассортимент полок в 1980-е. В моём родном Лениногорске йогурта я в те годы не встречал и не слышал о нём, видимо распространённым продуктом он не был, но определённо в СССР производился — страница выше подтверждает.

14 ноября   история
Ранее Ctrl + ↓