?

Log in

No account? Create an account
Предыдущий пост Поделиться Следующий пост
(без темы)
sceptic
slobin
Этот вопрос мне задавали в комментариях неоднократно, поэтому объявляю его FAQ:
Кто/что подставляет эти забавные строчки в конце моих постов? Почему иногда они получаются настолько в тему?

Эти строчки -- Наглядная Манифестация Диалектического Единства Слепой Судьбы и Свободы Выбора. Сначала простенький скрипт на Питоне извлекает из файла fortune.txt от четырёх до десяти случайно выбранных строк и кидает их в буфер, а потом я уже сам выбираю из них ту, которая мне кажется наиболее подходящей к теме послания. Исключения бывают, но очень редко.

Для любопытных: скрипт на Питоне

import os, sys, random

format = "<p><em>... %s ...</em>\n"

cookies = open(sys.argv[1]).readlines()
cookies = random.sample(cookies, random.randint(4, 10))
cookies = [format % line.rstrip() for line in cookies]

pipe = os.popen("winclip -c", "w")
pipe.writelines(cookies)
pipe.close()

Update:

Для любопытных: теперь на Лиспе

(setq input (read-file (main-args 2)))
(setq markup "<p><em>... %s ...</em>")
(seed (time-of-day))

(setq cookies (clean empty? (parse input "\r\n")))
(setq cookies (0 (+ 4 (rand 7)) (randomize cookies)))
(setq cookies (map (curry format markup) cookies))

(exec "winclip -c -w" (join cookies "\r\n" true))
(exit)

Update:

Для любопытных: или даже на шелле

shuf "$@" -n `shuf -i 4-10 -n 1` | sed 's/.*/<p><em>... & ...<\/em>/' |
xclip -sel clip

Размер файла на текущий момент -- 598 строк. 500 строк было 196 дней назад, что даёт скорость роста 1/2 строки в день ровно. Но эта скорость непостоянна -- файл старше, чем три с небольшим года. В принципе строки из файла иногда выкидываются, но это бывает крайне редко. В файле есть строки на двенадцати языках.

Для любопытных: статистика по языкам

Русский      489
Ложбан        50
Английский    32
Квэнья         5

Латынь         3
Немецкий       3

Силиэ          2
Халонский      2
Эсперанто      2

Испанский      1
Клингон        1
Санскрит       1

Непонятно      7

Update:

Для любопытных: более свежие данные

Русский      625
Ложбан        55
Английский    46
Латынь        10

Немецкий       6
Эсперанто      6

Квэнья         5

Логлан         3
Халонский      3

Клингон        2
Силиэ          2

Испанский      1
Санскрит       1
Украинский     1

Непонятно     11

Данные от 2008.11.26, всего 777 строк, 179 строк за 481 день, 0.37 строки в день, самый большой относительный рост у латыни.

Я не знаю, как эти строчки правильно называются. Ориджины, тэглайны, фортунки, куки, наконец, просто подписи. Популярное мнение, что эта традиция зародилась в ФИДО, неверно -- в интернете она была гораздо раньше ("интернет" не равно "паутина", жизнь была задолго до html/http).

Update:

Для любопытных: ссылки на литературу

http://catb.org/jargon/html/C/cookie.html
http://catb.org/jargon/html/C/cookie-bear.html
http://catb.org/jargon/html/C/cookie-file.html
http://catb.org/jargon/html/C/cookie-jar.html
http://catb.org/jargon/html/C/cookie-monster.html
http://catb.org/jargon/html/F/fool-file.html
http://catb.org/jargon/html/F/fortune-cookie.html
http://catb.org/jargon/html/M/magic-cookie.html
http://catb.org/jargon/html/S/sig-block.html
http://catb.org/jargon/html/S/sig-virus.html
http://catb.org/jargon/html/S/sigmonster.html

Если читать всё лень или некогда, достаточно ограничиться первой и последней ссылками.

... В двадцать первом веке, в самом начале ...

Метки: , ,

  • 1
"- в интернете она была гораздо раньше"

почему в интернете? в ос какой-то это было вообще до сетей каких-либо.

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

... Приходит миг, приходит срок - и рвётся связь ...


только что дошло - это ж от fortune cookies ведёт происхождение! а браузерные куки - они оттуда же получили имя?

Я прекрасно понимаю путь от кулинарного пирожного в китайском ресторане до цитаты при логине или в конце письма.

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

А я думала ты сам их сочиняешь... Блин...
Куда не плюнь, одни программеры:)

Сигнатурные монстры питаются печеньем? ;)

В Дебиане только что добавили новый пакет fortunes-ru.deb, который основан на коллекциях фортунок со страницы http://jack.kiev.ua/content/view/8/9/lang,ru/

