Надписи на школьной доске, которой около 100 лет

Школьная доска (111.57КиБ)

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

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

Как при помощи этого круга можно было изучать умножение, может у кого-то есть какие-нибудь идеи?

4 комментария

Как Битюцкий стал Желязны

Если возьмешь издание «Осириса», том Желязны, перевернешь заднюю сторону обложки, то ты увидишь рассказ под названием «Когда расцветают бомбы». Так вот я тебе скажу, что это не Желязны. Это Битюцкий.

Я потратил на это дело пять лет расследования. История проста до безобразия: в 1982 в ростовском КЛФ «Притяжение» начинают печататься различные рассказы ребят-клубников. В многотиражке какого-то завода у Битюцкого выходит рассказ, который называется «Когда расцветают бомбы». В газетном тираже. Битюцкий его привозит в 1982 на «Аэлиту» [в 1983 — ЮЗ], и, естественно, раздает: «Вот публикация, вот новая фантастика…». Все классно. Этот рассказ питерские фэны увозят к себе. А тогда были распространены самопальные переводы, «самопалы», «ФЛП», «ЛПФ», что угодно… Я называю это ФЛП — «фантастика любительского перевода», это более благозвучно, чем «любительский перевод фантастики»… ФЛП — это более удачная аббревиатура…

Я «дернул за хвост», в различные годы, Кишинев, Одессу, Москву и Питер — потому что ко мне попадает сборник рассказов Желязны в самопальном переводе из Одессы, с просьбой передать его в Кишинев. Я просматриваю эту подборку, и в этом сборнике, отпечатанном на машинке, среди всех рассказов нахожу рассказ «Когда расцветают бомбы». Я охреневаю от этого всего, думаю: «Классно! Это же наши ребята, у меня же газета есть…»

Начинаю выяснять у одессита: «Откуда у тебя этот сборник?» «А мне, — отвечает, — москвичи передали…»

Ладно, хорошо. В Москве тогда печатали самопальный «Золотой фонд фантастики»… И тогда я москвичей дернул, говорю: «Кто сделал?» Они говорят: «Как — кто? Мы его в Питере выменяли».

Я ловлю ребят из Питера: «Кто, — говорю, — сделал?» Отвечают: «Это не я!» Я говорю: «Я знаю, что в Питере самопальные сборники делают три человека. Кто?..» «Нет, это не я… Это вообще без меня… Это он!»

Ладно, берусь за того: «Кто? — говорю. — Как ты мог такое сделать?» «Ты понимаешь, — он мне отвечает, — объем обмена ФЛП — 300 страниц, а я набил рассказов на 250 страниц, у меня не хватало 50 страниц текста… А рассказ Битюцкого хороший, он очень хорошо вписывается в систему Желязны… Я его просто взял из газеты, и передул на машинку… И все».

А когда Центрполиграф начал печатать серию «Осирис» — а в книге указано «перевод с английского» — они просто тупо брали самопальную распечатку и гнали ее в тираж. И вот так рассказ Желязны попал из ФЛП в книгу. И когда я через два года встречаю Битюцкого и говорю: «Сережа, я рад приветствовать мистера Желязны на русской земле! Я тебя поздравляю», — ну, и все такое прочее… Говорю: «Ну, сходи в Центрполиграф, попроси у них английское издание этого рассказа, пусть они покажут!» А он мне: «Да брось ты…»

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

4 комментария

䶵

Самый сложный иероглиф в китайском (из тех что есть в юникодных шрифтах) содержит 27 черт — 17 черт ключа (тематического классификатора сложного иероглифа) и 10 черт его второй части. Выглядит он вот так: «䶵» и означает особую флейту с семью отверстиями.

7 комментариев

Пульс покоя

Пульс покоя (17.12КиБ)

Неожиданно обнаружил, что мои фитнесс-часы измеряют ещё и пульс покоя. Они понимают когда я просыпаюсь и измеряют пульс в это время. Я проездил на велосипеде немножко в конце апреля (16 км) и весь май (почти 400 км), за это время упомянутый показатель у меня снизился с 75 ударов в минуту до 66.

9 комментариев

Ландау и алкоголь

Вскоре после завтрака пришел главврач, выслушав и осмотрев Дау, он совсем успокоился, заявив: «Вы перенесли столько страшных травм, а сердце как у двадцатилетнего парня. Ваши легкие, разорванные сломанными ребрами, не дают хрипов! Вы просто железный человек!».

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

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

Диалог с чешским врачом Яном Ишем из книги Коры Ландау-Дробанцевой «Академик Ландау. Как мы жили». Описывается восстановление великого советского физика после страшной автокатастрофы, в которую он попал.

