Как оформить диплом в LaTeX?



94 коммент.
Ниже я намереваюсь конспективно дать ответ на этот сакраментальный вопрос всех начинающих латехников: "так куды лошадь-то запрягать!?". Конкретно: как оформить диплом или сделать курсовик в LaTeX?
Здесь не будет сотен страниц ненужной белиберды вроде "набора стихов" и "формул в шесть этажей".

Изложение ведётся конспективно, с упором на физиков и их конкретные LaTeXнические проблемы. Написанию диплома в латехе посвящена серия статей об использовании основных команд LaTeX для написания несложной технической документации. Другие материалы по LaTeX можно посмотреть, кликнув на тег ЛаТеХ.
Читать далее

Макс Спевак в МИФИ, и немного о Fedora Linux



20 коммент.
К нам в МИФИ заглянул на огонёк не кто-нибудь, а бывший лидер проекта Fedora Linux Макс Спевак (Max Spevack). И хотя я, как и многие присутствовавшие на этом мероприятии, пользователь Debian, было интересно послушать, что же он расскажет нам. Заглянул он не один, а в компании представителя проекта Russian Fedora, который оказался весьма весёлым и внёс большую долю оживления в эту и без того неформальную встречу. Краткий отчёт о мероприятии предлагается вашему вниманию.


Небольшое предисловие
Встреча продлилась в общем около двух часов, и большую её часть мне удалось конспективно записать. Если честно, удалось бы сделать и больше (а встреча могла бы быть короче), если бы в дело не вступился явно непрофессиональный местный толмач Немчин, который имеет отношение к MePHI LUG. И хотя на вопрос Макса "Ребята, как у вас с английским?" почти все подняли руки, что понимают нормально, зачем-то потребовался "переводчик"... На записи вы его обязательно услышите, поэтому просьба снисходительно к нему отнестись.


Встреча с Fedora

Итак, всё началось, и после короткого анонса вышел на сцену сам Макс Спевак, в чёрной шляпе. Вот он:


Он объяснил, почему он приехал именно к нам, в МИФИ. В общем, понятно: многие вещи родились именно в университетских стенах, начиная с UNIX и заканчивая небольшим проектом одного финского студента Торвальдса. В университетах всегда есть некоторое количество талантливой молодёжи, которая отзывается на новизну быстрее более консервативных профессоров. Поэтому у проекта Fedora есть желание направить энергию молодёжи на пользу сообществу.

Мысль о том, что наработки русскоязычного сообщества Федора нужно активнее продвигать в общефедоровское сообщество, Макс развивал очень последовательно, наглядно и с примерами.

Для начала Макс спросил присутствующих, сколько из нас использует Linux постоянно. Выяснилось, что более половины. Забавно, но большинство присутствующих оказались пользователями Debian, а федоровцев пришло немного. Это Макса не смутило. Потом он поинтересовался у публики, сколько из нас что-то отдали сообществу - имелось в виду документация, помощь на форумах (не говоря уже о коде). Он был приятно удивлён тем, что таковых нашлось около трети - по его опыту проведения подобных мероприятий, таковых обычно 5-10%. Тем с большим увлечением он начал говорить о том, что помочь сообществу может каждый и в Федоре это сделать во многом проще.

Переводчик, тем временем, начал своё чёрное дело - помимо перевода, он присовокуплял к тексту Макса свои идеи, отчего Макс так упарился, что даже снял свою любимую шляпу.


Далее Макс подробнее рассказывал о том, как они строят сообщество вокруг Федора. Сообщество стало большое, и оно постоянно расширяется, однако Макс подчеркнул, что войти в это сообщество могут не только пользователи Федоры - есть, в конце концов, достаточно проектов, которые есть в любом дистрибутиве. Федоровцы, в отличие от Canonical, возвращают наработки обратно в сообщество.

Далее было сказаны слова о том, что многие используют Linux, потому что им нравится философия, стоящая за Открытыми Исходниками. Однако следует уделять внимание и такому факту, что многие, кто делает бизнес, не интересуются философией - им нужен рабочий инструмент. Поэтому поводу Макс подчеркнул, что нам стоит говорить о Linux не только инженерам и технарям, но и бизнесменам, если приходится.

Был приведён конкретный пример. Вот есть Microsoft Windows XP, которая вышла в 2001 году. Тогда был RedHat Linux 6.1. И вот есть Windows Vista - компании Microsoft потребовалось 7 лет (!), чтобы сделать нечто работоспособное. И это не тот способ, которым делаются инновации, подчёркивает Макс.
Теперь можно сравнить с RedHat: за то же время было выпущено 6-7 версий, с такими интересными и перспективными технологиями, как Compiz.