Отказать. Свою коллекцию я собирал с любовью и старанием, у меня с каждой строчкой связаны тёплые воспоминания. Впрочем, если уж играть в эти игры, то, наверное, найдётся пара строк, обстоятельств и мотивов внесения которых я не помню. Но ведь это само по себе интересно -- строчка есть, а соответствующего воспоминания нет! Этот факт сам по себе -- достаточное основание её сохранить. ;-)

... В окна врывается ветер прощаний и встреч ...


Можно туда добавить Вашу коллекцию ;-)

Кстати, еще есть неплохой источник пополнения фортунок - из сборника, используемого в качестве эпиграфов на сайте cooler-online.com.

A еще помню, была такая досовская резидентная программка talker.com, которая выдавала из файла talker.msg разные прикольные ответы на команды.

fortune из AT&T Unix Version 7

(Анонимно)
"- в интернете она была гораздо раньше"

Было гораздо раньше интернета! Ибо программа fortune была уже в Unix version 7 (1979), а интернет (BSD 4.2) появился на пять лет позже (1984)

http://en.wikipedia.org/wiki/Fortune_(program)
A fortune program first appeared in Version 7 Unix. The most common version on modern systems is the BSD fortune, originally written by Ken Arnold.

А для Greasemonkey это никак нельзя адаптировать? Очень уж соблазнительная штука.

Да в принципе можно, но нафига? Работает и ладно. Правда, насколько я помню, грисманкины скрипты не умеют читать файлы с диска, поэтому весь запас фортунок придётся держать в его собственной персистентной памяти и редактировать через формочку. Не говоря уже о том, что вдруг я пишу в ЖЖ из Эксплорера? Геморроя больше, удобства меньше. Разве что на спор. ;-)

... Засiб гарний!... Але мета ...


Разве что на спор. ;-)

Типа такого: Значит слабо?:))
Неловко шучу.
Просто я совсем не понимаю, как мне, в том виде как он есть, заставить его работать у себя. Но если адаптация под GM такое хлопотное дело, то что ж ...

Я опять пришел:) Если будет время ответьте, пожалуйста, на несколько вопросов.

Установил Python -> Запускаю IDLE (Python GUI) -> Ctrl+N -> Копирую текст скрипта -> Ctrl+F5 -> Открывается диалоговое окно сохранения. Вопрос: куда сохранять скрипт и с каким расширением?
И второй вопрос, если позволите, где должен находиться файл fortune.txt?
Спасибо.

Эээ... Извините, но при таком уровне понимания это, видимо, безнадёжная задача. Просто бывает, что программы публикуют, чтобы ими пользовались. "Поставил -- работает", пользователь не обязан понимать деталей. А бывает, что отрывок кода выкладывают для того, чтобы другие программисты на него посмотрели и что-то из него поняли. Эти скрипты (что на питоне, что на лиспе) не были рассчитаны на работу в руках посторонних, это скорее была демонстрация возможностей для тех, кто способен их прочитать. Я буду объяснять Вам, как его запустить, гораздо дольше, чем писался сам скрипт. Извините.

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

... За всю привязанность к сортам дешёвых вин ...


Понятно. Прошу прощения за то, что отнял время.

> Сначала простенький скрипт на Питоне извлекает из файла fortune.txt от четырёх до десяти случайно выбранных строк и кидает их в буфер, а потом я уже сам выбираю из них ту, которая мне кажется наиболее подходящей к теме послания.

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

Прошу прощения, но в списке принятых в этом журнале языков обнаружил два «Силиэ» и «Халонский» с которыми даже Гугл не помог, т.е. выдаёт ссылки на этот пост или предлагает исправить написание.
Просветите, пожалуйста.
(Ещё был неизвестный мне ранее ложбан, но о нём информации оказалось довольно много. Спасибо, интересно).

Как Вы, должно быть, заметили, в списке довольно много языков придуманных. Про Эсперанто, Квенью, Клингон, Логлан и теперь вот Ложбан Вы знаете. Силиэ и Халонский тоже придуманные, но никогда широко не публиковались и известны в узком кругу ограниченных лиц. Силиэ используется автором в её фантастических и фэнтези произведениях, написано несколько стихов. Подозреваю, что никто больше его не знает. Халонский был придуман для использования на ролевой игре и, что удивительно, действительно был на ней использован. Полагаю, несколько человек способно на нём изъясняться на уровне "моя твоя не понимай", и с энтузиазмом хором петь припев, когда песню целиком исполняет автор. ;-)

... Fraxinum rogaveram: Ubi est carissima? ...


Я ничего не поняла, зато с гордостью могу сказать, что язык программирования Питон (это же язык программирования, извините мой французский?) назван в честь "Монти Пайтонов" ;)

Спасибо за эсперанто, где его еще теперь встретишь

  • 1