99 бутылок: Старсет
Семьдесят четвёртый выпуск считалочки «песни о пиве», которую я пишу на разных языках программирования, для разнообразия сделаю на языке родом из СССР.
74. Старсет — язык программирования высокого уровня, разработанный в Институте программных систем РАН в 1991 году. К сожалению, мне не удалось обнаружить компиляторов или интерпретаторов этого языка, и даже упоминания, что они вообще
Поэтому программировать пришлось исключительно по описанию языка, почерпнутого из книжки, купленной за двести рублей с рук в интернете.
Язык, кстати говоря, небезынтересный — в наличие имеется развитая работа со множествами и свой язык регулярных выражений («образцов»), который может применяться не только на скалярах, но и на множествах! Кроме того имеются операторы, позволяющие распараллеливать вычисления!
Помимо скаляров и множеств, язык поддерживает «классы» — насколько я понял, своеобразные вычисляемые «срезы» множеств
Например, попробуйте разобраться в этом отрывке («каноническая запись», как утверждается выше процитированного — это когда отброшены все незначащие нули):
Каноническим числовым представлением нуля будем считать слово 0. В частности, каноническим числовым значением слова 1 является оно само, каноническим представлением слова 2 является слово −6, каноническим представлением слова 3 — слово 67000000000000000.
Я, сколько ни пытался, не смог уловить закономерность.
Программы по внешнему виду сильно напоминают «Паскаль» — совпадают некоторые конструкции и принципы, но, конечно же, есть и вещи, которые сильно отличаются.
Выполнение программы выполняется с первой процедуры и завершается с выходом из неё. Возврат значения из функции (тут она называется
/* Считалочка про пиво на языке «Старсет». Написал Евгений Степанищев */
/* https://bolknote.ru */
Func Бутылки(колво)
Word: Бутылки, колво;
Choice
Case колво = 1 Do Бутылки := '1 bottle' End
Case колво = 0 Do Бутылки := 'no bottles' End
Otherwise Do Бутылки := колво^' bottles' End
Endfunc
Proc Песня()
Word: колво, бутылок;
колво := 99;
бутылок := Бутылки(колво);
While колво > 0 Do
Write бутылок^' of beer on the wall, '^бутылок^' of beer.';
колво := колво - 1;
бутылок := Бутылки(колво);
Write 'Take one down and pass it around, '^бутылок^' of beer on the wall.';
Write ''
End
Write 'No more bottles of beer on the wall, no more bottles of beer.';
Write 'Go to the store and buy some more, 99 bottles of beer on the wall.'
EndprocВсе строки заключаются в апострофы, которые в книге имеют непривычный вид (’), я не стал их тут использовать, вряд ли это
Ещё необычно выглядит операция конкатенации — ^ и повторения строки — ^^.
Write 'МА' ^^ '2 раза' /* Будет выведено «МАМА», так как «2 раза» преобразуется к двойке */С удовольствием познакомился с языком, благо он не выглядит, как
PLEASE
Помните такой сериал — «Как я встретил вашу маму», который на протяжении девяти сезонов пытался сделать мамой более тридцати девушек? Если не помните, то дальше будет не интересно.
Лично я терпел сериал только
На все вопросы об этом он махал рукой и отвечал «Please!» (в нашем переводе «Я тя умоляю»). Со временем для компании его друзей выяснить кем работает Барни стало настоящим вызовом — они постоянно пытались его подловить и кажется даже загипнотизировать.
Сегодня я узнал, что он фактически каждый раз говорил название своей должности, что, к сожалению, не удалось передать в переводе.
Я не очень внимательно досматривал сериал, поэтому совершенно упустил момент, где раскрывается, что «Please!», которым отвечает Барни, это аббревиатура — «Provide Legal Exculpation And Sign Everything» («всё подписывай и будь крайним»). То есть Барни, по сути, зицпредседательствовал (если помните «Золотого телёнка») — был подставным лицом на случай проблем.
Тут мне вспоминается мотив сказки про Шурале (это дух леса в татарских и башкирских сказках), которому зажал пальцы в бревне хитрый мужичок, представившийся как Никто. Когда позже пытались найти обидчика и спрашивали Шурале кто с ним так поступил, он отвечал: «Никто!», поэтому поиски ничем не закончились.
Библия грешников
Сегодня я узнал, что в 1631 году в Англии была издана Библия с грубой смысловой ошибкой — было пропущено «не» в заповеди «не прелюбодействуй».
Ошибку заметили и почти весь тираж удалось изъять, тем не менее несколько экземпляров уцелели. Сейчас они находятся в нескольких крупных библиотеках и частных коллекциях и известны под названиями «Библия грешников», «Злая Библия» или «Библия прелюбодеев».
Вообще в первые столетия после изобретения книгопечатания опечатки были частым явлением, но почти всегда это были перестановки или пропуски букв. Поэтому существует теория, что пропуск целого слова — результат саботажа со стороны Бонема Нортона — конкурента издателя Библии с этой ошибкой за звание королевского печатника, либо
Если это так, то злоумышленники своей цели достигли — издатель был оштрафован на 300 фунтов (довольно крупная в то время сумма) и лишён печатной лицензии.
Канал в «телеграме»
Кстати,
АЁС
Заметил, что становится всё больше ребят, которые произносят название эпловской операционки
Судя по тому, что такое произношение распространяется всё шире, есть шансы, что со временем оно вытеснит вариант с «йо».
Звезда красноармейца
В субботу был с друзьями на копе и, обходя один из огородов, куда нас пригласили поискать
Дома промыл находку водой и обнаружил, что рисунок на ней сильно отличается от того, что я видел до этого. Хорошо узнаваемый молот тут перекрещен с совершенно мною не узнанным плугом. И не мудрено — в своей жизни я его ни разу не видел, разве что
Оказалось, что это раннесоветская звезда красноармейца образца 1918—1922 годов, причём в интернете есть очень хорошая
8 мая 1918 г., вышел приказ по Военному комиссариату г. Москвы за №42, который фактически продублировал указания Наркомвоена: «каждый вновь поступающий в Советскую Армию должен снабжаться…, а также красноармейским значком: „Марсовой звезды с плугом и молотом“».
29 мая 1922 г. приказом РВСР от № 1379 ношение нагрудных «революционных военных знаков» было отменено.
В чате копателей говорят, что такие находки не редкость, но ни я, ни мои друзья по хобби ничего подобного за несколько лет не находили.
Продолжаем сидеть дома
Всё
Тем временем улица всё больше оживает — появились люди, на дорогах — пробки. Всё больше из дома приходиться выбираться и мне. В основном — на такси.
Кстати, по закону в такси требуется быть в маске и перчатках, по факту всем плевать. У таксистов маска где угодно, только не на законном месте (например, висит с прочими амулетами — на зеркальце заднего вида), перчатки вообще увидел лишь однажды.
Сам езжу в полной амуниции, опасаюсь штрафов.
Уже давненько разрешили открыться парикмахерским и барбершопам, но они более пуганные, чем таксисты, на входе обязательно просят надеть маску, говорят их проверяют. Когда приходит время брить бороду, дверь запирают и вполголоса сообщают, что «масочку можно на время снять».
Новости спорта в 1913 году
Публикую последний кусочек из газеты «Русское слово» за 16 октября 1913 года, найденной на чердаке дома моего друга.
Моя паранойя
Никогда не считал себя параноиком — я не заклеиваю камеры на ноутбуке и смартфоне, дома у меня три подслушивающих устройства — «Алиса», «Алекса» и робот «Вектор», в Китай уходят сведения о том где у меня включен свет, работает ли мой пылесос и какова влажность в каждой комнате.
Но недавно понял, что есть вещь в которой я паранойю на отличненько — это адреса на посылках, счетах и письмах. Каждый раз, когда мне надо выкинуть
Никак не получается от этого избавиться.
Ашать
В Татарстане широко распространено заблуждение, что слово «айда» неизвестно за пределами нашей республики. Думаю корень заблуждения в том, что это слово тюркского происхождения, а потому есть в татарском, и многие у нас тут его воспринимают как исключительно татарское.
Иногда приходится спорить на эту тему, но благо сейчас есть интернет, доказательств распространённости много.
В русском вообще немало тюркизмов, но большинство настолько уже обрусели, что поверить трудно, что они не исконные — нефть, капкан, кобура, тормоз, утюг и так далее. На днях, читая Гиляровского, отметил для себя неожиданный тюркизм, впрочем, не сохранившийся в русском к нашему времени:
Вкусно пахли щи, но и с говядиной ели лениво. Так и не доели, вылили. Наложили пшенной каши с салом… Я жадно ел, а другие только вид делали.
— Что это никто каши не ест? — спросил я соседа.
— Приелась. Погоди с недельку, здесь поработаешь — и тебя от еды отвалит… Я похлеще тебя ашал, как с воли пришел, а теперь и глядеть противно.
— Владимир Алексеевич Гиляровский, «Мои скитания», 1928
Интересно, что автор приводит его без примечания, видимо ожидая, что читатель его либо знает, либо выведет значение из контекста.
В словаре Даля слово встречается, но с пометкой «всюду, где есть татары» и, судя по всему, сильного распространения не получило — в литературе встречается в следовых количествах.
У нас в Татарстане оно встречается в речи русских, но скорее как лингвистическая шутка, частью русского языка не ощущается. Я, например, могу сказать «gonna go ашарга?», английским как бы подчёркивая, что это я не на татарском пытаюсь говорить, а острю.
Псевдоанглийские слова
Татмедторг
Вкратце: на фото аптечный ярлык 1923—27 годов
Помимо дореволюционных предметов, я очень люблю всё раннесоветское — меня очень радуют двадцатые и тридцатые, чуть меньше нравятся сороковые, а пятидесятые и дальше в моём восприятии относятся уже к «среднему СССР».
По советскому прошлому у меня скопилась уже приличная коллекция чердачных находок,
Арабской вязью написано «Татмидтург. Казан» и «Тилифун нумеры
По ключевым словам на ярлыке гуглится до обидного мало, только удалось узнать, что название «Татмедторг» существовало всего несколько лет — 1923 по 1927, потом его сменили на «Татаптекоуправление». Кстати, в том же 1927 году татары перешли с арабской письменности на латиницу и только
Надо будет потихоньку отфотографировать всё, что у меня есть на эту тему, может пригодиться будущим исследователям.
Кентавры
Сегодня за завтраком слушали песню «Я верю» Ляписа Трубецкого, одну из дочкиных любимых. В ней перечисляется множество различных мифических существ, которые заинтересовали дочку. Погуглили каждое, а когда дошли до кентавра, я в очередной раз задумался — как же он, по мнению создателей, скачет?
Особенно интересны предельные скорости, в большей степени — карьер (помните, «с места в карьер» — это о быстром переходе на этот метод передвижения). В карьере тело животного ритмично сгибается в пояснице, а задние ноги энергично выбрасываются перед передними — обычно в таком положении рисуют зайцев или собак, но лошади так, конечно, тоже бегают.
В карьере человеческая часть кентавра либо должна болтаться, как сосиска, либо очень сильно изгибаться в пояснице, чтобы компенсировать движение. Если это так, то проблемы со спиной кентавру обеспечены.
Может он так вообще не скачет? Но даже в более «щадящих» режимах мне не удаётся визуализировать перед мысленным взором физику процесса — всё время выходит, что человеческая часть спины будет травмироваться.
99 бутылок: Lua
Пока ещё помню язык Луа, который я использовал для написания «Морского боя» в азбуке Морзе, надо бы продолжить им сериал о «99 бутылках пива на стене».
73. Lua — скриптовый язык, который чаще всего применяют для встраивания, например — нередко используют для описания сценариев в играх. Объектная модель прототипная, напоминает ДжаваСкрипт, но в Луа она мощнее.
Язык очень простой, учится элементарно, но при этом довольно мощный.
А вот стандартная библиотека подкачала, простой пример — в ней нет функции задержки, когда она мне понадобилась, пришлось её импортировать из Си. Или есть модуль, который хоть
function beer(b)
if b == 1 then
return '1 bottle'
else
return (b == 0 and 'no' or b) .. ' bottles'
end
end
b = beer(99)
for i = 99, 1, -1 do
print(b .. ' of beer on the wall, ' .. b .. ' of beer.')
b = beer(i - 1)
print('Take one down and pass it around, ' .. b .. ' of beer on the wall.\n')
end
print([[No more bottles of beer on the wall, no more bottles of beer.
Go to the store and buy some more, 99 bottles of beer on the wall.]])Фотозагадка
Вот вам фотозагадка: что за прибор прибит в центре кадра к доске? Для чего он был предназначен и почему в таком состоянии он стал бесполезен?
4 мая 1957 года
Воспользовавшись тем, что самоизоляция теперь носит рекомендательный характер, напросился к одному своему другу на чердак. Провёл сегодня там несколько часов и не зря — много интересных находок, правда всё ещё нужно отмывать и чистить.
Среди всего что нашлось, единственное, что не требует обработки — лист отрывного календаря за 4 мая, который ещё и интригует тем, что на нём не указан год. Давайте попробуем его определить.
Первое, что бросается в глаза — упомянут День печати. 5 мая он праздновался с 1922 по 1991 год, к сожалению это слишком большой разброс. Давайте посмотрим что удастся выудить из остального текста.
Внимание привлекают два факта: Алексей Горький примерно четверть века назад мечтал об открытии «Дома детской книги», и вот его наконец открыли.
В интернете находим, что «Дом детской книги» открылся в 1949 году. В диапазоне 1949—1991 4 мая выпадает на субботу всего пять раз — в 1957, 1963, 1968, 1974 и 1985 годах.
Принимая во внимание, что Горький умер
Так что это лист календаря за 4 мая 1957 года.
Ясно.
Интересно как мессенджеры и прочие чаты влияют на письменный язык —
Но и этого мало! Сейчас появился следующий языковой нюанс — сообщения, написанные по всем правилам, то есть с большой буквы, с точкой в конце, стали восприниматься как более строгие и формальные.
То есть вот тут человек своим «Ясно.» намекает, что он недоволен:
Микитко: я всё сломал, не работало час, но я всё починил ?
Мартын: Ясно.А тут — что принял к сведению, ответ вполне нейтральный:
Конан: макеты выслал, они ещё не ответили
Феофил: ясноА смайлики, кстати, вообще стали необходимым атрибутом письменного разговора, такого не было ещё лет 10—15 назад. Если их не употреблять хотя бы в каждой второй фразе, то собеседник начинает в беспокойстве спрашивать что случилось, почему такой сухой тон.
Возможно это только в России так, мне сложно судить, но эта новая потребность кажется породила вполне логичную экономию: «глаза» и «нос» из смайликов исчезли и вместо
Пряжка
Иногда на фотографиях есть многозначительные детали, которые очень легко упустить из виду, если не знать куда смотреть.

Так выглядела пряжка императорской армии. Иногда на ней были дополнительные элементы, обозначающие род войск
На фотографии ниже солдат русской императорской армии с характерной пряжкой — на ней двуглавый орёл, только вот деталь, — перевёрнутый. Наверное это не очень хорошо заметно, но с иллюстративным материалом на эту тему туговато.
Что это? Разгильдяйство? Случайность? Возможно ни то, ни другое. Есть исследователи, которые утверждают, что так делали некоторые солдаты после Февральской революции — якобы это форма протеста против самодержавия.
Эта подробность позволяет довольно точно датировать некоторые старые фотографии. Причём, даже если не видно рисунок бляхи, иногда удаётся разобрать зацеп ремня — он оказывается с другой стороны.
16 апрѣля 1908 года
Выкладываю последний скан из пачки листов отрывного календаря за 1908 год, найденного на чердаке дома одного моего друга.
Это конец
Вопреки прогнозам иностранных товарищей, у которых всё началось раньше, сидеть дома во время пандемии было не так уж и тягостно. Никаких «кризисов второй недели», «третьей недели» у нас не случилось. Работать было тяжелее, да, но всё
Там сейчас закупаются перчатки, маски, санитайзеры и делаются попытки поставить на рабочих местах пластиковые экраны, как на кассах магазинов. Впрочем экран мне не грозит — у меня отдельный кабинет, а вот печатать на клавиатуре в перчатках — это
До конца непонятно как быть с обедами, кафе в здании вроде работает на вынос, но где сотрудники будут вынесенное поглощать — вопрос. Наша внутренняя столовая маленькая, на весь коллектив там места не найдётся. Разрешить есть на рабочих местах — хоть
Чувства «ну