Говоря о проприетарных технологиях, следует упомянуть Dell. Оказалось, что после выхода Vista, компания Dell была завалена жалобами и рекламациями по поводу того, что на их компьютеры следует ставить XP или Linux, но вовсе не Висту. Их потребители отказались от Windows Vista, и, идя на встречу пользователям, часть компьютеров продавались с одним из дистрибутивов Linux.

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


О сообществах
Для того, чтобы войти в федоровское сообщество, сделано всё возможное - никакой строгой иерархии в Федоре нет, кто угодно может
стать участником. По этому поводу Макс рассказал забавную историю.

Был один парень, который хотел поучаствовать в сообществе Федора и внести свой вклад в развитие дистрибутива. Обычно, когда новые участники приходят, они пишут письма в списки рассылки. В середине 2007 мы получили письмо, которое написал простой парень по имени Рикки - он хотел поддерживать инфраструктуру серверов Федоры, и для начала разработать новый сайт с лучшим usability. В письме Рикки написал, что он студент. В общем, ничего удивительного в этом не было, так как в сообществе Федора очень много студентов, которые пишут документацию для проекта или помогают развивать пользовательские приложения. И этот парень переделал многое в сайте, написал код для автоматического перевода страницы на другой язык. В общем, Рикки внёс очень большой вклад, и он вложился в то, что будет видеть любой зашедший на федоровский сайт. Рикки хотел сделать хороший сайт для Федоры, и он задался целью. Один человек сделал то, чего он хотел и помог проекту.

Макс подчеркнул, что любой может сделать большой вклад в проект, это достижимо только в ОпенСорсе. Но история на этом не заканчивается.
Мы пригласили Рикки к нам, в главный офис РедХата, там было 2000 людей, провести вместе выходные. РедХатовцы были готовы оплатить перелёт, проживание и всё остальное, но Рикки приехал сам, благо жил не далеко. Планировалось провести время неформально, с распитием пива и дружеским общением. И вот он пришел. Пришёл с мамой - ему 16 лет, а в США очень строгие законы насчёт того, с какого возраста можно употреблять алкоголь. Так вот его мама сказала: слушай, Рикки, ты конечно иди, но позвони нам и мы тебя заберём на машине до того, как все остальные напьются :-)
В общем, Макс подчеркнул, что если кто-то хочет помочь проекту, то это сделать проще, чем многие думают. Не обязательно писать код - есть форумы, блоги, ответы в IRC-каналах и тому подобное. И в этом есть небольшая проблема. Вот есть люди, которые пассивно используют Федору - идут в Гугл, ищут ответы на свои вопросы и, если что-то не работает, просто выбрасывают её и ищут что-то ещё. Есть такие, которые пишут код, статьи и помогают новичкам на форумах. Вот самая большая проблема - перенести больше людей из первой группы во вторую.

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

Вопросы и Ответы
Далее Макс предложил всем собравшимся задавать ему вопросы, чтобы встреча не переросла в лекцию. Вопросов было много, и на некоторые из них Макс честно ответил, что не в курсе.
Говорил про то, что в 10-й Федоре будет новая фичастая система управления пакетами RPM версии 4.6, которую они разрабатывали вместе с Новелл.




Будет улучшена скорость загрузки, планируется до 15-20 секунд. Макс говорит, что в федоровском сообществе бродят задумки типа "загрузка до десктопа - за 5 секунд!".
Прошлись по качеству дистрибутива, которое даже сам Макс осторожно назвал "снижающимся". Пообещал досадные баги типа невозможности поставить Fedora 9 с русской локалью отлавливать до релиза.
Очень интересная мысль прозвучала в ответ на вопрос "что там с закрытыми драйверами?". Макс сказал, что вместо убунтовского подхода (дать пользователю выбор и включить закрытые репозитории), они выбрали другой путь, а именно давить на компанию, чтобы она меняла лицензию. Вот например WiFi - в комплекте дистрибутива нет firmware, и федоровцы решили надавить на Intel, чтобы они сделали лицензию совместимой.
Планируется увеличить число людей, которые работают над драйверами - примерно до 70%. Первыми эти драйвера появятся в Федоре и RHEL, но и в сообщество они так же пойдут, так что воспользоваться ими смогут все. Так же планируется ещё больше фокусироваться на десктопе, привлекая молодёжь стипендиями - пока это планы, как и то, что через 3-4 года у Linux было 30% рынка десктопов.