Кстати, советую прочитать книгу, про физику там почти ничего, Кора, жена Ландау, описывает его жизнь так, как видела её она — бытовые вещи, его (довольно необычные) взгляды на брак, общение с друзьями, всеобщее почитание и так далее. Очень жаль, что я мало знаю об этом удивительном человеке, заполняю пробел.

18 комментариев

Радио-86РК

Винтажный советский компьютер «Агат» с клавиатурой, функциональными клавишами и синим разъёмом на кремовом корпусе, лежащий на деревянном полу.
Радио-86РК

На снимке — «Радио-86РК», ровно тот самый на котором в 1989 году я научился программировать. Сначала на каком-то «Бейсике», потом на ассемблере. Сегодня родители привезли его из Лениногорска — все эти годы он где-то пылился у дяди, который его и собрал когда-то (компьютер промышленно не производился, предназначался для самостоятельной сборки).

В понедельник отдам в музейчик ИТИС — это высшая школа при КФУ. Её директор и мой хороший знакомый Айрат Хасьянов собирает для студентов небольшую экспозицию старой компьютерной техники.

Компьютер включается, загораются лампочки, но подключение к телевизору ничего не дало, то ли компьютер сломан, то ли я делаю что-то не так.

На борту «Радио-86РК» — 2КБ ПЗУ, 16 или 32КБ ОЗУ и процессор — функциональный аналог i8080A. Экран — чёрно-белый, с алфавитно-цифровым режимом отображения. Загрузка программ производилась с магнитофона (в те времена — с бобинного, у нас с братишкой была персональная бобина с нашими программами, кажется даже не одна).

Кстати, в сети есть эмулятор этого компьютера на ДжаваСкрипте, можно посмотреть в какие игры мы тогда играли.

12 комментариев

100км

100 км на велике (576.82КиБ)

Достиг поставленной цели — проехал 100 км на велосипеде. Ноги довольно ощутимо болят.

8 комментариев

Опции просмотрщика PDF в Chrome

Многие, наверное, знают что у плагина Эдоуби для просмотра ПДФ есть специальные параметры, которые передаются фрагментом в урле. Эдоуби публиковала эти параметры в разных документах, а теперь они собраны в специальном ЭрЭфСи под номером 3778.

Я для интереса попробовал эти параметры в «Хроме» (там собственный просмотрщик, поэтому я не удивился бы, если бы они не сработали) и оказалось, что три из них всё же работают:

# увеличение на 50%
http://example.org/sample.pdf#zoom=50
# переход к странице №2
http://example.org/sample.pdf#page=2
# переход к главе «Chapter»
http://example.org/sample.pdf#nameddest=Chapter

Подробнее можно прочитать ЭрЭфСи (в частности, в «zoom» можно указать ещё два параметра). Так же параметры можно комбинировать, это тоже работает — если указать их через амперсанд.

4 комментария

JBIG2

У нас в документообороте всё больше используется формат ПДФ, но с ним есть проблема — документы из некоторых сторонних организаций к нашим клиентам приходят на бумаге, по факсу или каким-то ещё подобным способом, причём объём такой корреспонденции незначительным назвать трудно.

Пока мы такие документы помещаем в ПДФ сканами в хорошем качестве в формате ДжПЕГ. Увы, это довольно расточительно. К счастью, ПДФ поддерживает не один, а целых три формата графики — ДжПЕГ, ДжПЕГ 2000 и ДжБИГ2. На последний я возлагал большие надежды.

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

Ошибки JBIG2 (34.98КиБ)

К сожалению, у формата есть серьёзный недостаток, на который я тут же и наткнулся.

Алгоритм устроен так, что он подбирает не просто одинаковые символы, а похожие. Это разумно — принтеры печатают неравномерно из-за бумаги и тонера, при сканировании вносятся искажения, а при передаче факсом их становится ещё больше. Вот тут и приходит беда — кодек может перепутать похожие, но разные символы, что для документа совершенно недопустимо.

Посмотрите, у меня на скриншоте выше — оригинальный ПДФ (слева) и ПДФ, где графика перекодирована в ДжБИГ2. Как видно при кодировании были перепутаны «п» и «и», «п» и «н». Для слов в документах может это ещё и не смертельно, но для цифр в суммах — беда.

Мне неясно можно ли что-то сделать в этом месте, возможно можно подредактировать кодек так, чтобы он реагировал только на 100% совпадение, но тогда, скорее всего, пропадёт всякий смысл использовать ДжБИГ2.

Остаётся ещё вариант с ДжПЕГом 2000, но с ним возможно, выигрыш будет столь незначительным, что затраты на конвертацию просто не окупятся.

18 комментариев

Подарок от бывших коллег

250ГБ в подарок (22.37КиБ)

«Яндекс.Диск» сделал подарок — всем бывшим коллегам подарили по 250ГБ места. Очень приятно, спасибо!

Правда сообщение ещё не успели поправить — раньше дополнительные 250 давали пока работаешь в «Яндексе».

