Показаны сообщения с ярлыком ссылки. Показать все сообщения
Показаны сообщения с ярлыком ссылки. Показать все сообщения

20091016

Микросоветы

Всё чаще в твиттер
одной строкой пост целый
пишу на память.

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

Приёмы работы
LaTeX и вёрстка
Программирование
Находки (всякие программки)

1. Приёмы работы:

  • Чтобы не закрывать Firefox, когда закрывается последняя вкладка по Ctrl-W: идём в about:config, находим browser.tabs.closeWindowWithLastTab, ставим false. Проверено на FF 3.5.
  • OpenOffice: чтобы запретить разрыв слова (т.е. запретить перенос), вставляем нечитаемый символ U+2060 (Zero-width WORD JOINER). Символ можно найти, запустив gucharmap. Надо в .XCompose добавить...
  • Чтобы использовать новый, сжимающий раза в два лучше, видео-кодировщик Theora 1.1, нужно взять саму новую библиотечку (уже есть в Debian unstable), и, главное, ffmpeg2theora версии не ниже 0.25. На сайте разработчиков есть и бинарные сборки.
  • Принудительное отключение подсветки ЖК-дисплея: xset dpms force off. Отсюда.
  • Банальность. Удаление пустых строк sed-ом: sed '/^\s*$/d'.
  • Редактируя диаграммы Graphviz в Vim, быстрый просмотр по :make можно сделать так: :set makeprg=dot\ -Tpng\ %\ \\\|display\ png:- errorformat='' autowrite. Подставить название используемой программы (dot, neato, fdp, ...).
  • Создание паролей (если нет KeePassX): cat /dev/urandom | tr -d -c 'a-zA-Z0-9' | fold -w 8 | head -1
  • Поиск и удаление дубликатов файлов: fdupes в командной строке, fslint — утилита с графическим интерфейсом.
  • В Debian можно заменить файл пакета, не пересобирая пакет. Поможет dpkg-divert.
  • sudo -i имитирует логин под рутом (даёт #). Бывает полезно (раньше sudo su - иногда пользовался).
  • Как создавать картинки предварительного просмотра видеофайлов:
    ffmpeg -itsoffset -1 -i видеофайл.avi -vcodec mjpeg -vframes 1 -an -y -f rawvideo -s 320x240 картинка.jpg ; done
    Как создавать картинки из PDF:
    convert -thumbnail 300x300 документ.pdf[0] -gravity center -extent 300x300 картинка.png


2. LaTeX и вёрстка:

  • Рекомендуемая минимальная ширина полей, чтобы документ можно было печатать и на A4, и на Letter — А4, слева и справа 20 мм, сверху и снизу 33 мм. RFC 2346.
  • Чтобы избежать разрыва страницы в LaTeX, можно поместить фрагмент текста в окружение samepage. Это частый вопрос.
  • Отступы элементов списка в LaTeX можно настроить, если использовать окружение list вместо itemize. Пример.
  • Чтобы добавить межабзацный пробел, \setlength{\parskip}{10pt plus 1pt minus 1pt}. Особенно полезно в наборе без абзацного отступа. Отсюда.
  • Чтобы выравнять картинку и текст справа от неё по вертикали, по середине, повозившись, сделал себе макрос \sidebyside{}{}:
    \newsavebox{\leftbox}\newlength{\leftboxheight}\newcommand{\sidebyside}[2]{\sbox{\leftbox}{#1}\settoheight{\leftboxheight}{\usebox{\leftbox}}\usebox{\leftbox}\raisebox{0.5\leftboxheight}{#2}}
    Смотрите пример использования.
  • Чтобы автоматически закрывать окружения LaTeX, пользователи Vim могут поставить плагин tex_autoclose. Использование: в режиме вставки Ctrl+\, затем c.
  • Разрезать на страницы и «склеивать» PDF-документы можно с помощью pdftk. Объединить два файла в один:
    pdftk первый.pdf второй.pdf cat output новый.pdf


3. Программирование:

  • В Python, примитивное транспонирование списка пар в пару списков:
    unzip = lambda pairs: zip(*pairs)
    @vlasovskikh подсказал, что для больших списков izip будет быстрее (проверили, так).
  • Занятное и доходчивое объяснение «что такое продолжения» на 11-й минуте видеопрезентации Swarm-dpl.
  • Быстро создавать графический интерфейс для научных программок позволяет библиотечка TraitsUI (Python). Пока не пробовал, но прочитал урок по TraitsUI.
  • Говорят, Intel готовит Concurrent Collections и для Хаскеля.
  • Я же пока проснулся и прочитал про со-процедуры на Си и устройство Даффа. Впечатлился.
  • Хотите полюбоваться, как можно добавлять побочные вычисления «наследованием» типов? Вот, пожалуйста, в этом примере (на Хаскеле). Хотя это, конечно не Java.
  • Учился использвать монадные трансформеры (бррр!) — оказалось несложно. В результате получился такой пример использования StateT поверх IO. Может кому пригодится.
  • Мелкое копирование словарей в Python — грабли.


4. Находки (всякие программки):

  • Atrack — анонимный открытый битторент трекер для Google App Engine. Всего 246 строк кода.
  • Sweet Home 3D — программа для планирования интерьера. Можно рисовать планы комнат, расставлять мебель, крутить по всякому. Сделана красиво.
  • fuse-zip — файловая система FUSE для монтирования zip-архивов. Быстрая, легко собирается по make, умеет писать в архив. Использование:
    fuse-zip архив.zip /точка/монтирования
    Есть также avfs, которая монтирует любые архивы, но не пишет и не такая удобная. Её использовать так:
    mountavfs ; ls ~/.avfs/полный/путь/к/архиву.zip#/файл/в/архиве
    В Debian нужно предварительно добавить пользователя в группу fuse.
  • Python(x,y) — дистрибутив Python для научных работников, для Windows и Ubuntu. Все инструменты и библиотечки «из коробки».
  • В дополнение к своему однострочнику antiodt нашёл ещё хороший конвертер ODT в Markdown odt2txt.py.
  • Дружественный к Гному вариант Xmonad — Bluetile. Раз попробовал, и две недели им пользовался.
  • Попробовал gitit. Самая простая вики для совместной работы над математическими текстами (вместе с jsMath из коробки). Хранилище — git или darcs.
  • TxtSushi — утилитки, позволяющие выполнять SQL-запросы по простому текстовому (CSV, TSV) файлу.


Ух-ты, а немало получилось.

20090827

Декоративная табличка в LaTeX

В TeXblog появилась заметка, как делать декоративные таблички в LaTeX. Вот такие:

Fancy tables with LateX and Tikz

Табличка набрана как обычно, но внутри «узла» окружения tikzpicture, а фон и раскрашенные шапки — средствами Tikz на фоне. Исходник примера — в TeX blog.

Кстати, давно хочу написать про PGF/Tikz. Что-нибудь интересно?

20090504

Исправление дефектов кожи и ручное удаление шума в GIMP

Александр Прокудин описал очень интересное расширение для GIMP — вейвлетный разбор. За красивым названием — мощнейший инструмент. Можно использовать для:
  • ретуши дефектов кожи,
  • избирательного ручного удаления шума,
  • выделения или удаления деталей определённого размера,
  • смягчения границ...
Принцип действия: вейвлетным преобразованием изображение разделяется на несколько слоёв, каждый с деталями разного размера (разной «длиной волны»), от слоя с мелкими деталями наверху к слоям со всё более крупными деталями внизу. Благодаря такому разбору изображения на слои можно исправить, например, мелкие детали, не затрагивая крупных.

Для установки в Ubuntu Jaunty: скачиваем исходники, устанавливаем пакет libgimp2.0-dev, распаковываем исходники во временный каталог, make, make userinstall.

Расширение появляется в меню ФильтрыОбщиеWavelet decompose.

20090413

Функциональное веб-программирование

Многие читали Beating the Averages Пола Грэхэма (есть перевод). Он использовал Lisp, и считает, что именно поэтому создал самое удачное веб-приложение (которое потом превратилось в Yahoo! Store). Прекрасно!

А вот что реально уже готово и можно использовать прямо сейчас? Я решил не зацикливаться на Хаскеле, и вспомнил, что есть ещё Erlang, Caml, Scala, Scheme, Lisp. Стоило только начать поиски, и я нашёл много интересного. Делюсь находками.

1. Язык программирования Erlang и каркас для разработки веб-приложений Nitrogen. Кстати, сайт Nitrogen на нём же, видимо, и работает. Рекомендую посмотреть видео:

Видео: возможности Nitrogen (дек. 2008) (.mov)

скринкаст: Новые возможности Nitrogen (дек. 2008)


Обратите внимание на счётчик числа строк, нужных, чтобы запрограммировать страницу (такой счётчик есть и на всех страницах сайта Nitrogen). Число, как правило, двузначное. Меня лично поразило вот это — запуск долгоиграющих процессов на сервере. 31 строчка! Чтобы сделать подобное на Python и Django, мне пришлось попыхтеть.

Кроме Nitrogen, для Erlang есть ещё Erlyweb и Erlang Web.

2. Язык программирования Haskell и сервер приложений Happstack. Самое приятное, что проект хоть ещё и молодой, но уже работающий. На нём сделан Happstack-tutorial, на нём работает Patch-tag.com. Первые энтузиасты даже делают на нём свои блоги.

Запустить его на своей машине оказалось не очень трудно. И он работает. Но всё же, я чувствую, мне потребуется время, чтобы с ним более-менее разобраться. Документация, с точки зрения новичка, конечно, уступает документации Django.

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

Вот маленькая презентация Happstack:

Но и не Happstack единым. Читаем Is Haskell a Good Choice for Web Applications?. Весьма обнадёживает. Исходник работающего сайта — в подарок.

3. Язык программирования Scala (гибридный функциональный язык программирований для виртуальной машины Java) и каркас для веб-приложений Lift. Можно посмотреть на его демо.

Интересно, что буквально на днях Гугл объявил поддержку Java на AppEgnine, и народные умельцы уже используют там Scala. Более того, точно так же на AppEngine запустили и Lift.
Scala — по-итальянски лестница. Думаю, игра слов scala — lift теперь всем понятна.


4. Язык программирования Caml и каркас для веб-приложений Ocsigen. Точнее, как я понял, Ocsigen — это веб-сервер, а каркас для веб-приложений называется Eliom. И есть ещё набор библиотек Ocsimore. Однако это детали.

Интересные особенности Ocsigen: валидность XHTML документа гарантируется на уровне типов языка, активно используется стиль отложенных вычислений, управление сессиями, URL-схемами и параметрами страниц автоматическое.

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

Читая сайт Ocsigen, нашёл и совершенно удивительный проект. Немного не в тему, но очень здорово: O'Browser, написанная на Javascript виртуальная машина для байт-кода OCaml. Что это значит? Значит, что код на OCaml можно встраивать в веб-страницы! Вот, например, клон Boulderdash. Что-то подобное есть и для Haskell.


5. Язык программирования Scheme и каркас для веб-приложений LeftParen. Документация выглядит толково. К сожалению, не нашёл сайтов, которые его используют. Или какого-нибудь демонстрационного сайта.

Вообще-то LeftParen построен вокруг уже довольно развитой инфраструктуры для веб-программирования в PLT Scheme. И её вполне можно использовать непосредственно, см. документацию и учебник.

Для Scheme есть ещё Icing.

6. Язык программирования Lisp и веб-каркас Weblocks. Сайт и документация очень мне понравились. Если бы я писал на Лиспе, начал бы, наверное, с этого каркаса. Вот демонстрация.

Есть ещё KPAX (это не русское слово, просто такое смешное сокращение!). Пишут, что уже давно и серьёзно используется, но документация страдает. Для Лиспа есть ещё UnCommon Web, BKNR.

7. Ещё один диалект Лиспа — язык программирования Clojure, как и Scala рассчитан на использование на платформе JVM. Надо ли говорить, что и для него есть веб-каркас: Compojure. И на AppEngine его тоже оперативно запустили.



Вот так-то. Сколько всего, оказывается. Глаза разбегаются.

Созвучен этой заметке будет вот этот пост.

20090309

PyAMG: алгебраические многосеточные методы в Python

Хочу отметить, что на моём горизонте сегодня появилась библиотека PyAMG для алгебраических многосеточных методов. Для Python.

Служит для решения систем линейных уравнений. Может использоваться в качестве решателя в FiPy или Dolfin/FEniCS. Ну и где угодно. Преимущество этих методов в практически постоянной экспоненциальной скорости сходимости для систем любого размера. Простыми словами: количество вычислений на каждый следующий точно вычисленный десятичный знак постоянно и не зависит от размера решаемой системы.

Примеры на сайте весьма интересны. Стиль примеров вполне питонический. В зависимостях практически только SciPy, NumPy и Pylab. Надо будет попробовать.

Также по теме: обзор свободных программ для численных расчётов.

20090304

Перенос данных из Microsoft Money в KMyMoney

Полагаю, кому-то может быть полезно: про перенос данных из Microsoft Money в KMyMoney. Понятным языком написанная инструкция.

20090105

TeX и его варианты

Мои читатели ещё в прошлом году могли заметить, что я стал интересоваться «альтернативными» вариантами TEX-а, а именно XTEX-ом (см. XLaTEX и шрифты OpenType, Русский BibTEX и XLaTEX) и ConTEXt-ом. Предлагаю вам небольшой обзор, рассказывающий, что это за звери, и чем они отличаются от обычного TEX-а.

Начнём с того, что когда кто-то говорит «я набираю статьи в „тэхе“», чаще всего подразумевается, что тексты набираются с использованием разметки и команд макропакета LaTEX («латэх»), а затем документы компилируется в файлы формата PDF или DVI. При этом основную работу по вёрстке текста выполняет программа TEX («тэх»). Это означает, что большинство пользователей не использует TEX напрямую, а пользуется более высокоуровневыми наборами команд для разметки. А вот макропакет в свою очередь полностью полагается на TEX.

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

Начнём с основ. Простой TEX, созданный Дональдом Кнутом, практически заморожен и меняться не будет. Большинство же использует его расширенный вариант ε-TEX Питера Брайтенлонера. Букву «ε» можно понимать как обозначение для «улучшенный», «расширенный», «эволюционный» или даже «европейский» TEX. При этом ε-TEX настолько близок к своему предку, насколько это возможно, хотя и умеет, в отличие от него, например, писать справа налево.

Оба этих зверя выдают на выходе документ формата DVI, что, конечно, замечательно, но требует ещё дополнительной конвертации в PostScript или PDF. Да и не все возможности PDF доступны в DVI. Это привело к широкому распространению ещё одного варианта TEX: pdfTEX-a Хан Тэ Таня, который умеет верстать сразу PDF.
На мой взгляд, использование макропакета LaTEX совместно с pdfTEX-ом — наиболее предпочтительный вариант для набора научно-технических статей и документации. Этот тандем часто назвают одним словом: pdfLaTEX.
Использование pdfTEX-a даёт сразу несколько преимуществ по сравнению с традиционным TEX-ом:
  • можно использовать шрифты Adobe Type 1 и TrueType,
  • доступны микротипографические возможности полевого кернинга (аналог висящей пунктуации, распространяемый на все символы) и «раздвижки шрифта» («font expansion», затрудняюсь правильно по-русски назвать), улучшающей межсловные пробелы,
  • можно использовать такие возможности формата PDF как гиперссылки, таблицы оглавлений, метаданные документа,
  • можно использовать растровую графику,
  • можно сразу получать документ в формате пригодном для обмена с другими людьми.
Казалось бы, чего ещё желать?

А пожелать можно ещё две важных вещи:
  1. Поддержки Unicode. Времена однобайтных национальных кодировок прошли. И достаточно взглянуть на википедию, чтобы понять, что многоязыковые документы — это реальность.
  2. И поддержки OpenType. OpenType — это современная шрифтовая технология, которая должна постепенно заменить и Type 1, и TrueType. Она позволяет создавать единые уникодные шрифты с большим количеством глифов (до 65535), позволяет программировать на уровне шрифтового файла типографические «опции», такие как выбор альтернативных начертаний и стилистических особенностей, автоматических лигатур и замен, поддержку сложных систем писменности, облегчает разработку шрифтов за счёт, например, групп кернинга, а шрифтовые файлы OpenType, наконец, кроссплатформенны.
И оба эти желания довольно «трудные». Было уже несколько попыток их исполнить.

Исторически первая попытка подружить TEX и уникод — это, наверное, проект Omega. Никогда очень активным он не был, и, видимо, окончательно заглох. Его форк, проект Aleph, тоже больше не разрабатываетя.

Однако основная часть функционала Aleph была использована в проекте LuaTEX. Его основные особенности:
  • встроенный в TEX язык программирования Lua,
  • поддержка уникода,
  • поддержка OpenType независимо от ОС (используется код редактора FontForge)
Проект стартовал в 2006 году, и к августу 2009 планируется сделать первый официально-стабильный выпуск. Однако уже сейчас LuaTEX входит в дистрибутив TeXLive 2008 и может быть использован вместе с макропакетом ConTEXt. Ожидается, что именно LuaTEX станет pdfTEX-ом 2.0. Однако использовать LuaTEX совместно с LaTEX пока ещё нельзя.

Ещё один проект добавляющий поддержку и уникода, и OpenType в TEX — XTEX (читается как «зитэх»). И он уже сейчас работает, и уже сейчас может быть использован совместно с LaTEX.

Отличие XTEX от LuaTEX-а в том, что он полагается на поддержку OpenType на уровне операционной системы. В случае GNU/Linux — на библиотеки fontconfig и ICU. Большим достоинством XTEX является заметно упрощённая система работы со шрифтами. Совершенно единообразно можно использовать и старые шрифты Type 1, и новые OpenType.
Таким образом, можно подытожить: если хочется использовать уникод или шрифты OpenType в LaTEX, то сейчас это возможно с помощью XLaTEX. В ближайшем будущем, возможно, можно будет пользоваться и LuaTEX-ом. Однако в остальных случаях можно по-прежнему пользоваться pdfLaTEX. Этот вариант, пожалуй, также надёжнее, если планируется отдавать исходники документа в издательство или другим пользователям. Однако будущее, по моему, за уникодом и OpenType.


На последок несколько слов о макропакетах. Не считая «простого TEX», их два: LaTEX и ConTEXt. И если латэх хорошо известен, то о ConTEXt-е знают меньше. Основная разница между ними — в идеологии.

LaTEX старается дать пользователю средства описания структуры документа, а заботы о вёрстке взять на себя (возложить на разработчика класса документа). Однако некоторые средства управления вёрсткой пользователю всё же даёт (например, выбор начертаний и размеров шрифта). В результате получается более-менее пристойно свёрстанный документ практически без усилий со стороны пользователя (а пользователь может сосредоточится на содержании документа). На практике пользователи часто хотят так или иначе управлять вёрсткой. Хотя возможности самого LaTEX ограничены, нужных эффектов можно добиваться с помощью дополнительных макропакетов, которых существует очень много. К сожалению, активное использование этих макропакетов нарушает переносимость исходников между машинами, между пакетами могут быть конфликты, функциональность пакетов часто дублируется, а нужного результата достичь не всегда легко. Зато LaTEX — это практически «стандарт» для математических и физических статей.

Создатели ConTEXt избрали другой подход: изначально дать пользователю контроль над вёрсткой документа. В результате, требуется немного больше усилий, чтобы сверстать маленький документ «с нуля» (всё таки над макетом документа надо подумать), зато сразу есть все средства для сложной вёрстки. Особенно радует многоколоночная вёрстка. Большое внимание было уделено возможности создания больших и сложных коллекций документов в едином стиле.

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

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

20081203

Символьные вычисления в SymPy онлайн

Интерактивная демо-сессия SymPy: live.sympy.org. Теперь любой желающий сразу может попробовать в действии эту библиотеку для компьютерной алгебры в Python.

Также может пригодится как символьный веб-калькулятор :) Там же есть и графическая версия консоли, в которой формулы отрисовываются как в LaTeX.

20081114

Статья: Как сделать GNU/Linux популярным

Интересная статья «Как сделать популярный дистрибутив». Основной тезис, что дело не в программном обеспечении или тех или иных свойствах дистрибутива, а в доступности коммерческих (т.е. доступных любому) услуг по установке и настройке GNU/Linux для конечного пользователя. Мне тезис кажется правильным.

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

20071130

Использование коммандной оболочки SHELL, ссылки

Наткнулся на довольно интересный сайт с разными советами по использованию коммандной оболочки: SHELLdorado.com (на англ.)

Дополнение 5 февраля: Нашёл ещё один интересный сайт, посвящённый программированию на bash, это форум BashScripts.org, в духе вопрос-ответ.

Дополнение 13 февраля: А вот книжка по программированию на Bash, Bash Scripting, автор Hamish Whittal. Распространяется по лицензии Creative Commons AT-SA. Желающие перевести есть? ;)

И ещё перевод руководства Искусство программирования на языке сценариев командной оболочки (Advanced Bash Programming).

20071018

Русский подкаст с новостями о GNU/Linux

С недавних пор я начал-таки слушать подкасты, и обнаружил, что это довольно хорошая штука. Почти как интернет-радио, только слушать «передачи» (mp3-файлы с выпусками подкаста) можно слушать в удобное время. Работает это так: добавляем ссылку на RSS-ленту подкаста в программу для прослушивания, после этого новые выпуски будут скачиваться автоматически (или вручную, как настроено). Я слушаю подкасты в Rhythmbox, но и других программ в GNU/Linux для этого хватает.

К чему я всё это пишу — нашёл, похоже, первый русский подкаст посвящённый именно новостям о GNU/Linux. Подкаст ведёт некто skid. Вышло уже три выпуска, и получается у товарища skid довольно хорошо. Каждый выпуск — это дайджест новостей примерно за неделю. Вот ссылка на RSS-ленту подкаста.

Обзор мобильных устройств с GNU/Linux

Хочу дать ссылку на интересный и довольно толковый обзор КПК, смартфонов и других мобильных устройств на базе GNU/Linux.

Краткое содержание:
  • Sharp Zaurus — фактически мёртв,
  • Nokia 770, N800, N810 (Maemo) — продуманы и удобны, подают надежды,
  • OpenMoko Neo1973 — железка уже есть, софт ещё в разработке,
  • Qtopia Greenphone — скорее мёртв, чем жив,
  • Intel MID — внушает надежды, но пока только на картинках,
  • ACCESS Linux Platform — надежд на неё мало.
Я бы добавил сюда ещё дешёвый субноутбук ASUS eeePC, который хоть и не совсем карманный, но уже продаётся. И по умолчанию на нём тоже установлен GNU/Linux.

Nokia N810: интернет-планшет, теперь с GPS

Хотя у меня до сих пор нет интернет-планшетика Nokia, отношусь я к ним с большой симпатией. Нравятся и возможности устройства, и то, что внутри — линукс...

Вот сегодня узнал о выходе новой редакции планшета: N810. В отличие от уже известной всем N800 — в N810 будет модуль GPS и выдвижная клавиатурка. Ещё в N810 будет 2 ГБ встроенной флэш-памяти (но на один разъём для карт памяти меньше). Также с новым устройством будет идти и новая версия операционной системы, OS 2008, несовместимая с предыдущей. Впрочем, старую N800 тоже можно будет обновить до OS 2008, и оба устройства будут продаваться и поддерживаться одновременно.


сравнение N800 и N810


Подробности можно прочитать в других блогах. Ориентировочная цена $479 + налоги. Конечно же, это за океаном.

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

Дополнение: 500 наиболее активных разработчиков и участников проекта Maemo (включая авторов документации, блоггеров и остальных) могут получить новый планшет всего за 99€. Условие — общедоступный вклад в развитие платформы. Новички могут поучавствовать в конкурсе на скидку, выдвинув интересные идеи. Подробнее — в этом объявлении.

20070907

Учебник: LaTeX, GNU/Linux и русский стиль

На днях попалась ссылка на цикл статей Е. М. Балдина «LaTeX, GNU/Linux и русский стиль». Статьи были написаны им для журнала Linux Format. По соглашению с редакцией, они теперь доступны и онлайн в PDF формате. Фактически, это книга-учебник по LaTeX (автор особо подчёркивает, что это ещё не книга, но по качеству текст близок к ней).

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

А для тех, у кого времени читать длинные тексты нет, а нужно просто писать — я даю ссылку на моё любимое наглядное пособие К. В. Воронцова «LaTeX2ε в примерах». Очень доходчиво.

20070905

formula2png: как сделать картинку с формулой

Набирать математические формулы в LaTeX легко. Получается в результате документ PDF или PS. А вот что делать, если нужно показать одну-две формулы на веб-странице? Самый простой (и работающий везде) способ: поместить на сайт картинку, на которой и будет формула. Этот пост, рассказывает, как можно быстро делать такие картинки.

Дополнение: несколько ещё более лёгких способов поместить формулу в блоге или на форуме перечислено здесь.


Для этого, кроме LaTeX, Ghostscript и Netpbm потребуется скрипт textogif Джона Уокера. Вот прямая ссылка на textogif_1.1.tar.gz.

К этому скрипту я использую вот такую обвязку, чтобы не создавать файл TeX каждый раз вручную: formula2png. Обвязка создаёт файл LaTeX, в который и помещает нужную формулу, и скармливает этот файл textogif. Использую я её так:
$ formula2png imagename formula
Например:
$ formula2png schröd 'i\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi + V\psi'
После этого в текущем каталоге у меня появляется файл schröd.png с прозрачным фоном.

Schrödinger equation: i\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi + V\psi

В данном случае формула набрана 12 пунктом, и изображение отрисовано из расчёта на разрешение 120 dpi. Эти параметры, а также уровень серого для фона, на котором предполагается размещать формулу, задаются в параметрах textogif (см. примеры внутри formula2png).

Другой способ размещения формул на веб-страницах — MathML, но он работает не со всеми браузерами и сложнее в использовании. Есть ещё конвертеры, вроде latex2html, но для одной–двух формул — они «тяжеловаты».