В общем и целом, встреча произвела очень позитивное впечатление, и будем надеяться, что Максу Спеваку удастся сделать всё им задуманное не только для Fedora Linux, но и помочь остальным дистрибутивам.

P.S. Имеется аудиозапись выступления, одна из частей записывалась микрофоном моего ноутбука - слышны мои энергичные стучания по клавишам и яростные проклятия в адрес переводчика :-) Это есть в формате OGG и занимает около 18Мб. Скачать можно отсюда (OGG, low quality, 18Mb).
Другая запись сделана с мобильного телефона, но её требуется переконвертировать из AMR в OGG - это возможно сделать несколько позже - если нужно (просьба отписываться в комментариях).
Читать далее

Копирайты, авторство в цифровой эпохе и воровство статей



49 коммент.
Этим постом я хочу ещё и ещё раз обратить внимание на тот факт, что текст, размещённый в Интернете, имеет, как правило, своего автора. Автор текста чаще всего получает очень символическое вознаграждение за то, что он создаёт что-то для других: пишет стихи, сочиняет музыку или пишет документацию к программам с открытыми исходниками. А чаще всего не получает ничего, кроме морального удовлетворения и созерцания растущего числа посещений его ресурса. И то, что в этом мире наживы и разгула капитализма есть люди, которые способны что-то делать, не требуя вознаграждения, в общем очень и очень неплохо, правда?


Не все это понимают, к сожалению. В частности, участились случаи наглого воровства текстов без указания авторства и без ссылок на оригинал. Это недопустимо.


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

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

Материалы сайта "Записки дебианщика" написаны virens и доступны на условиях лицензии Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Unported License. Вы можете копировать, распространять, показывать эту работу, и создавать производные работы в некоммерческих целях на условиях

1) обязательной ссылки на автора (virens, http://mydebianblog.blogspot.com/) и

2) распространении любых производных работ на условиях этой же лицензии (ссылка на эту лицензию обязательна!).


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


Дабы не сложилось неправильного мнения: я не против распространения информации, я не против создания на базе моих текстов чего-то нового. Но 1) у текста есть автор, 2) под постом стоит явное требование ссылки, 3) внизу блога есть лицензия, которая говорит, что можно делать с текстом и что нет.

Незнание, как известно, не избавляет от ответственности.

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


