Notes Vulgaris

Links
Универ
Account
Tags
blog books debian desktop eee evangelism fonts freetype hacker howto it javascript kb kde linux mercurial openoffice python xorg повидло
24-06-2009 16:56 | 0 comments | tags: javascript

Полезная функция для печати значения переменной. Понимает и по-разному отображает различные типы.

function valueToString(v)
{
    var res = "";

    if (v === undefined) {
        res = "undefined";
    } else if (v === null) {
        res = "null";
    } else if (v.constructor === Array) {
        var a = [];
        for (var i=0; i<v.length; i++) {
            a.push(valueToString(v[i]));
        }
        res = "[ " + a.join(", ") + " ]";

    } else if (typeof v === "string" || v.constructor === String) {
        v = v.replace("\\", "\\\\").replace('"', '\\"').replace("\n", "\\n");
        res = '"' + v + '"';
    } else if (typeof v === "object") {
        res = "Object";
    } else {
        res = v.toString();
    }

    return res;
}
09-05-2009 03:14 | 0 comments | tags: linux, mercurial, debian

Задача: создать и настроить mercurial-репозиторий на debian-сервере с установленным apache2.

Всё довольно просто, но есть несколько тонких моментов. Все шаги справедливы для debian lenny и, возможно, для ubuntu (не знаю какой версии). Предполагается, что наш репозиторий будет доступен по адресу http://hg.example.com/public.

read more ⇒
06-05-2009 02:10 | 0 comments | tags: python

Решил написать какую-нибудь простую систему для генерации FictionBook2-файлов, разметка — нечто wiki/markdown/reStructuredText/Sphinx-подобное, плюс файл с метаданными в виде простого .ini-подобного файла.

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

Никакой документации, кроме демонстрационного проекта, пока нет.

Сайт проекта: metafb2.googlecode.com

10-04-2009 23:54 | 0 comments | tags: books

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

  • Том Демарко, Тимоти Листер «Человеческий фактор: успешные проекты и команды» / Tom DeMarco, Timothy Lister “Peopleware: Productive projects and teams”
  • Том Демарко «Deadline: роман об управлении проектами» / Tom DeMarco *“Deadline: a novel about project management”
  • Джо Мараско «IT-проекты: фронтовые очерки» / Joe Marasco “The Software Development Edge”*
  • Эдвард Йордон «Путь камикадзе» / Edward Yourdon “Death March”
  • Дж. Ханк Рейнвотер «Как пасти котов: Наставление для программистов, руководящих другими программистами» / J. Hank Rainwater “Herding cats: A Primer For Programmers Who Lead Programmers”
  • Роберт Гласс «Факты и заблуждения профессионального программирования» / Robert Glass “Facts and Fallacies of Software Engineering”
  • Дэвид Платт «Софт — отстой! И что с этим делать?» / David S. Platt “Why Software Sucks... and What You Can Do about It”
  • Стив Макконнелл «Профессиональная разработка программного обеспечения» / Steve McConnell “Professional Software Development”
  • Стив Макконнелл «Совершенный код» / Steve McConnell “Code Complete”
  • Мартин Фаулер «Архитектура корпоративных программных приложений» / Martin Fowler “Patterns of Enterprise Application Architecture”
  • Эрик Дж. Брауде «Технология разработки программного обеспечения» / Eric J. Braude “Software Engineering. An Object-Oriented Perspective.”
  • Л. Басс, П. Клементс, Р. Кацман «Архитектура программного обеспечения на практике» / Len Bass, Paul Clements, Rick Kazman “Software Architecture in Practice”
  • Джек Гринфилд, Кит Шорт, Стив Кук, Стюарт Кент «Фабрики разработки программ. Потоковая сборка типовых приложений, моделирование, структуры и инструменты» / Jack Greenfield, Keith Short, Steve Cook, Stuart Kent “Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools”
  • Фредерик П. Брукс «Мифический человеко-месяц или Как создаются программные системы» / Frederick P. Brooks “The Mythical Man-Month (Essays on Software Engeneering). 20th Anniversary Edition.”
07-03-2009 19:44 | 0 comments | tags: kb, xorg, eee, linux

В Xorg 1.5 введена новая система конфигурации, через HAL. Для конфигурации тачпада из Eee PC 900 необходимо, во-первых, собрать модуль psmouse.ko, который этот тачпад поддерживает; а во-вторых, написать соответствующий конфиг для Xorg.

Вот мой конфиг:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.product" string="ETPS/2 Elantech Touchpad">
      <merge key="input.x11_driver" type="string">synaptics</merge>
      <merge key="input.x11_options.SHMConfig" type="string">True</merge>
      <merge key="input.x11_options.SingleTapTimeout" type="string">150</merge>
      <merge key="input.x11_options.MaxDoubleTapTime" type="string">10</merge>
      <merge key="input.x11_options.UpDownScrolling" type="string">1</merge>
      <merge key="input.x11_options.RightEdge" type="string">1050</merge>
      <merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
      <merge key="input.x11_options.ClickTime" type="string">2</merge>
      <merge key="input.x11_options.FastTaps" type="string">1</merge>
      <merge key="input.x11_options.MinSpeed" type="string">0.246</merge>
      <merge key="input.x11_options.MaxSpeed" type="string">0.89</merge>
      <merge key="input.x11_options.AccelFactor" type="string">0.178</merge>
      <merge key="input.x11_options.LeftRightScrolling" type="string">0</merge>
      <merge key="input.x11_options.TapButton1" type="string">1</merge>
      <merge key="input.x11_options.TapButton2" type="string">2</merge>
      <merge key="input.x11_options.TapButton3" type="string">3</merge>
      <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>
      <merge key="input.x11_options.VertTwoFingerScroll" type="string">false</merge>
    </match>
  </device>
</deviceinfo>

Файл кладётся, например, сюда /etc/hal/fdi/policy/11-x11-elantech.fdi, затем перезапускается hal и xorg.

04-03-2009 14:51 | 1 comments | tags: freetype, linux, fonts

Эта часть посвящена библиотеке растеризации шрифтов FreeType, а также базовым принципам растеризации, в том числе субпиксельной.

read more ⇒
04-03-2009 14:38 | 0 comments | tags: linux, fonts

В этой части рассказывается о рендеринге и отрисовке шрифтов на стороне X-клиента.

read more ⇒
27-02-2009 18:30 | 0 comments | tags: fonts, linux

В этой части рассказывается о классической системе рендеринга и отрисовки шрифтов в X Window System: Core X Renderer.

read more ⇒
12-02-2009 17:28 | 0 comments | tags: it, evangelism

Разбирал завалы PDF-файлов со знаменитого процесса «Comes vs. Microsoft» и наткнулся на несколько весьма примечательных документов про агрессивный евангелизм, очень интенсивно применявшийся микрософтом в середине девяностых. Всплыло имя Джеймса Пламондона, как одного из авторов всего этого дерьма, а поиск в гугле принёс довольно много разнообразных статей на чрезвычайно интересную тему «Технологического евангелизма».

Вот один из примеров, «“Power Evangelism” and “Relationship Evangelism” Presented by James Plamondon and Marshall Goldberg». Неформальная и очень познавательная презентация (файл PLEX_2456.pdf из архива материалов), я её немного вычитал и сделал более приемлемую копию. PDF и оригинал в ODT.

Джеймс Пламондон типа раскаялся и ведёт блог на тему этого самого технологического евангелизма.

10-02-2009 06:31 | 0 comments | tags: linux, fonts

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

read more ⇒
newer older