scholar_vit: (Default)

Когда Дон Кнут приехал в Чехию, его поразил (и порадовал) любопытный факт: расписание на автобусной остановке было набрано шрифтом Computer Modern самого Кнута. Разумеется потому, что оно было сделано в TeXе.

Чехия остается одной из самых TeXизированных стран мира. Не случайно аспирантом именно университета Масарика в Брно был приехавший из социалистического Вьетнама Хан Тхе Тхань: его магистерская диссертация представляла из себя программу pdftex, а докторская — микротипографические расширения к ней. Сейчас в этом университете в TeXе набирают дипломы, расписания занятий, телефонные справочники и многое другое.

Я не понимал, откуда у чехов такая любовь к TeXу. Но наконец Петр Сойка разъяснил эту сову.

В свое время "Хартия 77" доставила чешским диссидентам компьютеры и принтеры для печатания подрывной литературы. Среди прочего на компьютерах была совсем новая тогда программа TeX. Очень быстро диссиденты обнаружили, что напечатанные в ней листовки, брошюры и журналы выглядят куда красивее, чем в других программах, а значит, и убедительнее. К тому же TeX позволял, в отличие от многих распространенных тогда систем, набирать чешский текст со всеми его восточноевропейскими закорючками. Но главным оказалось даже не это, а то, что поскольку TeX плотно паковал слова в строчки, автоматически делая правильные переносы, подпольным типографам было нужно меньше бумаги. Так TeX стал инструментом самиздата.

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

scholar_vit: (knot)

У Брэда ДеЛонга интересное наблюдение из комментариев о том, как много людей в статистике перешли на R. По ссылке оттуда любопытная дискуссия о том, почему R оказалась такой успешной, вместе с лекцией Джона Кука (см. видео ниже). Замечательная цитата Бо Каугилла: "Основное достоинство R - она написана статистиками. Основной недостаток R - она написана статистиками".

Про себя могу сказать, что я в последнее время тоже перешел на R. Если пару лет назад я на работе чаще всего писал файлы с расширением .tex, то теперь это, безусловно, .rnw (для непосвященных: это не значит, что я меньше времени провожу в TeXе: .rnw - это TeXовский файл со вставками на R; его пропускают вначале через R, которая проводит вычисления и рисует картинки, а потом через TeX, который верстает отчет).

Одно из последствий успеха R - широкое распространение относительно экзотических методов статистики. Раньше для того, чтобы напустить на данные нейронную сеть, нужно было потратить кучу времени. Теперь написал две строчки на R - и готово. Это, конечно, очень удобно. С другой стороны, это снижение порога входа неизбежно приводит к параллельному снижению уровня. Аналогичный процесс произошел с дискуссиями в Интернете. Когда-то, чтобы что-то поместить в сети, нужно было более или менее разбираться в том, как работает компьютер, модем, коммуникационные программы и т.д. Сейчас все это от пользователя уже не требуется: сравните интерфейс rn и фейсбука. Что привело к демократизации системы - но и к известному изменению среды. Утрачен элитный статус - со всеми его плюсами и минусами.

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

Read more... )
scholar_vit: (knot)

Пришло сообщение об обновлении TeXовского пакета pfarrei на CTAN. Описание пакета настолько замечательно, что я приведу его полностью.

pfarrei – LATEX support of pastors’ and priests’ work

In “Die TeXnis­che Komödie” (is­sue 1/2013) Chris­tian Justen de­scribed his use of LaTeX in his work as priest (sim­i­lar re­quire­ments may be en­coun­tered in the work of pas­tors and other min­is­ters of re­li­gion). One point was to ar­range A5 pages onto A4 land­scape pa­per, ei­ther side-by-side or as a book­let. Justen made two bash scripts for this job; the pack­age pro­vides one texlua script for both re­quire­ments. (Note that file a5­toa4.tlu should have ex­e­cute per­mis­sions in any in­stal­la­tion.)

Интересно было бы послушать проповеди свящ. Христиана Юстена.

scholar_vit: (Default)

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

Пошаговое прохождение показало, что все начинается с того, что Sweave выдает замечательное предупреждение:

Warning: '01_preparation.rnw' has unknown encoding: assuming Latin-1
Но исходный файл вовсе не в кодировке Latin-1: он обрабатывает полученные из России по-русски данные, и в нем есть процедуры типа
RussianToLevel <-  function(x) {
  x <- as.character(x)
  if (grepl("^нет",x)) return(1)
  if (grepl("^чуть",x)) return(2)
  if (grepl("^незнач",x)) return(3)
  if (grepl("^средн",x)) return(4)
  if (grepl("^сильн",x)) return(5)
  if (grepl("^очень",x)) return(6)
  return(NA)
}
В файле они превратились в такое:
RussianToLevel <-  function(x) {
  x <- as.character(x)
NA
NA
NA
NA
NA
NA
  return(NA)
}
Неудивительно, что на следующем шаге все вылетает.

Ок, вручную понабирал команды R, получил картинки, послал.

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

Почитал логи программистов. Замечательная запись:

[CHANGES IN R VERSION 2.13.2:] Sweave now knows about a few more Windows' encodings (including cp1250 and cp1257) and some inputenx encodings such as koi8-r.