Как воспользоваться чужим творением и не отгрести подзатыльников от автора?
Очень просто: достаточно прочитать текст, написанный в самом низу этой страницы ("Лицензия") и немного подумать. Однако процесс мышления
для многих весьма болезненный, поэтому приведу несколько примеров того, как можно воспользоваться чужим текстом и не получить подзатыльник от автора или бан ресурсу в поисковой системе. Итак:
  1. Сделать анонс статьи на своём ресурсе. Например, вы пишете: народ, вон там (активная ссылка!) такая клёвая статья про то-то и то-то. Или просто скопировать начало поста вместе со ссылкой к себе. Это очень хороший способ, так как вы поставили прямую ссылку на пост: если пост изменится (а это бывает часто), то ссылка всё равно будет указывать на статью, и ваши читатели будут иметь самую свежую её версию.
    На всякий случай: активная ссылка в HTML-виде ставится так (например на этот блог):
    <a href="http://mydebianblog.blogspot.com/">Скопировано из блога "Записки дебианщика"</a>

    Получится вот так:Скопировано из блога "Записки дебианщика"
    Все довольны и рады, никаких претензий. Что нам и говорит лицензия Creative Commons: <...>Вы можете копировать, распространять, показывать эту работу, и создавать производные работы в некоммерческих целях на условиях 1) обязательной ссылки на автора <...>
  2. Сделать перевод статьи с иностранного языка. Это сложнее, так как иностранным языком надо владеть на достаточно хорошем уровне. В переведённой статье должна обязательно быть ссылка на оригинал!
    К примеру, в своё время я перевёл одну статью, которая мне была интересна - она тут. Не скажу, чтобы я очень хорошо её перевёл (делалось для сдачи тысяч в институте), но тем не менее. Что нам и говорит лицензия Creative Commons: <...>Вы можете копировать, распространять, показывать эту работу, и создавать производные работы в некоммерческих целях на условиях 1) обязательной ссылки на автора <...>
  3. Переработать или улучшить статью, основываясь на авторском тексте. Вы раскопали чей-то пост в интернете, и он вам понравился. Но написан он, например, небрежно, или с ошибками, или вы видите, что автор не рассмотрел какой-то интересный случай, или автор вообще не понял, зачем программа нужна, а вам она нужна как воздух - пишите свою статью, черпая вдохновение из авторского текста. Но ставьте ссылки, реальное и/или сетевое имя автора (псевдоним), и название статьи! Это есть проявление вашей вежливости вообще и к чужому труду особенно.
    Я никогда особенно не скрывал, что немалая часть постов моего блога написана с использованием материалов других блоггеров или документации к программам; в конце концов, я не являюсь профессиональным разработчиком, а всего лишь пользователем этих программ. Таким образом, часть моих текстов напрямую основана на постах других блоггеров - но, в отличие от многих копипастеров, меня нельзя обвинить в плагиате. Вот вам пример: Евгений Чайкин aka StraNNik в своё время написал коротенький пост про установку LaTeX в Debian. А я как раз думал, как же начать освоение LaTeX и вообще с чего его начать? И тут мне попадается его пост - ба, да это же так просто! И я сделал всё так, как он написал - и у меня всё получилось. Евгению LaTeX был в общем без нужды, о чём он честно и написал далее, а для меня LaTeX стал основным рабочим инструментом. И тут я пишу свою статью об установке LaTeX - частично используя его текст и примеры. Откройте оригинальный пост Евгения и мой в разных вкладках - идея та же, выражена похоже, но автор исходной работы упомянут, ссылки проставлены, претензий нет.
  4. Написать критический отзыв на чужой пост. Например, автор поста, который вы прочитали: а) набросал общих слов в текст, б) не в меру эмоционально разнёс какую-то программу или устройство в пух и перья, в) вы (обоснованно) не согласны с его мнением, г) вы можете решить ту же проблему короче \ проще \ другими инструментами. Это нормально: автор этих строк в частности, в конце концов, тоже человек, а не бесстрастная Фемида, и может что-то ляпнуть сгоряча. Вы же, указав другой пост, можете выразить своё мнение: и вы душу отведёте, и читателям понравится (всегда приятно узнать разные точки зрения).
    Снова пример. Tigro, читая мои посты про эмулятор QEMU, пишет: "А вот VirtualBox - это то, что действительно работает", и приводит свои аргументы в пользу эмулятора VirtualBox. Лично мне и лично для моих задач такое решение не кажется оптимальным, и я привожу аргументы, где работа с QEMU проще и удобнее. И это хорошо! Пусть каждый опишет ту программу, которая ему больше нравится \ более удобна в силу ряда причин: и авторам от этого лучше (в процессе аргументирования оба лучше изучат описываемую программу), и читателям хорошо (авторы пишут подробно и ссылаются друг на друга - можно выбрать то, что лучше подойдёт).
  5. Сделать подкаст или обзор. Например, хотите вы привлечь внимание к своему ресурсу, но писать тексты вам не хочется или нет времени. Это не проблема: обзоры всегда очень и очень ценились. Сделайте подкаст или обзор "что мне понравилось за неделю \ месяц". Описывайте и резюмируйте то, что пишут другие - поверьте, люди с удовольствием вас будут читать! Мало у кого есть время осилить огромный пост, а вы его сделаете выжимку и дадите ссылок - вот, например, как это делается на блоге koldunov.net. И авторы исходных постов довольны, и обозреватели рады, и читатели ходят по ссылкам просто табунами :-)
    Кстати, хотелось обратить внимание вот на какой момент. Сейчас (конец 2008 года) блогов появилось довольно много и эта ниша (тематические блоги) в общем подошла к насыщению, на мой взгляд. А вод хороших обозревателей и тех, кто делает подкасты, совсем мало. Если кто-то из читателей подумывает о том, как реализовать свои творческие порывы - подумайте, а не начать ли вам делать подкасты или обзоры?
  6. Наконец, бросить в кого-нибудь ссылкой в пылу спора. Словесная перебранка в ЛОРовском стиле, конечно, мало конструктивна. Но в религиозных войнах и перебранках есть положительный момент: противоборствующие стороны пытаются найти аргументы и для подкрепления своей правоты и вынуждены искать чьи-то статьи. Ссылка на пост или статью - мощное оружие в деле убеждения оппонента.
    Например, можно просто закидать нечистотами оппонента в ЛОРовском стиле "ты ламо ушастое"/"быдло красноглазое". Но это не конструктивно не убедительно. Лучше так: "Да ваш линукс ставить трудно" - "А вот ссылка, всё подробно расписано" - "Ну вроде как не сложно, а вот программ не разыщешь!" - "А вот тут они, с описанием". Более того, увидев trackback (обратную ссылку), на форум может зайти и автор поста, и внести в обсуждение комментарии или конструктивную критику.