4 комментария

99 бутылок пива на «Электронике МК85»

«Электроника МК85» и «99 бутылок пива» (86.34КиБ)

56. БЭЙСИК «Электроники МК85». Как я уже сказал, Бейсик (в руководстве он называется «БЭЙСИК») на «МК85» отличается странностями. Например, там фиксированное количество переменных с определёнными (только однобуквенными именами), причём только одна строковая переменная может содержать не более 30 символов (её имя — символ доллара), остальные могут содержать не более семи символов.

Или запись массивов — все числовые переменные, по сути, являют собой один массив. Индекс «один» массива с именем «А» совпадает с переменной «B», а индекс «два» переменной «B» — это переменная «D» и так далее. Так что вы можете использовать что-то одно — либо массив полностью, либо переменные.

Другая неприятная особенность — небольшой максимальный размер строки и программы и весьма ограниченный её размер. Из-за этого принято лепить программу как можно более компактно (что я и сделал).

В общем, представляю вашему вниманию программу «99 бутылок пива на стене», написанную на БЭЙСИКе микрокомпьютера «Электроника МК-85», я запускал, работает:

10FOR B=99 TO 1 STEP -1
20A=B:GOSUB90:PRINT" of beer on the wall, ";:GOSUB90:PRINT"."
30PRINT"Take one down and pass it around, ";:A=B-1:GOSUB90
40PRINT" of beer on the wall."
50NEXT B
60PRINT"No more bottles of beer on the wall, no more bottles of beer."
70PRINT"Go to the store and buy some more, 99 bottles of beer on the wall."
80END
90GOTO100*(SGN(A-1)+2)
100PRINT"no bottles";:RETURN
200PRINT"1 bottle";:RETURN
300PRINT A;" bottles";:RETURN

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

Ещё одна особенность — программируемый символ. Один символ, имеющий специальный код можно нарисовать попиксельно. Завтра попробую побаловаться.

4 комментария

Электроника МК85

Рабочий стол с ноутбуком, оранжевым мультиметром, советским микрокалькулятором «Электроника МК 85» с надписью «Подорож А.Н.», инструментами, паяльником и деталями.
Электроника МК-85

Был в гостях у братишки, нашёл свой старый микрокомпьютер «Электроника МК85» 1992 года выпуска. Когда-то я на нём довольно бодро программировал (внутри встроен некий странноватый диалект «Бейсика») и даже зарабатывал.

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

Блок питания, к сожалению, потерян, но сохранились чехол (на фото слева) и само устройство. От батареек для лазерной указки микрокомпьютер не заработал (несмотря на уверения анонимов из интернета), зато заработал от УСБ-порта «Мака», правда на пределе яркости. На фото результат выполнения недокументированной команды «WHO» (выводит «Программу разработал Подоров А. Н.»).

Внешний вид «МК85» был полностью скопирован с калькулятора фирмы «Касио», но внутренности сильно различались. Например, в «каське» стоял четырёхразрядный процессор, а в «МК85» — шестнадцатиразрядный Т36ВМ1-2 (он же — КА1013ВМ2). Для тех лет это был настоящий прорыв.

Насколько я понял из информации в интернете, максимальная частота процессора внутри этого микрокомпьютера — 2МГц (два мегагерца), видимо это в режиме «турбо», который включался нажатием кнопки «плюс» при включении. Но и в этом режиме, насколько я помню, быстродействие было невысоким, что, правда, не омрачало моей радости от обладания одним из первых КПК.

Попробую завтра попрограммировать, если все кнопки там ещё работают.

4 комментария

Itertools для PHP: продолжение

Библиотеку itertools для ПХП я всё же переписал: теперь на вход всем функциям можно передавать что угодно итерируемое. Из ограничений осталось только два: функция iter в моём варианте принимает только один аргумент, а у функций product и izip_longest последний аргумент является обязательным.

Вот, кстати, как переписывается программка итерстрип, написанная мной семь лет назад на «Пайтоне», теперь её можно повторить на ПХП почти один-в-один:

require 'itertools.php';
use function itertools\groupby, itertools\xrange, itertools\chain, itertools\repeat;

function ntrim($letter, $n=3, $replby=1)
{
    $shrink_groups = function($letter, $n) {
        foreach (groupby(chain(repeat('', $n), $letter, repeat('', $n))) as list($item, $grp)) {
            $grp = iterator_to_array($grp);

            yield $item || sizeof($grp) < $n ? $grp : '';
        }
    };

    return array_slice(iterator_to_array(chain(...$shrink_groups($letter, $n))), $replby, -$replby);
}

print_r(ntrim(['', 1, 2, 3, '', '', '', '', 4, '', '']));

Увы, на ПХП всё ещё не так компактно (из-за отсутствия генераторных выражений), но уже очень близко.