Это случай так называемого вранья. На самом деле все в точности наоборот: раньше Sweave знала про эти кодировки, а именно в версии 2.13.2 перестала их извлекать из файла. Смена inputenc на inputenx не дала результатов.

Ещё немного экспериментов показало, что если указать кодировку явно, Sweave милостиво соглашается работать.

В итоге все вылечилось заменой в Makefile строчек

%.tex: %.rnw
    R CMD Sweave $<

%.R: %.rnw
   R CMD Stangle $<
на строчки
%.tex: %.rnw
    echo "Sweave ('$<', encoding='koi8-r')" | R --slave

%.R: %.rnw
   echo "Stangle ('$<', encoding='koi8-r')" | R --slave

И на что я, спрашивается, потратил день?!

Програм-м-м-мисты...

scholar_vit: (Default)
Stephen Checkoway, Hovav Shacham and Eric Rescorla will present the first TeX-based virus at the next USENIX.

The paper is here.
scholar_vit: (Default)

Прекрасная иллюстрация к тому, что такое настоящий хакер. В последнем номере TUGboat статья Дениса Рёгеля (Denis Roegel, Spheres, great circles and parallels, TUGboat, 30 (1), 80--87, 2009). Он рисовал параллели и большие круги на сфере в программе METAPOST, и для точного построения ему нужна была трехмерная векторная алгебра. Но в METAPOSTе нет типа данных "трехмерный вектор". Рёгель заметил, что программа умеет раскрашивать рисунки, и цвет точки задается тремя параметрами в пространстве rgb (т.е. смешением красного, зеленого и синего). После чего он спокойно пишет:

let vector=color;
let Xp=redpart; let Yp=greenpart; let Zp=bluepart;

def dotproduct (expr Vi, Vj)=
  (Xp(Vi)*Xp(Vj) + Yp(Vi)*Yp(Vj) + Zp(Vi)*Zp(Vj))
enddef;

def vecproduct (expr Vi, Vj) =
  (Yp(Vi)*Zp(Vj)-Zp(Vi)*Yp(Vj),
   Zp(Vi)*Xp(Vj)-Xp(Vi)*Zp(Vj),
   Xp(Vi)*Yp(Vj)-Yp(Vi)*Xp(Vj))
enddef;

def norm(expr V) = sqrt(dotproduct(V,V)) enddef;
def normed(expr V) = (V/norm(V)) enddef;

и дальше строит свои чертежи.

Вот это и есть Настоящее Хакерство(TM).

scholar_vit: (Default)

К вот этому.

В программировании на TeXе есть несколько стадий. На первой ты не можешь написать код вроде такого:

\ifx\r@LastPage\@undefined
   \def\@tempa{0}%
\else
   \edef\@tempa{\expandafter\@secondoftwo\r@LastPage}%
\fi
\@temptokena=\expandafter{\@tempa}%
\immediate\write\@itcfile{\the\@temptokena}%
На второй стадии ты можешь, но скрипишь зубами. На третьей этот код тебе кажется простым и логичным.

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

scholar_vit: (Default)

Один из распространенных сюжетов в фантастике - это землянин за штурвалом корабля пришельцев. Или наоборот - пришелец за штурвалом корабля землян. Решался он по-разному: от космической оперы ("Джон слегка нажал на педаль, и мощный корабль послушно лег на курс к далекой Земле") до юмористических вещей (масса примеров есть у Шекли, Пола Андерсона и других классиков "золотого века"). Гораздо меньше фантастов задумывалось над тем, что система управления - это отражение нашего мозга, нашей биологии, физиологии, нашей истории. Чужая машина нам будет прежде всего непонятна. Даже если мы сможем как-то заставить её слушаться наших приказов, это будет сопряжено с ежеминутным насилием над собственным мыслительным аппаратом. Нам нужно будет заставлять себя думать как какой-нибудь марсианский богомол.

Но зачем обращаться к фантастике? Разница между людьми тоже немала. В особенности когда речь идёт об "обычных людях" и гениях; я иногда подозреваю, что гении думают не просто лучше нас - а по-другому. Есть тонкая грань между талантом и гением. Талант - это "как мы, только лучше", а гений - это совсем другое, это иное существо. Было бы очень интересно понять, как отличается мое мышление от мышления другого (тем более - гения!) - хоть одним глазом подсмотреть. Но тут есть большая проблема. Read more... )

scholar_vit: (Default)

В [livejournal.com profile] ru_tex завязалась любопытная дискуссия. Как мне кажется, она многое говорит о том, как воспринимается закон, правопорядок - и порядочность. Эти вопросы, однако, выходят за рамки тематики сообщества [livejournal.com profile] ru_tex, поэтому поговорю о них тут.

Read more... )
scholar_vit: (Default)

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

Read more... )
scholar_vit: (Default)
Получил e-mail из Уганды. В отличие от нигерийских писем, в нём не содержалось никаких заманчивых предложений, а были вовсе вопросы по LaTeXу. Правда, выглядело это странно: человек не представился, не сказал ни "спасибо", ни "пожалуйста", а без предисловий взял быка за рога: "Как мне сделать в LaTeXе это и это?"

Ответил, конечно.

Profile

scholar_vit: (Default)
scholar_vit

June 2017

S M T W T F S
    12 3
45678 910
11 121314151617
18192021222324
2526 27282930 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 27th, 2017 01:53 pm
Powered by Dreamwidth Studios