Если очень кратко подвести итог сказанному выше, можно сказать: "ссылки на посты рулят" :-)

В самом деле, воруя посты, вы вредите не только автору, но и (в большей степени) себе: о вашем ресурсе сложится кислое мнение, и поисковики могут перестать на вас ссылаться (если объективно аргументировать воровство статей, можно написать запрос в поисковики с просьбой удалить ресурс из индекса).



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

Если в тексте есть выдранный кусок из чужого поста, хорошо его процитировать: используйте окружение blockquote, и ссылку на оригинал.

<blockquote>
Цитата (попёрто <a href="http://mydebianblog.blogspot.com/"> отсюда </a>):
....
кусок текста, который взяли
....
</blockquote>

Если в части из ваших статей есть либо чужой текст, либо текст официальных проектов, и вы ни разу в тексте на них не ссылаетесь - это есть нарушение лицензии распространения текстов и воровство.

Есть хорошая практика делать в каждой статье раздел "Ссылки" и писать там, что и откуда вы взяли.

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

Управление ядром Linux реального времени - RT-Linux tweaking



9 коммент.
Некоторое время назад я писал о том, как собрать ядро реального времени (Complete Preemption, RT) и какая от него польза в народном хозяйстве (синхронное управление компонентами оптической установки). Для управления процессами в RT-версии ядра Linux есть замечательные утилиты из пакета schedutils.


Привязка задачи к процессору
Если у вас многоядерная или многопроцессорная машина, есть смысл некоторые задачи раскидать по процессорам принудительно. Для этих целей есть программа taskset.
# taskset -p 1 5907
Получаем в ответ:
pid 5907's current affinity mask: 1
pid 5907's new affinity mask: 2
Задача, таким образом, перекинута на второй процессор.


Изменение приоритета процессов
Чтобы задача получила приоритет реального времени, следует выполнить команду:
# chrt -p 6091
В ответ должны получить:
pid 6091's current scheduling policy: SCHED_OTHER
pid 6091's current scheduling priority: 0
Это значит, что задача теперь будет выполняться неотложно, с минимально возможными задержками (важно при точной синхронизации событий - например, открывание и закрывание затвора фотокамеры при работе с импульсным лазером).


Изменение приоритета ввода-вывода
Много задач требуют не только точного интервала исполнения (открывание\закрывание затвора), но и чтобы данные перекачивались как можно быстрее. Для этого можно отдать приоритет ввода-вывода наиболее критичной задаче. Другим задачам можно, наоборот, зарезать на время приоритет обращения к дисковой подсистеме.

Возможно выставить следующие типы приоритетов: Бездействие (Idle), Наилучшая работа (Best effort) и Реальное время (Real time).


Приоритет Idle
Программа с приоритетом idle получит диступ к диску только тогда, когда никакие другие программы к диску не обращаются в течение определённого времени.

Приоритет Best effort
Этот приоритет выбирается по умолчанию для любого процесса, который не требует иного приоритета ввода-вывода. Программы наследуют установки процессорного приоритета для приоритета ввода-вывода, можно так же передавать аргумент от 0 (высокий приоритет) до 7 (низкий приоритет). Ресурсы между приложения с одинаковым приоритетом best effort распределяются по принципу "каждой сестре по серьге".

Приоритет Real time
Задачам с приоритетом реального времени выделяется доступ к диску в первую очередь и вне зависимости от происходящего в системе. Поэтому приоритет реального времени следует использовать осторожно, чтобы не перекрыть кислород другим процессам. Как и в случае приоритета best effort, предусмотрено 8 уровней приоритета, от 0 (высокий приоритет) до 7 (низкий приоритет).

Для выбора приоритета следует указывать параметр -с и значения:
-с1 --- реальное время (real time)
-с2 --- наилучшая работа (best effort)

-с3 --- бездействие (idle)
Для указания параметра приоритета используется ключ -nM, где M - число от 0 (высокий приоритет) до 7 (низкий приоритет).

Например, чтобы задать приоритет реального времени с высшим приоритетом для ввода-вывода приложения с идентификатором
# ionice -c1 -n0 -p5812
После этого приложению уже никто не помешает монопольно использовать ввод-вывод.
Читать далее