4 комментария

Upsert в PostgreSQL

Ура, появился коммит, добавляющий к оператору INSERT «Постгреса» конструкцию, которая позволяет использовать его как upsert (в «Оракле» это конструкция MERGE, в «Майэскуэеле» — INSERT… ON DUPLICATE KEY UPDATE):

-- Обновить, если не удалась вставка
INSERT INTO distributors AS d (did, dname) VALUES (8, 'Anvil Distribution')
ON CONFLICT (did) DO UPDATE
SET dname = EXCLUDED.dname || ' (formerly ' || d.dname || ')'
WHERE d.zipcode != '21201';

-- Если не удалась вставка, ничего не делать
INSERT INTO distributors (did, dname) VALUES (10, 'Conrad International')
ON CONFLICT (did) WHERE is_active DO NOTHING;

Счастье-то какое!

5 комментариев

Itertools для PHP

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

В прошлом, программируя на «Пайтоне» я не раз восторгался модулем itertools и тем как «Пайтон» легко позволяет обращаться с генераторами — есть несколько способов, хорошее разнообразие.

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

Пример использования ниже (для запуска примера и работы библиотеки требуется ПХП 5.6 и выше):

require 'itertools.php';

use function itertools\islice, itertools\cycle, itertools\iter;

foreach (islice(cycle(iter("ABC")), 10) as $el) {
    echo $el;
}

От оригинальной библиотеки несколько отличий.

Во-первых, все функции принимают на вход в соответствующих параметрах только что-то итерируемое. В «Пайтоне» проще — там, например, строки и массивы — итерируемые, ну а в ПХП — нет. Поэтому передаваемые на итерацию примитивные типы придётся оборачивать в специальный вызов iter. Можно было бы делать это внутри функций, но в таком случае перестало бы работать указание типа, мне не хотелось бы на это идти.

Во-вторых, в «пакет» добавлены несколько полезных функций, которые входят в ядро «Пайтона» — iter, slice, enumerate и xrange, работают они так же, как и в «Пайтоне».

В-третьих, поскольку у ПХП нет возможности именовать параметры при вызове, у фунций product и izip_longest изменён порядок аргументов. От этого тоже можно было бы избавиться, потерей указаний типов в прототипе, но я, опять же, не стал этого делать.

Если не заброшу библиотеку, то, возможно, всё-таки откажусь от указания типов и приведу всё к более совместимому виду.

19 комментариев

Личный пост Евгения Дорохина

Дорохин Евгений (51.60КиБ)

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

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

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

В общем, последнее я вкратце изложил этому типчику.

В ответной речи Евгений раскрыл своё незамутнённое видение мира — оказывается, раз ты разработчик, то обязан всем и каждому рассказать что и как работает, хоть тебя ночью разбуди, ответить на все вопросы и адаптировать свою программу для Тюмени, а то Дорохину неудобно качать его шесть деревень.

Для меня просто параллельная Вселенная открылась. Буду ждать оттуда ещё каких-нибудь новостей. Евгений, я вам, как видите, даже пост отдельный создал. Всё для вашего удобства. Порадуйте меня чем-нибудь ещё таким, ну, как вы умеете, не лебезя.

22 комментария

Нельзя цитировать?

Очень часто встречаю в электронных изданиях книг следующие или похожие вводные от издательства:

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

В данном случае цитирую текст «Астрель-СПб» (начало книги Павла Рудича «Не уверен — не умирай! Записки нейрохирурга»).

Во-первых, каждое слово русского языка, используемое в этой книге, является её частью. Должен ли я просить письменного разрешения владельца авторских прав этой книги? Если нет, то возможно нужно просить за целые предложения?

Во-вторых, есть несколько случаев, когда цитирование разрешено законом. Например, в данном случае я пользуюсь статьёй 1274 Гражданского кодекса, которая позволяет мне использовать цитирование с целью ведения полемики.

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

6 комментариев

Жизнь учительницы Шмелёвой в 1951 году

Учительская газета (87.90КиБ)

Фото из Музея счастливого детства, который мы недавно посетили с женой. Находится в Казани на Университетской, 9. Экспозиция немного пустовата, но интересна (остальные фото можно посмотреть в моих альбомах на «Яндекс.Фотках»).

Выше школьная стенгазета «Голос учителя» 1951 года. Там с правой стороны, над рисунком кровати с ковром, написано: «учительница Протопоповской школы Шмелёва сама ещё справляет религиозные обряды и держит иконы в своей квартире».

Оставить комментарий

Тактаки

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

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

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

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

2 комментария

Легенда о порошковом вине

Цитата на тему «порошкового вина», всплывшего в разговоре о безалкогольном вине пару лет назад:

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

— пишет главный редактор портала о вине «Грозди.Ру», Александр Милицкий.

7 комментариев