<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5904564346159268967</id><updated>2011-11-04T14:23:23.968-07:00</updated><category term='linux'/><category term='lifestyle'/><category term='pedo'/><category term='arduino'/><category term='задрот'/><category term='shitware'/><category term='sysadmin'/><category term='mcabber'/><category term='latex'/><category term='ion3'/><category term='nagios'/><category term='music'/><category term='mencoder'/><category term='fun'/><category term='qt'/><category term='yaourt'/><category term='avr'/><category term='svn'/><category term='science'/><title type='text'>music, science,  gnu/linux</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-2644607769028601830</id><published>2011-09-04T05:14:00.000-07:00</published><updated>2011-09-04T06:12:37.407-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='yaourt'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Yaourt: оболочка к pacman с доступом к AUR</title><content type='html'>&lt;h2&gt;AUR - Archlinux User Repository&lt;/h2&gt;&lt;br /&gt;У Arch Linux есть репозиторий с пакетами, которые поставляют сами пользователи, http://aur.archlinux.org, там часто можно найти всякие штучки, которые по тем или иным причинам не попадают в основной репозиторий дистрибутива (например, та же самая клавиатурная раскладка дворака для программистов или самый-самый-самый свежий firefox). Про сам репозиторий есть большая страница на wiki &lt;a href="https://wiki.archlinux.org/index.php/AUR_User_Guidelines"&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Для установки какого-то пакета из дистрибутива (или локально) используется pacman, однако пользовательские дистрибутивы в pacman отключены, а пакетов там навалом. По сути, пользовательский репозиторий - это набор пакетов с правилами их сборки, описываемых в специальных файлах с названием PKGBUILD, содержимое которого обычно указывает, что откуда скачать и что с этим сделать (например, скачать исходники, скачать патч, наложить патч, отредактировать настройки так, чтобы это работало в арче, и тому подобное). Например, это может выглядеть вот так:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 1 &lt;/span&gt;&lt;span class="Comment"&gt;# Author: Julien MISCHKOWITZ &amp;lt;wain@archlinux.fr&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 2 &lt;/span&gt;&lt;span class="Comment"&gt;# Author: tuxce &amp;lt;tuxce.net@gmail.com&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 3 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 4 &lt;/span&gt;&lt;span class="Identifier"&gt;pkgname&lt;/span&gt;=yaourt&lt;br /&gt;&lt;span class="lnr"&gt; 5 &lt;/span&gt;&lt;span class="Identifier"&gt;pkgver&lt;/span&gt;=&lt;span class="Constant"&gt;0&lt;/span&gt;.&lt;span class="Constant"&gt;10&lt;/span&gt;.&lt;span class="Constant"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 6 &lt;/span&gt;&lt;span class="Identifier"&gt;pkgrel&lt;/span&gt;=&lt;span class="Constant"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 7 &lt;/span&gt;&lt;span class="Identifier"&gt;pkgdesc&lt;/span&gt;=&lt;span class="Statement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="Constant"&gt;A pacman wrapper with extended features and AUR support&lt;/span&gt;&lt;span class="Statement"&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 8 &lt;/span&gt;&lt;span class="Identifier"&gt;arch&lt;/span&gt;=&lt;span class="PreProc"&gt;(&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;any&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="PreProc"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 9 &lt;/span&gt;&lt;span class="Identifier"&gt;url&lt;/span&gt;=&lt;span class="Statement"&gt;&amp;quot;&lt;/span&gt;&lt;span class="Constant"&gt;&lt;a href="http://www.archlinux.fr/yaourt-en/"&gt;http://www.archlinux.fr/yaourt-en/&lt;/a&gt;&lt;/span&gt;&lt;span class="Statement"&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;10 &lt;/span&gt;&lt;span class="Identifier"&gt;license&lt;/span&gt;=&lt;span class="PreProc"&gt;(&lt;/span&gt;&lt;span class="Special"&gt;GPL&lt;/span&gt;&lt;span class="PreProc"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;11 &lt;/span&gt;&lt;span class="Identifier"&gt;depends&lt;/span&gt;=&lt;span class="PreProc"&gt;(&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;diffutils&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Special"&gt; &lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;pacman&amp;gt;=3.5&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Special"&gt; &lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;package-query&amp;gt;=0.7&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Special"&gt; &lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;gettext&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="PreProc"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;12 &lt;/span&gt;&lt;span class="Identifier"&gt;optdepends&lt;/span&gt;=&lt;span class="PreProc"&gt;(&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;aurvote: vote for favorite packages from AUR for inclusion in [community]&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;13 &lt;/span&gt;&lt;span class="Special"&gt;      &lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;customizepkg: automatically modify PKGBUILD during install/upgrade&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;14 &lt;/span&gt;&lt;span class="Special"&gt;      &lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;rsync: retrieve PKGBUILD from official repositories&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;15 &lt;/span&gt;&lt;span class="Special"&gt;      &lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;pacman-color: fully colorized output&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="PreProc"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;16 &lt;/span&gt;&lt;span class="Identifier"&gt;backup&lt;/span&gt;=&lt;span class="PreProc"&gt;(&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;etc/yaourtrc&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="PreProc"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;17 &lt;/span&gt;&lt;span class="Statement"&gt;source&lt;/span&gt;&lt;span class="Statement"&gt;=&lt;/span&gt;&lt;span class="PreProc"&gt;(&lt;/span&gt;&lt;span class="Special"&gt;&lt;a href="http://mir.archlinux.fr/~tuxce/releases/"&gt;http://mir.archlinux.fr/~tuxce/releases/&lt;/a&gt;&lt;/span&gt;&lt;span class="PreProc"&gt;$pkgname&lt;/span&gt;&lt;span class="Special"&gt;/&lt;/span&gt;&lt;span class="PreProc"&gt;$pkgname&lt;/span&gt;&lt;span class="Special"&gt;-&lt;/span&gt;&lt;span class="PreProc"&gt;$pkgver&lt;/span&gt;&lt;span class="Special"&gt;.tar.gz&lt;/span&gt;&lt;span class="PreProc"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;18 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;19 &lt;/span&gt;&lt;span class="Identifier"&gt;build() {&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;20 &lt;/span&gt;  &lt;span class="Statement"&gt;cd&lt;/span&gt; &lt;span class="PreProc"&gt;$srcdir&lt;/span&gt;/&lt;span class="PreProc"&gt;$pkgname&lt;/span&gt;-&lt;span class="PreProc"&gt;$pkgver&lt;/span&gt;/&lt;br /&gt;&lt;span class="lnr"&gt;21 &lt;/span&gt;  make &lt;span class="Identifier"&gt;PREFIX&lt;/span&gt;=/usr &lt;span class="Identifier"&gt;sysconfdir&lt;/span&gt;=/etc &lt;span class="Identifier"&gt;localstatedir&lt;/span&gt;=/var&lt;br /&gt;&lt;span class="lnr"&gt;22 &lt;/span&gt;&lt;span class="Identifier"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;23 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;24 &lt;/span&gt;&lt;span class="Identifier"&gt;package() {&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;25 &lt;/span&gt;  &lt;span class="Statement"&gt;cd&lt;/span&gt; &lt;span class="PreProc"&gt;$srcdir&lt;/span&gt;/&lt;span class="PreProc"&gt;$pkgname&lt;/span&gt;-&lt;span class="PreProc"&gt;$pkgver&lt;/span&gt;/&lt;br /&gt;&lt;span class="lnr"&gt;26 &lt;/span&gt;  make &lt;span class="Identifier"&gt;PREFIX&lt;/span&gt;=/usr &lt;span class="Identifier"&gt;sysconfdir&lt;/span&gt;=/etc &lt;span class="Identifier"&gt;localstatedir&lt;/span&gt;=/var &lt;span class="Identifier"&gt;DESTDIR&lt;/span&gt;=&lt;span class="PreProc"&gt;$pkgdir&lt;/span&gt; &lt;span class="Statement"&gt;install&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;27 &lt;/span&gt;&lt;span class="Identifier"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;28 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;29 &lt;/span&gt;&lt;span class="Comment"&gt;# vim&amp;#0058;set ts=2 sw=2 et:&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;30 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;31 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;32 &lt;/span&gt;&lt;span class="Identifier"&gt;md5sums&lt;/span&gt;=&lt;span class="PreProc"&gt;(&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="Constant"&gt;b7c471bc0e763e587a965616540b1a7d&lt;/span&gt;&lt;span class="Statement"&gt;'&lt;/span&gt;&lt;span class="PreProc"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;В целом, если внимательно посмотреть, никакой чёрной магии там нет. Пример взят из утилиты yaourt (&lt;a href="http://aur.archlinux.org/packages.php?ID=5863"&gt;&lt;/a&gt;). На странице утилиты в AUR описано, какие файлы входят в tarball с PKGBUILDом, ну и можно поругаться со всеми желающими в комментариях (сначала надо зарегестрироваться).&lt;br /&gt;Чтобы установить пакет из пользовательского дистрибутива, надо скачать tarball, при желании посмотреть/поправить содержимое PKGBUILD и сделать пакет:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ tar xzvf yaourt.tar.gz &lt;br /&gt;yaourt/&lt;br /&gt;yaourt/PKGBUILD&lt;br /&gt;$ cd ./yaourt&lt;br /&gt;$ makepkg&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Далее можно лицезреть всяческие радостные сообщения из серии "я скачал пакет оттуда-то, проверил чексумму, вроде совпадает, проверил зависимости, всё на месте, зажигай!". Если зависимости не будут удовлетворены, следует найти нужный пакет в AUR и поставить сначала его (список пакетов-зависимостей можно посмотреть на странице пакета или в самом PKGBUILD). После решения всех этих квестов, на выходе появится фраза в стиле "Finished making: yaourt 0.10.1-2....". После этого в папке появится пакет, который уже можно устанавливать через pacman:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ ls&lt;br /&gt;pkg  PKGBUILD  src  yaourt-0.10.1-2-any.pkg.tar.xz  yaourt-0.10.1.tar.gz&lt;br /&gt;$ pacman -U yaourt-0.10.1-2-any.pkg.tar.xz&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;YAOURT как панацея от рутины&lt;/h2&gt;&lt;br /&gt;Понятно, что пять-шесть раз выполнив такую процедуру, слегка устаёшь скачивать пакетики и их распаковывать. Посему на помощь приходят всякие утилиты-автоматизаторы этих манипуляций, одна из наиболее популярных - yaourt. Его надо будет установить именно так, "муторно", скачав все зависимости (если они ещё не удовлетворены) и вручную запустив makepkg и прочее. Зато потом это окупается и остальные пакеты можно ставить прямо из командной строки. Преимущество yaourt в том, что он работает ну совсем как pacman, даже многие ключи те же (поиск -Ss, апгрейд всех пакетов -Syu, к тому же позволяющий выбрать, какие пакеты ставить в массовой закачке, а какие нет). Ну и, конечно, есть всякие плюшечки типа раскраски вывода и интерактивного поиска. Типичный вывод yaourt:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; $ yaourt -Ss notion&lt;br /&gt;community/notion 20110823-1 [1.10 M] [installed]&lt;br /&gt;    Tabbed tiling, window manager. Fork of Ion3&lt;br /&gt;aur/libtu-git 20101217-1 (2)&lt;br /&gt;    Utility library for notion&lt;br /&gt;aur/notion-styles-thinviolet 0.1-1 (0)&lt;br /&gt;    modified Notion style without window border&lt;br /&gt;aur/notion-xft 20110827-1 (0)&lt;br /&gt;    Tabbed tiling, window manager. Fork of Ion3, with XFT patch&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Сначала выводятся "оффициальные репозитории", на которые настроен pacman, а потом уже aur. При установке будут сначала показаны последние комментарии, а потом будет предложено отредактировать PKGBUILD и, если есть, правила установки. Зависимости будут ставиться автоматически (если они есть только в AUR, дадут возможность поправить PKGBUILD и им). Помимо этого, к нему есть куча приятных штучек, например, тулза aurvote, позволяющая проголосовать за включение пакета в основной репозиторий "не отходя от кассы".&lt;br /&gt;&lt;br /&gt;Конфигурационный файл yaourt находится в /etc/yaourtrc, и представляет из себя типичный формат "все значения по умолчанию прописаны как есть, но закомментированы". Вот его стандартное содержание:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 1 &lt;/span&gt;&lt;span class="Comment"&gt;#    yaourtrc  - Configuration for yaourt&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 2 &lt;/span&gt;&lt;span class="Comment"&gt;# &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 3 &lt;/span&gt;&lt;span class="Comment"&gt;#   See yaourtrc(5) for more information&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 4 &lt;/span&gt;&lt;span class="Comment"&gt;#   &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 5 &lt;/span&gt;&lt;span class="Comment"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 6 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 7 &lt;/span&gt;&lt;span class="Comment"&gt;# ABS_REPO list repositories available on archlinux rsync server&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt; 8 &lt;/span&gt;ABS_REPO=(testing core extra community-testing community gnome-unstable kde-unstable)&lt;br /&gt;&lt;span class="lnr"&gt; 9 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;10 &lt;/span&gt;&lt;span class="Comment"&gt;# General&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;11 &lt;/span&gt;&lt;span class="Comment"&gt;#AUTOSAVEBACKUPFILE=0&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;12 &lt;/span&gt;&lt;span class="Comment"&gt;#DEVELBUILDDIR=&amp;quot;/var/abs/local/yaourtbuild&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;13 &lt;/span&gt;&lt;span class="Comment"&gt;#DEVEL=0&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;14 &lt;/span&gt;&lt;span class="Comment"&gt;#EDITOR=&amp;quot;$EDITOR&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;15 &lt;/span&gt;&lt;span class="Comment"&gt;#FORCEENGLISH=0&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;16 &lt;/span&gt;&lt;span class="Comment"&gt;#FORCE=0&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;17 &lt;/span&gt;&lt;span class="Comment"&gt;#TMPDIR=&amp;quot;/tmp&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;18 &lt;/span&gt;&lt;span class="Comment"&gt;#SUDONOVERIF=0      # Avoid multiple sudo checks when timestamp_timeout=0&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;19 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;20 &lt;/span&gt;&lt;span class="Comment"&gt;# AUR &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;21 &lt;/span&gt;&lt;span class="Comment"&gt;#AURCOMMENT=5&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;22 &lt;/span&gt;&lt;span class="Comment"&gt;#AURDEVELONLY=0&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;23 &lt;/span&gt;&lt;span class="Comment"&gt;#AURSEARCH=1&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;24 &lt;/span&gt;&lt;span class="Comment"&gt;#AURUPGRADE=0&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;25 &lt;/span&gt;&lt;span class="Comment"&gt;#AURVOTE=1&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;26 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;27 &lt;/span&gt;&lt;span class="Comment"&gt;# Build&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;28 &lt;/span&gt;&lt;span class="Comment"&gt;#EXPORT=0           # Export to 1: EXPORTDIR or PKGDEST&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;29 &lt;/span&gt;                    &lt;span class="Comment"&gt;# 2: pacman cache (as root)&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;30 &lt;/span&gt;&lt;span class="Comment"&gt;#EXPORTSRC=0        # Need EXPORT&amp;gt;0 to be used&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;31 &lt;/span&gt;&lt;span class="Comment"&gt;#EXPORTDIR=&amp;quot;&amp;quot;       # If empty, use makepkg's connfiguration (see makepkg.conf)&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;32 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;33 &lt;/span&gt;&lt;span class="Comment"&gt;# Prompt&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;34 &lt;/span&gt;&lt;span class="Comment"&gt;#NOCONFIRM=0&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;35 &lt;/span&gt;&lt;span class="Comment"&gt;#UP_NOCONFIRM=0     # No prompt while build upgrades (including -Sbu)&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;36 &lt;/span&gt;&lt;span class="Comment"&gt;#BUILD_NOCONFIRM=0  # Only prompt for editing files&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;37 &lt;/span&gt;&lt;span class="Comment"&gt;#EDITFILES=1&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;38 &lt;/span&gt;&lt;span class="Comment"&gt;#NOENTER=1&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;39 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;40 &lt;/span&gt;&lt;span class="Comment"&gt;# Output&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;41 &lt;/span&gt;&lt;span class="Comment"&gt;#USECOLOR=1&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;42 &lt;/span&gt;&lt;span class="Comment"&gt;#DETAILUPGRADE=1&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;43 &lt;/span&gt;&lt;span class="Comment"&gt;#SHOWORPHANS=1&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;44 &lt;/span&gt;&lt;span class="Comment"&gt;#TERMINALTITLE=1&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;45 &lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;46 &lt;/span&gt;&lt;span class="Comment"&gt;# Command&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;47 &lt;/span&gt;&lt;span class="Comment"&gt;#PACMAN=&amp;quot;pacman&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="lnr"&gt;48 &lt;/span&gt;&lt;span class="Comment"&gt;#DIFFEDITCMD=&amp;quot;vimdiff&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;К полезным параметрам я бы отнёс TMPDIR - можно задать папку для временных файлов и директорий, FORCEENGLISH - обязательное использование стандартной англоязычно локали и AURCOMMENT, указывающий число комментариев для отображения.&lt;br /&gt;&lt;br /&gt;Подводя итоги, yaourt очень сильно облегчает использование AUR (кстати, название так и расшифровывается: Yet AnOther User Repository Tool), при этом сохраняя общий дух простоты использования KISS и позволяющий плавно использовать его вместо pacman.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-2644607769028601830?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/2644607769028601830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=2644607769028601830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2644607769028601830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2644607769028601830'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2011/09/yaourt-pacman-aur.html' title='Yaourt: оболочка к pacman с доступом к AUR'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-1262652292728445943</id><published>2011-08-03T00:20:00.000-07:00</published><updated>2011-08-10T06:06:11.486-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='задрот'/><title type='text'>bash history: args</title><content type='html'>Я постоянно забываю, как работают внутренние переменные для работы с историей баша. Вот на днях я потянул руку и тепер на ней на неделю гипс, поэтому всякие мелкие фишечки сокращающие лишние клавиатурные комбинации особенно актуальны. Кстати, ионовские биндинги тоже поменялись, но пока непонятно, как они покажут себя в бою, т.к. пока что идёт "обкатка".&lt;br /&gt;&lt;br /&gt;[igor@nastya 10:38:50 ~]&lt;br /&gt; $ gqview /tmp/screenshot-2011-08-03-10\:06.png &lt;br /&gt;[igor@nastya 10:49:13 ~]&lt;br /&gt; $ ^gqview^mv Dropbox/Public/music.png&lt;br /&gt;mv Dropbox/Public/music.png /tmp/screenshot-2011-08-03-10\:06.png &lt;br /&gt;mv: cannot stat `Dropbox/Public/music.png': No such file or directory&lt;br /&gt;[igor@nastya 11:19:44 ~]&lt;br /&gt; $ mv !!:2 !!:1&lt;br /&gt;mv /tmp/screenshot-2011-08-03-10\:06.png Dropbox/Public/music.png&lt;br /&gt;&lt;br /&gt;(кстати, да - полчаса это я столько искал и читал гайд по башу %)&lt;br /&gt;&lt;br /&gt;Во-первых, баш, как нормальная (читать "не-awk") утилита, нумерует аргументы с нуля. !! - предыдущая команда (sudo !! является, пожалуй, наиболее частым моим применением этой функции. !abracadabra - последняя команда, в которой был текст abracadabra.&lt;br /&gt;&lt;br /&gt;Пользуясь случаем, йцукенг - редкостное говно, а dvorak-r почти так же охрененен, как programmer's dvorak&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-1262652292728445943?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/1262652292728445943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=1262652292728445943' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/1262652292728445943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/1262652292728445943'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2011/08/bash-history-args.html' title='bash history: args'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-771208775504369728</id><published>2010-02-13T21:14:00.000-08:00</published><updated>2010-02-13T21:50:46.515-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='lifestyle'/><title type='text'>dubuzzing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Cf0Fydi_JCo/S3eG88RXjKI/AAAAAAAAAN4/wPaAuOZBaPc/s1600-h/buzz.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 133px;" src="http://4.bp.blogspot.com/_Cf0Fydi_JCo/S3eG88RXjKI/AAAAAAAAAN4/wPaAuOZBaPc/s200/buzz.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5437963456602410146" /&gt;&lt;/a&gt;&lt;br /&gt;fuck yeah!&lt;br /&gt;&lt;br /&gt;И на всякий случай unfollow и block, unfollow и block, unfollow и block.. (блиа, нельзя было сделать прямо в том окошке множественный выбор? И вообще зачем сразу добавлять всех-то?).&lt;br /&gt;&lt;br /&gt;Ну и спрятать этот феерический ёбнутый логотип можно drag-n-drop'ом его в "More", чтобы не портил картинку.&lt;br /&gt;&lt;br /&gt;btw, mutt rulez:  &lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;font color="#375288"&gt;1 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;sendmail&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;/usr/bin/msmtp -a cra&amp;quot;&lt;/font&gt;&lt;br&gt;&lt;font color="#375288"&gt;2 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;use_from&lt;/font&gt;=&lt;font color="#077807"&gt;yes&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;3 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;realname&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;Spaceship Monkey&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;4 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;from&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;mailmonkey-of-spaceship-monkey@mail.ru&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;5 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;envelope_from&lt;/font&gt;=&lt;font color="#077807"&gt;yes&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;6 &lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;7 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;mailboxes&lt;/b&gt;&lt;/font&gt;&amp;nbsp;=&lt;font color="#077807"&gt;'[Gmail]/Label1'&lt;/font&gt;&amp;nbsp;=&lt;font color="#077807"&gt;'[Gmail]/Label2'&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;8 &lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;9 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;imap_user&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;ACC@gmail.com&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;10 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;imap_pass&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;PASS&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;11 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;unset&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;imap_passive&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;12 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;imap_keepalive&lt;/font&gt;=&lt;font color="#077807"&gt;300&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;13 &lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;14 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;smtp_url&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;smtps://ACC:PASS@smtp.gmail.com:465/&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;15 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;from&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;ACC@gmail.com&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;16 &lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;17 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;folder&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;imaps://ACC@imap.gmail.com:993&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;18 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;spoolfile&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;+INBOX&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;19 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;postponed&lt;/font&gt;=&lt;font color="#077807"&gt;&amp;quot;+[Gmail]/Drafts&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;20 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;message_cachedir&lt;/font&gt;=&lt;font color="#077807"&gt;~/.mutt/cache/bodies&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;21 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;certificate_file&lt;/font&gt;=&lt;font color="#077807"&gt;~/.mutt/cache/certificates&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;21 &lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;22 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;sort&lt;/font&gt;=&lt;font color="#077807"&gt;'threads'&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;23 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;sort_aux&lt;/font&gt;=&lt;font color="#077807"&gt;'last-date-received'&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;24 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#007080"&gt;imap_check_subscribed&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;25 &lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;26 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;indicator&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;27 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;message&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;white&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;28 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;normal&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;white&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;29 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;quoted&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;brightblue&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;30 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;signature&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;green&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;31 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;underline&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;green&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;32 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;status&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;white&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;33 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;from&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;34 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;green&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;from:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;35 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;green&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;to:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;36 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;green&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;cc:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;37 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;green&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;date:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;38 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;newsgroups:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;39 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;reply-to:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;40 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;brightcyan&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;subject:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;41 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;red&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;x-spam-rule:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;42 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;x-mailer:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;43 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;message-id:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;44 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;Organization:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;45 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;Organisation:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;46 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;User-Agent:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;47 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;message-id: &lt;/font&gt;&lt;font color="#912f11"&gt;.*&lt;/font&gt;&lt;font color="#077807"&gt;pine&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;48 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;X-Fnord:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;49 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;red&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;X-WebTV-Stationery:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;50 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;X-Message-Flag:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;51 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;X-Spam-Status:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;52 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;yellow&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;X-SpamProbe:&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;53 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;header&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;red&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#077807"&gt;&amp;quot;&lt;/font&gt;&lt;font color="#912f11"&gt;^&lt;/font&gt;&lt;font color="#077807"&gt;X-SpamProbe: SPAM&amp;quot;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;54 &lt;/font&gt;&lt;font color="#1f3f81"&gt;&lt;b&gt;color &lt;/b&gt;&lt;/font&gt;&lt;font color="#007080"&gt;tree&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;green&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color="#912f11"&gt;&lt;b&gt;default&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#375288"&gt;55 &lt;/font&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-771208775504369728?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/771208775504369728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=771208775504369728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/771208775504369728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/771208775504369728'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2010/02/dubuzzing.html' title='dubuzzing'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Cf0Fydi_JCo/S3eG88RXjKI/AAAAAAAAAN4/wPaAuOZBaPc/s72-c/buzz.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-7900630375380302844</id><published>2010-02-09T16:34:00.000-08:00</published><updated>2010-09-24T05:42:29.121-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='lifestyle'/><title type='text'>Вся правда об интервью (перевод)</title><content type='html'>&lt;span style="font-style:italic;"&gt;Это мой любительский &lt;span style="font-style:bold;"&gt;перевод &lt;a href="http://steve-yegge.blogspot.com/2006/03/truth-about-interviewing.html"&gt;статьи Стива Йегги об интервьюировании&lt;/a&gt;&lt;/span&gt; с закосом на художественность. Хотя он не только об интервью, имхо. Многие вещи тут можно отнести к другим областям налаживания контакта, обучению, работе.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Внимание: заголовок этой заметки очень неточен. По правде говоря, заметку стоило бы озаглавить так: "Частичная (В Лучшем Случае) и В Любом Случае Чрезвычайно Предвзятая Так Называемая 'Правда' О Некоторых Ограниченных Видах Технических Собеседований от Полностью Фанатичного Сноба-Задрота, Который Даже Не Знает, О Чём Он Говорит Потому Что ПэХаПЭ рУЛиТ И Вам Не Надо Знать Ничего Больше!!!" &lt;br /&gt;&lt;br /&gt;Правда, он получился немного длинноватым, так что мне пришлось сократить его. Но считайте, что я Вас предупредил. (И да, длинный вариант названия статьи мне тоже нравится больше!)&lt;br /&gt;&lt;br /&gt;Лана..&lt;br /&gt;&lt;br /&gt;Какой-то анонимный трус оставил коментарий в одном из моих блогов:&lt;br /&gt;&lt;br /&gt;Отсносительно хроник собеседований о том, как кто-то завалился или, наоборот, проскочил в процессе собеседовании о приёме на работу. Я бы хател заметить, что ты вообще-то сноб, не? Однозначно определя , я думаю, ты один из тех интервьюверов, кто стремится обтесать людей, работающих под его руководством в его небольших клонов. "Вы должны знать то-то и то-то, чтобы я рассматривал Вас как "настоящего программиста", иначе - пинками за дверь выгоню." Я думаю, это очень узколобо и вообще мне кажется удивительным, почему всё больше людей не идут работать по техническим направлениям, учитывая то, кто там сейчас правит балом. Вы все - игоисты и снобы, даже если и заслуженно.&lt;br /&gt;&lt;br /&gt;&lt;font color="#AAAAAA"&gt;&amp;lt;сатира&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Отлично сказано! Ну, за исключением последнего предложения, где пропущен глагол, не говоря уже о каком-либо подобии интеллегентности во всём предложении и пары ошибок. Ну, если это обросить, думаю, этому комментатору запросто можно дать должность главного редактора в каких-нибудь New York Times.&lt;br /&gt;&lt;br /&gt;И как только это произойдёт, - да я всегда был на его стороне! Нет, правда!&lt;br /&gt;&lt;br /&gt;Видите ли, я всегда думал, что было бы круто быть пилотом большого самолёта. Я пошёл на собеседование, но эти чёртовы снобы хотели, чтобы я был миниатюрным клоном их глоабльной идее-фикс "идеальный пилот аэролайнера." Они ожидали, что я буду знать всю эту херь о метеорологии, принципах электрических схем и всякую другую чушь одназначно не имеющую ничего общего стем, чтобы летать на самолёте. К тому же мне надо было принести им доказательство того, что я действительно налетал столько часов, видите ли, они иначе мне не верят, что я подхожу их требованиям. Это однозначно были "ребята старой школы", пытающиеся удержаться в седле как можно дольше, не давая проходу таким славным парням, как я. Да я вообще удивлён, что кто-то вообще попадает новенький к ним!&lt;br /&gt;&lt;br /&gt;Ну, тогда я подумал - а может, мне стать нейрохирургом? Но они даже не допустили меня до собеседования! Полным снобизма голосом, они сказали мне, что я должен знать гораздо больше о мозгах, хирургии и прочем барахле. А у меня, между прочим, в институте биология была! И я там лягушку препарировал. Ну и вооще, я довольно аккуратный парень. Я смышлёный и руки у меня не трясутся, и я вообще могу на ходу сообразить кучу всего, если потребуется. И я реально мотивирован к тому, чтобы заниматься нейрохирургией! Но они не рассматривают мои мозги, похоже, даже как полноценный материал для изучения. Во имя святого Нерва, ну как так можно?! Я думаю, эти хирурги-интервьюверы просто хладнокровные снобы. Они не ценят мои настоящие таланты. Они просто хотят жалких маленьких клонов для уже нанятых нейрохирургов.&lt;br /&gt;&lt;br /&gt;Но вообще, эти управляющие госпиталями и аэропортами... Это не все снобы, которые могут попасться на пути такого парня, как я, судя по моему же опыту. Знаете, я могу довольно неплохо жонглировать пятью шарами (у меня даже где-то есть видео, где я это делаю), и всё равно, каждый раз, когда я подаю заявку на вакансию жонглёра в Cirque de Soleil, мне даже не присылают ответа! Снобы! Ни строчки в ответ не пишут! Что не так с моим жонгрированием? Да ничего! Они просто хотят маленьких милых клонов &lt;a href="http://www.viktorkee.com/"&gt;Виктора Ки&lt;/a&gt;. Однозначно, они собираются платить этим жонглёром много денег за хорошую работу, но я думаю, они поступают довольно узколобо из-за того, что не рассматривают меня как кандидата.&lt;br /&gt;&lt;br /&gt;Тогда я написал кипу писем в Голливудские киностудии, позиционируя себя как дрессировщика животных, так как дома у меня живёт &lt;a href="http://www.google.com/search?q=shitzu"&gt;Ши-тцу&lt;/a&gt; по имени Чино, и иногда могу заставить его сидеть. В смысле, это заняло столько работы! Эта мелкая шавка почти совсем меня не слушает. Так что я довольно неплохо подхожу на вакансию дрессировщика. Конечно, я никогда не работал напрямую с медведем или тигром, но не может же это сильно отличаться. Надо просто кричать СИДЕТЬ! и потом скормить им печеньку, когда они наконец сделают это, так? Типа, специальную печеньку для тигра или специальную печеньку для медведя вместо собачей косточки. Но в целом-то, всё то же самое, уж я-то знаю. Но эти эгоисты-дрессировщиками пинками выталкали меня за дверь.&lt;br /&gt;&lt;br /&gt;Так что я пораскинул мозгами и понял: чувак, нет смысла работать с эгоистичными пилотами, нейрохирургами, циркачами и дрессировщиками. Они просто пытаются сделать побольше маленьких идеально скопированных клонов самих себя. Да ну нах!&lt;br /&gt;&lt;br /&gt;И я отомстил! Я оставил комментарий во всех их блогах, анонимно, конечно. Это задаст им жару! Я чувствую себя гораздо лучше после того, как я сказал им о том, какие они стая придурков, эти все нейродрессировщики летающих хирургов. Я даже пропустил пару глаголов, чтобы ещё больше их раздразнить. Они это заслужили, чёртовы дрочеры.&lt;br /&gt;&lt;br /&gt;Так что да, господин Комментатор. В яблочко просто! Кругом одни снобы!&lt;br /&gt;&lt;br /&gt;&lt;font color="#AAAAAA"&gt;&amp;lt;/сатира&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Небольшое(но популярное) недоразумение.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Прежде, чем я начну нестоящую запись в блоге, давайте развеем все сомнения: менеджеры - не единственные, кто вас собеседуют. Многие уровни собеседования проводятся специалистами, кто будет работать в той же команде, что и Вы. Никто не работает на меня, но моя компания всё равно время от времени приглашает меня на собеседования с потенциальными работниками.&lt;br /&gt;&lt;br /&gt;Так что мы не хотим кучу маленьких клонов, которые будут работать на нас. Мы хотим, чтобы они работали с нами &lt;font color="#AAAAAA"&gt;&amp;lt;/вот-теперь-правда-конец-сатиры&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Грубая Реальность.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Если вы хотите работать в комании типа Microsoft, Yahoo!, Apple или Amazon.com, у них будут высокие стандарты. То, что Вы "знаете, как программировать", в общем-то, неважно. Вот краткий перечень Ваших умений, которые они будут проверять: сложность алгоритмов, хитрые структуры данных, проектирование алгоритмов, поиск, сортировка, проблемы локализации, сетевые протоколы, механизмы манипулирования памятью на уровне операционной системы, семантический анализ строк, рекурсия, математическая индукция, теория графов, комбинаторика, теория реализации языков программирования, машинные архитектуры, дискретная математика и логика, графические и оконные системы, шрифты и типография, визуализация данных, базы данных и языки запросов, файловые системы и хранение данных, встраиваемые системы, протоколы сотовой и беспроводной связи и интернет-стандарты и технологии.&lt;br /&gt;&lt;br /&gt;Если повезёт, это всё.&lt;br /&gt;&lt;br /&gt;Если нет, они попросят вывести основные пункты их кандидатской диссертации об отказоустойчивых высокопроизводительных параллельных самообучаемых компьютерных системах. Ну, или решить сильно обобщённую вычислительную проблему с выключателями, грид-технологии и дифференциальные уравнения третьей степени. Или, боже упаси, они спросят Вас о самых тёмных особенностях синтаксиса Си++.&lt;br /&gt;&lt;br /&gt;Вам интересно, почему они спрашивают о всё этом барахле? Да потому что они используют это каждый день. Они пытались нанимать людей, кто не знает всего этого. Поверьте, они пытаются постоянно. Они хотят нанимать больше программеров, и они всегда ищут свежее мясо. Но когда они понижают их стандарты, они прогорают. Боинги падают, пациенты умирают, жонглёр роняет кеглю кому-нибудь на голову, а тигр разрывает кому-нибудь глотку. Говоря компьютерным языком: сервис недоступен несколько дней, они теряют миллионы; проект откладывается или вообще не завершается, они теряют контракты и клиентов; они теряют в схватке с теми бизнес-соперниками, кто нанимал более квалифицированных специалистов.&lt;br /&gt;&lt;br /&gt;Создать сайт на Ruby on Rails довольно просто. Научиться программировать тоже довольно просто. Многие люди пытаются и сдаются, не достигнув хотя бы этого. Но это жонглирование трёмя или пятью шарами. Этого недостаточно, чтобы попасть в Cirque du Soleils и в частные госпитали компьютерной индустрии. Я уверен, вы хотите быть гонщиком, инструктором по дельтапланеризму, корпоративным юристом, звукорежиссёром кинофильмов или инженером-аэромехаником. Но Вы знаете, что у вас недостаточно навыков или опыта. Почему же Вы считаете, что поверхностное знание (да, в общем-то, даже не только поверхностное) программирования автоматически квалифицирует Вас как потенциального рекрута в Microsoft?&lt;br /&gt;&lt;br /&gt;ИТ-компании обладают невероятно высокими стандартными, как и в любой другой професси. Кто убил, тот и съел. Если тебя убили и съели - сам виноват.&lt;br /&gt;&lt;br /&gt;Интервьюверы не могут проверить весь важный материал на собеседовании - по крайней мере, не тем способом, которым проходят собеседования сегодня. Поэтому они используют метод тыка. Они задают несколько поверхностных вопросов, чтобы почувствовать, как вы вообще хорошо знаете мир, в котором живёте, а потом несколько серьёзных вопросов, чтобы посмотреть, насколько хорошо вы можете думать самостоятельно, применять свои знания и выдавать креативные решения заддачам, похожим на те, с которыми им приходится сталкиваться ежедневно.&lt;br /&gt;&lt;br /&gt;Так оно и происходит. В теории. Само собеседование довольно искусственно. Я не фанат техник собеседования, которые использоуют все, но я ничего не могу с этим сделать. Так что я стараюсь из всех сил оценить программерские эквиваленты нейрохиругов и инженеров-аэромехаников в процессе 45-минутного разговора. Другого выбороа в общем-то и нет. Нет и ни у любого другого интервьювера.&lt;br /&gt;&lt;br /&gt;Хотя в общем-то, это не совсем правда, кое-что можно я могу сделать: я могу говорить об этом. Я открыт к обсуждениям, и иногда пишу об этом в моём блоге. Я предпологая, что мой стиль собеседования не сильно отличается от стиля тысячи других людей в сотне схожих хайтек-компаний.&lt;br /&gt;&lt;br /&gt;Как бы то ни было, я более приятный, потому что я учитываю мотивацию (в смысле желания улучшить самого себя) выше, чем любой другой фактор в интервью. Это способ, с помощью которого, в большинстве случаев, я смог попасть в компанию, куда собеседовался: моего энтузиузма было достаточно, чтобы закрыть некоторые мои ошибки. Так что я гораздо лучше отношусь к кандидатам, которые приходят ко мне на подъёме, в отличие от браздно шатающихся из конторы в контору.&lt;br /&gt;&lt;br /&gt;Но не все интервьюверы приятны, и я знаю много много других людей, проводящих собеседование, которые решили, что они могут точно оценить Вас на основании решения некоторых задач выпуклового анализа (или поиска в графе, или логических задач, или чем там является их главный их любимая тема), и они спрашивают каждого канидата этот вопрос вне зависимости от опыта или предыдущих мест работы. Я бы сказал, около 10% всех технических интервьюверов спрашивают один и тот же вопрос, год за годом, и ответ на этот вопрос может их интересовать гораздо больше Вашего предыдущего опыта.&lt;br /&gt;&lt;br /&gt;Вам повезло, вообще, что я об этом говорю, многие компании хранят их стратегии собеседований как коммерческую тайну, и довольно трудно получить какую-нибудь информацию об этом, если не походить по разным интервью.&lt;br /&gt;&lt;br /&gt;Подсказка таким компаниям: вы все делаете это одинаково. Хватить, чёрт побери, хранить это за семью печатями.&lt;br /&gt;&lt;br /&gt;Причина, по которой я пишу об этому, потому что я заинтересован во всём процессе:&lt;br /&gt;Я хочу улучшить свои навыки брать интервью.&lt;br /&gt;Я хочу улучшить процесс в целом, так как сейчас он далёк от идеального.&lt;br /&gt;Я хочу помочь кандидатам подготовиться к их собеседованиям.&lt;br /&gt;&lt;br /&gt;Как бы то ни было, если говорить об этом открыто, люди, к моему удивлению, расстраиваются. Правда, многие, похоже, не умеют внимательно слушать.&lt;br /&gt;&lt;br /&gt;С одной стороны, люди хотят работать, и любой намёк на то, что кто-то где-то может спросить вопросы, на которые они не знают ответа, заставляет их плеваться слюной от ярости. Странно, но они не учитывают при этом, что они не могут получить работу нейрохирурга или дрессировщика в цирке. Но при этом они думают, что небольшое представление о программировании означает, что они могут подавать резюме в любую технически ориентированную компанию на планете и любой, кто спросит их о чём-то, что они не знают, просто большой жестокий дрочер! (Я случайно обнаружил эту милую сентиментальность после моей недавней заметки в O'Relly Ruby Blog, так что наш Анонимный Трус не одинок в своём мнении.)&lt;br /&gt;&lt;br /&gt;Дружественная заметка плюющимся: не все области разработки программного обеспечения одинаковы. Подумайте об этом секундочку. Вы можете быть довольно неплохим веб-разработчиком, но это практически однозначно не даёт вам навыки работы на ядром ОС. Или вы можете быть действительно хорошим специалистом в ядрах ОС, но это практически однозначно не говорит о Вас как о хорошем веб-разработчике.&lt;br /&gt;&lt;br /&gt;Наша индустрия фрагментирована в той же степени, как медицинская, и поэтому существует так много разных рабочих ролей. Пока Вы не поймёте это, Вы будете расстраиваться, как только технический специалист на собеседовании будет спрашивать Вас о чём-то, что Вы не знаете. Если так, вдохните в грудь побольше воздуха и расслабьтесь, потому что они пока что не завели разговор о Ваших навыках. Они говорят о жонглировании или дельтапланеризме или о чём-то, что звучит похоже на то, чем Вы занимаетесь, но не совсем. Вы всегда можете найти интервьювера, который будет спрашивать Вас о том, о чём Вы действительно беспокоитесь.&lt;br /&gt;&lt;br /&gt;Другая группа людей, обижается на тех, кто их собеседует из-за стиля, который ими используется. Не существует однозначных методик взятия интервью и я вообще считаю, что это лоттерея. Но большинство людей, которые имеют некоторый опыт во взятии интервью, думают, что у них есть "свой метод", и они думают, что, когда я говорю о моём стиле, я пытаюсь уговорить их изменить свой. И они тоже очень много плюются.&lt;br /&gt;&lt;br /&gt;Ну же, просыпайтесь, злые люди! Существует сотни компаний, проводящих технические интервью. Они делают это для разных родов деятельности, включая администраторов баз данных, сисадминов, веб-разработчиков, программистов unix, программистов windows, программистов на java, программистов для мобильных телефонов и многие другие. Какую бы область не взять, все делают это одинаковым способом. Так что это не только я такой. Вообще, все эти люди, берущие интервью - ВЫ, как только Вы получаете эту работу.&lt;br /&gt;&lt;br /&gt;Так что, если Вы не можете получить работу, которую хочется, будь это разработчкик в Boeing, или пилот в American, не говорите мне об этом. Нытьё не изменит реальность в нашей области. Просто идите и освойте всё то, что они хотят, чтобы Вы знали.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;В поисках работы получше.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;После всего сказанного, Вы можете поинтересоваться, хотите ли Вы вообще работать в большой компании-разработчике. Стоит тщательно обдумать природу Вашей мотивации.&lt;br /&gt;&lt;br /&gt;Если Вы просто хотите делать деньги, можно с большой вероятностью найти работу, которая требует гораздо меньше технических навыков (или требует других технических навыков), чем работа в компаниях типа Microsoft. Приведу один пример из этих тысяч тысячей возможностей: можно набраться немного знаний по PHP и MySQL для разработки сайтов, и пойти найти какую-нибудь больниццу или страховую компанию или школу, которой нужно присутствие в сети, и они без сомнений будут платить Вам так же хорошо, как Microsoft.&lt;br /&gt;&lt;br /&gt;Если деньги это не всё, то Вам точно не нужно университетское образование в области информатики. Наша индустрия отчаянно нуждается в программистах, которые могут писать код на C#, Java, PHP, Perl, C++ и других популярных языках. Если Вы выучите один или два таких языка, Вы скорее всего сможете получить работу в довольно большом числе компаний.&lt;br /&gt;&lt;br /&gt;Следует, однако, иметь в виду, что работа в большинстве больших технических компаниях не очень-то гламурна, по крайней мере не настолько, как это может казаться извне. Например, я знаю много людей, которым нравятся видеоигры, и они предполагают, что программирование игр будет наиболее интересной областью программирования. И когда они получают работу в большой компании, издающей игры пачками, они вдруг обнаруживают, что это, вообще-то, куча нудной работы с жёсткими сроками, практически как и в любой другой области, где нужны программисты.&lt;br /&gt;&lt;br /&gt;Такова реальность - поставлять хороший софт всё сложнее и сложнее, так как ожидания заказчика постоянно растут. Вот почему компаниям приходится быть такими разборчивыми в процессе собеседования. Большие компании сталкиваются с серьёзными задачами, которые не встречаются в небольших конторах, включая комбинаторные взрывы связей и зависимостей, необходимость поддержки большой кодовой базы, социально-культурные проблемы, возникающие по мере роста компании, и необходимость искать абсолютно новые вложения в результате давления с Wall Street.&lt;br /&gt;&lt;br /&gt;Так что большинство компаний ищут комбинацию навыков: им нужна смесь из "юнцов", которые будут поддерживать их дело живым и "старичков", которые будут помогать им обходить те ямы, в которые они могут сами себя закопать по мере быстрого роста.&lt;br /&gt;&lt;br /&gt;Ничего гламурного, не правда ли? На практике, стартапы гораздо более гламурны. Вы двигаетесь быстро; вы работаете в бурно развивающейся области, с новыми идеями, Вы выжимаете из команды все соки, чтобы обогнать конкурентов и влезть в сроки, поставленные инвестором. Вы можете заставить работать гениальные вещи и беспокоитаться по поводу масштабирования и их совершенствования потом. Все самые интересные вещи происходят в момент становления компании.&lt;br /&gt;&lt;br /&gt;Ложка дёгтя состоит в том, что вам приходится иметь дело с гораздо большим риском. В большой компании есть стабильность, а это чего-то да стоит. Несколько провалившихся стартапов быстро снизит потребность в риске, по крайней мере, не некоторое время.&lt;br /&gt;&lt;br /&gt;Так что Вам надо решить, чего же Вам хочется. Но нравится Вам это или нет, если Вы хотите работать разработчиком ПО в большой знаменитой компании высшего звена, там будут собеседования, которые могут быть просто адом. Даже если Вы действительно неплохой разработчки, есть шанс, что Вы не пройдёте.&lt;br /&gt;&lt;br /&gt;У Вас есть некоторый контроль над происходящим, и это не тот контроль, который вы можете использовать, чтобы оставлять озлобленные коментарии в моих блогах.&lt;br /&gt;&lt;br /&gt;Как вы можете принять участие в изменениях? Ну, для начала проведите некоторое расследование. Довольно просто выяснить, для каких целей компания проводит интервью, и что это за интервью, как они проходят и какие требования предъявляются. Просто прочитайте описание вакансий на их вебсайте. Они обычно довольно честно написаны, что-нибудь в духе "Бакалаврская степень в прикладной математике или эквивалентной области", или же там прямо написано, какими методами и технологиями необходимо хорошо владеть, чтобы попасть к ним. Если Вы рассматриваете какую-то конкретную компанию, до прохождения интервью имеет смысл спросить у человека, рекрутирующего Вас, какого рода вопросы можно ожидать на собеседовании.&lt;br /&gt;&lt;br /&gt;Если компания собирается спрашивать Вас вопросы, которые, по Вашему мнению, не особо важны - не работайте в этой компании! Если Вы правы, они выйдут из бизнеса, рано или поздно. Ну или как минимум, Вы можете податься в компанию, в которой, по Вашему мнению, приоритеты совпадают с Вашими собственными. Не любишь - не целуй!&lt;br /&gt;&lt;br /&gt;Как только Вы начнёте работать где-то, Вы рано или поздно будете проводить собеседования с принимающей стороны. Если Вам не нравится существующей подход к собеседованиям, закатите скандал об этом, и, может быть, Вас послушают. Компании не хотят получать случайно проскочивших работников или отшивать хороших претендентов, так же, как и Вы. Если у Вас есть хорошая идея о том, как улучшить процесс, дайте им знать. Существуют куча способов маленьких изменений, которые можно попробовать. Или, может быть, они согласятся провести эксперимент с кардинально новым способом собеседований и посмотреть на результаты.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;А я всё равно попридираюсь!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Вперёд - комментируйте. Именно поэтому я открыл этот блог для анонимных комментариев. До текущего момента, во всяком случае. Но вообще, комментарии в блоге не несут больших перемен.&lt;br /&gt;&lt;br /&gt;Если Вы действительно хотите что-то изменить и начать изменять представления людей об этом, заведите свой блог и выражайте свои хорошо продуманные мнения там. Это бесплатно, это просто, и мы ВСЕ сейчас имеем доступ к самовыражению в таком духе. Если вы хотите развить школу альтернативных взглядов на собеседования, что же, я буду рад почитать, что вы там напишете. Похоже, практически любая новая идея будет лучше, чем та неразбериха, с которой мы имеем дело сегодня.&lt;br /&gt;&lt;br /&gt;Вся правда о собеседованиях заключается в том, что каждый делает это по-своему, и оно всегда об одном и том же: люди спрашивают о том, что они знают. Никто не является экспертом в оценке навыков, которыми они не владеют, так что тенденция делать клонов, вообще говоря, очень распространена - тот самый коментатор хотя бы об этом точно сказал. Лучшее, что многие из нас могут сделать - как минимум нанять высококвалифицированных клонов, которые, в случае найма, будут будут представлять наименьший риск прогрызания глотки тем самым тигром, которого они пишут.&lt;br /&gt;&lt;br /&gt;И пожалуйста: если Вы чего-то не знаете, не надо огрызаться на нас. Просто почитайте об этом на Википедии. Это не так сложно, как кажется!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-7900630375380302844?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/7900630375380302844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=7900630375380302844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/7900630375380302844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/7900630375380302844'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2010/02/blog-post_06.html' title='Вся правда об интервью (перевод)'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-95380150152014022</id><published>2010-02-07T02:46:00.000-08:00</published><updated>2010-02-09T04:26:39.876-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='задрот'/><category scheme='http://www.blogger.com/atom/ns#' term='mcabber'/><title type='text'>Urxvt links parsing</title><content type='html'>Когда меня наконец-то задолбало постоянно кликать третьей кнопкой мыши в тонкой адресной строке моего браузера, перед этим тщательно выделяя ссылки в mcabber, снабжённые вялыми описаниями моих друзей "ZOMG! INVISIBLE SANDWICH!", я решил посмотреть, что же можно с этим сделать. Оказалось практически как с метрономами и тюнерами фирмы KORG: батарейки входят в комплект, но с неожиданной стороны коробки.&lt;br /&gt;Добавляем следующие строчки в наш .Xresources:&lt;br /&gt;&lt;font color="#a52a2a"&gt;1 &lt;/font&gt;&lt;font color="#2e8b57"&gt;&lt;b&gt;URxvt&lt;/b&gt;&lt;/font&gt;*&lt;font color="#2e8b57"&gt;&lt;b&gt;perl-ext-common&lt;/b&gt;&lt;/font&gt;:&lt;font color="#ff00ff"&gt;&amp;nbsp;default,matcher&lt;/font&gt;&lt;br&gt;&lt;font color="#a52a2a"&gt;2 &lt;/font&gt;&lt;font color="#2e8b57"&gt;&lt;b&gt;URxvt&lt;/b&gt;&lt;/font&gt;*&lt;font color="#2e8b57"&gt;&lt;b&gt;keysym&lt;/b&gt;&lt;/font&gt;.&lt;font color="#2e8b57"&gt;&lt;b&gt;C-g&lt;/b&gt;&lt;/font&gt;:&lt;font color="#2e8b57"&gt;&lt;b&gt;&amp;nbsp;perl&lt;/b&gt;&lt;/font&gt;:&lt;font color="#ff00ff"&gt;matcher&lt;/font&gt;&lt;br&gt;&lt;font color="#a52a2a"&gt;3 &lt;/font&gt;&lt;font color="#2e8b57"&gt;&lt;b&gt;URxvt&lt;/b&gt;&lt;/font&gt;*&lt;font color="#2e8b57"&gt;&lt;b&gt;urlLauncher&lt;/b&gt;&lt;/font&gt;:&lt;font color="#ff00ff"&gt;&amp;nbsp;firefox&lt;/font&gt;&lt;br&gt;&lt;font color="#a52a2a"&gt;4 &lt;/font&gt;&lt;font color="#2e8b57"&gt;&lt;b&gt;URxvt&lt;/b&gt;&lt;/font&gt;*&lt;font color="#2e8b57"&gt;&lt;b&gt;colorUL&lt;/b&gt;&lt;/font&gt;:&lt;font color="#ff00ff"&gt;&amp;nbsp;#86a2be&lt;/font&gt;&lt;br&gt;&lt;br /&gt;И по нажатию ctrl-g у нас будет открываться в firefox последний url-match. &lt;br /&gt;Можно ещё мышкой кликать (по умолчанию - средняя кнопка, но можно настроить через URxvt*matcher.button). И вообще, в man 3 urxvtperl много чего любопытного написано, оказывается.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-95380150152014022?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/95380150152014022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=95380150152014022' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/95380150152014022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/95380150152014022'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2010/02/urxvt-links-parsing.html' title='Urxvt links parsing'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-3312223320138397203</id><published>2010-02-04T11:07:00.000-08:00</published><updated>2010-02-04T11:12:16.071-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Проблема российской музыки</title><content type='html'>Студийное качество ещё хоть более-менее умеют "подтягивать", не смотря на то, что в, условно, даже 10-милионном городе находится только 1 композитор. &lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=7vMVnf09rVg"&gt;Виагра - бриллианты&lt;/a&gt;&lt;br /&gt;Нет, я не спорю, отличная партия ритм-секции и вокал даже пытается как-то соответствовать.&lt;br /&gt;А теперь слушаем &lt;a href="http://www.youtube.com/watch?v=DVT-DMdoQi0"&gt;live-версию этого трешака&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;И сравнить примерно того же время выхода клип &lt;a href="http://www.youtube.com/watch?v=3fBdgZUtpBg"&gt;katty perry - i kissed a girl&lt;/a&gt; и unplugged-версию этой же песни (у нас в эстраде свинговать-то даже на записи боятся.) &lt;a href="http://www.youtube.com/watch?v=z4UWiSWunaM"&gt;тут&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Копнём полуандеграунд и без вокала? Пожалуйста. Battles, например. &lt;a href="http://www.youtube.com/watch?v=1LLAN29W-4w"&gt;Пример&lt;/a&gt;&lt;br /&gt;У нас есть что-то подобное? Everything is made in china? &lt;a href="http://www.youtube.com/watch?v=mJgeTwJQobo"&gt;Один из их крайних треков &lt;/a&gt;&lt;br /&gt;Я слышал их на разогреве 65daysofstatic. Пятьдесят минут, пятнадцать примочек и ни одной запоминающейся мелодии.&lt;br /&gt;В прочем, разогревы это вообще ужас.&lt;br /&gt;На разогрев Riverside вышла какая-то сумашедшая команда dark heaven. Барабанщик постоянно сбивался, когда переходил на кардан, а вокалистка мазала мимо нот. Все в масках, кроме вокалистки. Тут я даже пожалел, что я отлично вижу с такого расстояния - лучше бы и она была в маске.&lt;br /&gt;&lt;br /&gt;В тоже время в музыкальном колледже я постоянно слышу и вижу отличных вокалисток, владение голосом которых заставляет меня чуть ли не яростно онанировать прямо там, гитаристов, которые понимают, что лучшее соло Джона Петруччи - это то, что он сыграл в Hollow Years на бутлеге Budokan, причём шред там совершенно был лишним и басистов, которые умеют слушать барабанщика и не пытаются в каждую паузу напихать побольше кривого слэпа.&lt;br /&gt;Куда они все деваются, блин?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-3312223320138397203?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/3312223320138397203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=3312223320138397203' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/3312223320138397203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/3312223320138397203'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2010/02/blog-post.html' title='Проблема российской музыки'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-3060139512940891564</id><published>2010-02-02T14:52:00.000-08:00</published><updated>2010-02-02T15:05:10.273-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>latex2html</title><content type='html'>I do think it's good. No matter, how hardly I study it, no matter how I take it apart..&lt;br /&gt;&lt;br /&gt;Я настолько свыкся с техом, что мне уже непривычно набирать объёмные структурированные документы в чём-то другом. Однако, до сих пор встречаются люди, недолюбливающие pdf, но на вопрос "Хорошо, а если это будет html?" уверенно отвечающие "да не вопрос!"&lt;br /&gt;&lt;br /&gt;Специально для таких есть вариант простой конвертации одного в другое, и этому perl-скрипту даже посвещена довольно &lt;a href="http://wiki.botik.ru/LaTeX/LaTeX2html"&gt;куцая страница на википедии&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Пример вызова:&lt;br /&gt;&lt;blockquote&gt;$ latex2html -show_section_numbers -t "Для Служебного Пользования" -noinfo -nonavigation -split 0 filename.tex &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Параметры:&lt;br /&gt;-noinfo уберёт раздел "Об этом документе..."&lt;br /&gt;-split 0 не будет разбивать документ на кусочки&lt;br /&gt;-t "BLABLABLA" заголовок страницы&lt;br /&gt;-show_section_numbers показывать номера в разделах, номера берутся из filename.aux &lt;br /&gt;&lt;br /&gt;Пример документа для данной штуки (крайне куц, тоже):&lt;br /&gt;&lt;blockquote&gt;\documentclass[12pt,a4paper,oneside]{article}&lt;br /&gt;\usepackage[russian]{babel}&lt;br /&gt;\setcounter{secnumdepth}{2}&lt;br /&gt;\setcounter{tocdepth}{2}&lt;br /&gt;&lt;br /&gt;\begin{document}&lt;br /&gt;\tableofcontents&lt;br /&gt;\input{main-koi}&lt;br /&gt;&lt;br /&gt;\end{document}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;где main-koi содержит обычную теховскую стрктуру --- section, subsection, etc&lt;br /&gt;&lt;br /&gt;И да, эта дура не очень любит не-английские тексты (и юникод, похоже, тоже), поэтому потом придётся вскрыть выходной файлик и прописать ручками в соответствующем meta-тэге &lt;span style="font-weight:bold;"&gt;content-type = text/css; charset = koi8-r&lt;/span&gt;, а то несчастные хомячки опять будут вопить о том, что "у тебя там кракозяблики"&lt;br /&gt;&lt;br /&gt;А на дворе стояло начало второй декады двадцать первого века..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-3060139512940891564?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/3060139512940891564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=3060139512940891564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/3060139512940891564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/3060139512940891564'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2010/02/latex2html.html' title='latex2html'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-4060582739420442691</id><published>2009-10-22T00:39:00.000-07:00</published><updated>2009-10-22T01:14:37.462-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qt'/><category scheme='http://www.blogger.com/atom/ns#' term='shitware'/><title type='text'>Microsoft Visual Studio 2005 + qt 2009.4 integration</title><content type='html'>По горячим следам пишу пляски с бубном по установке йобаного qt-integration в microsoft visual studio 2005&lt;br /&gt;&lt;br /&gt;В моём случае использовалось:&lt;br /&gt;&lt;li&gt; ArchLinux + VirtualBox 3.0.8 + WinXP в нём&lt;br /&gt;&lt;li&gt; Microsoft Visual Studio 2005&lt;br /&gt;&lt;li&gt; Qt 4.5.0 (2009.04)&lt;br /&gt;&lt;li&gt; Qt visual studio integration add-in 1.1.0&lt;br /&gt;&lt;li&gt; 4 часа времени (умножить на число неудачных попыток собрать с другими параметрами)&lt;br /&gt;&lt;li&gt; 2 кружки чая&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#999999"&gt;&lt;tr&gt;&lt;td&gt;Вкратце: чтобы всё заработало с минимумом плясок в будущем, надо пересобрать qt компилятором от msvs. Здесь описывается success story этих свистоплясок&lt;/tr&gt;&lt;/td&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Процедура манипуляций:&lt;br /&gt;0x0) поставить Arch, VirtualBox, WinXP&lt;br /&gt;0x1) туда влепить MSVS 2005 (я вырезал всё, кроме Visual C++) - примерно 1.1 Gb&lt;br /&gt;0x2) ставить qt-sdk-win-opensource-2009.04.exe&lt;br /&gt;0x3) она поставится ну, пусть в C:\Qt\2009.04. Делаем там же копию, допустим, в C:\Qt\2009.04vc&lt;br /&gt;0x4) достать бубен, стряхнуть пыль. Распечатать соответствующие man-тры&lt;br /&gt;0x5) открыть MS Visual Studio Command Prompt (из MSVS -&gt; Tools), можно в принципе, просто запустить нужный батник vcvarsall.bat, который пропишет все переменные, перейти в созданную нами папку&lt;br /&gt;0x6) конфигуем сборку. Единственный вариант ключей к configure, который потом у меня удачно собрался, был этот:&lt;br /&gt;&lt;blockquote&gt;configure.exe -platform win32-msvc2005-no-sql-sqlite-no-qt3support-no-dbus -no-phonon -no-phonon-backend -no-webkit&lt;/blockquote&gt;&lt;br /&gt;Даже несмотря на поставленный psql, варианты типа -plugin-sql-psql не срабатывали, так как не могли найтись нужные библиотечные файлы (естественно, в системе присутствовавшие). Поэтому я решил, что стоит сначала собрать всё, как есть, а потом, если что, доставить (ибо процедурка сборки довольно длительная)&lt;br /&gt;0x7) запускаем nmake и можно &lt;s&gt;откинуться на спинку кресла&lt;/s&gt; идти курить бамбук - оно ещё долго не будет от нас ожидать каких-то действий.&lt;br /&gt;Сборка заняла на моей виртуальной машине (WinXP, ~1.5Gb ram) около 3 часов. Это самое противное, потому что, примерно столько же по времени занимали опыты с, как выяснилось, неудачными параметрами сборки.&lt;br /&gt;0x8) ставим qt-vs-addin-1.1.0, запускаем msvs 2005. Если всё хорошо - переход к пункту 13.&lt;br /&gt;0x9) студия сказала - иди ты, не буду никаких плагинов брать или что-то в этом духе. Никаких дополнительных меню не появилось. Расстроенное &lt;s&gt;перелогиниваемся&lt;/s&gt; перезагружаемся.&lt;br /&gt;0xA) открываем студию снова, видим, что появилось новое меню Qt. Если в qt options показывается поставленная (собранная нами) версия qt - переход к пункту 13.&lt;br /&gt;0xB) громко матерясь, попробовать добавить версию qt самостоятельно. Если добавилась (надо указать правильный путь. В нашем случае это c:\Qt\2009.04vc) - переход к пункту 13.&lt;br /&gt;0xC) прописать в переменные среды (My Computer -&gt; Advanced -&gt; Environment Variables. лучше в глобальные) QTDIR=c:\Qt\2009.04vc. &lt;s&gt;Перелогиниться&lt;/s&gt; перегрузиться.&lt;br /&gt;0xD) если теперь правильная версия не подцепилась - подключить вручную. &lt;br /&gt;0xE) открыть какой-нибудь Qt project (из соответствующего пункта меню Qt -&gt; open .pro), убедиться в работоспособности...&lt;br /&gt;0xF) ...&lt;br /&gt;0x10) PROFIT!&lt;br /&gt;&lt;br /&gt;В итоге из Microsoft Visual Studio - About Microsoft Visual Studio примерно следующая информация:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Microsoft Visual Studio 2005&lt;br /&gt;Version 8.0.50727.42  (RTM.050727-4200)&lt;br /&gt;Microsoft .NET Framework&lt;br /&gt;Version 2.0.50727 SP1&lt;br /&gt;&lt;br /&gt;Installed Edition: Professional&lt;br /&gt;&lt;br /&gt;Microsoft Visual C++ 2005   77626-009-0000007-41572&lt;br /&gt;Microsoft Visual C++ 2005&lt;br /&gt;&lt;br /&gt;Qt4 Add-in 1.1.0&lt;br /&gt;For more information about the Qt 4 Add-in, see &lt;br /&gt;http://qt.nokia.com&lt;br /&gt;Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Инджой.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-4060582739420442691?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/4060582739420442691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=4060582739420442691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/4060582739420442691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/4060582739420442691'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/10/microsoft-visual-studio-2005-qt-20094.html' title='Microsoft Visual Studio 2005 + qt 2009.4 integration'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-2700362040975456140</id><published>2009-09-25T01:58:00.002-07:00</published><updated>2009-09-25T05:11:42.240-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='pedo'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Отличный пример для объяснения импликации</title><content type='html'>Существует логическая операция, называемая импликацией [1] (обозначается стрелочкой)&lt;br /&gt;Обычно она объясняется как "посылка -&gt; следствие"&lt;br /&gt;Стандартно у преподавателя возникает небольшая заминка с тем, какой пример выбрать для иллюстрации таблицы итинности данной операции. Наиболее удачное из того, что я слышал: x={"Студент сдаст хорошо сессию"} y={"Папа купит ему машину"}. Однако, это не совсем удачная иллюстрация, потому что как-то не очень близка к действительности. Напомню, что x-&gt;y == 0 только в том случае, если студент действительно хорошо сдал сессию, а папа машину ему не купил (наоборот, если студент сдал плохо, а папа купил ему машину, то папу лжецом уж точно не назовёшь).&lt;br /&gt;&lt;br /&gt;Внезапно однажды на занятии у меня родилась шикарная идея, какие два события лучше подходят для описания: x={"Девушка забеременела"}, y={"Её мальчик на ней женился"}. Тогда x-&gt;y = {"Если девушка забеременела, мальчик на ней женился"}. Действительно, если девушка не забеременела, а мальчик не женился, никакого обмана не произошло, и x-&gt;y истинно, если девушка не забеременела, а мальчик, тем не менее, женился, то он, бесспорно, благородный дон и высказывание x-&gt;y всё равно истинно (никто никого не обманул). Если же девушка забеременела и парень женился, то всё опять же истинно (мужик сказал - мужик сделал!). Однако, если же девушка забеременела, а парень на ней не женился, он, конечно же, козёл. И в этом месте даже самые отстающие школьники понимают, что информатика гораздо ближе к жизни и радостно поддакивают своими милыми мордашками "козёл, конечно!".&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt; [1] http://ru.wikipedia.org/wiki/Импликация&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-2700362040975456140?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/2700362040975456140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=2700362040975456140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2700362040975456140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2700362040975456140'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/09/blog-post.html' title='Отличный пример для объяснения импликации'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-2869911469188440625</id><published>2009-09-17T02:18:00.000-07:00</published><updated>2009-11-29T06:08:22.753-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>HOWTO create custom theme for SLIM</title><content type='html'>Мне надоело запускать иксы каждый раз из консоли при логине (я посчитал, что иксы мне _НЕ_ пригодились разве что 5 раз за последние два месяца. Мой знакомый, когда это увидел, помахал мне ручкой с приветом из 80-х), поэтому решил-таки поставить себе простенький логин-менеджер (под Зенволком начиная с какого-то момента соответствующий runlevel перестал адекватно работать, вешаясь при начальной стадии загрузки) Выбор пал на SLIM - simple login manager. Воистину, предельно простая штука, к тому же стоит в репозитории и с кучей тем.&lt;br /&gt;&lt;br /&gt;В прочем, стандартные темы - конечно, хорошая штука, но хочется чего-то персонального. Моя сестра хорошо рисует, поэтому я решил использовать один из её рисунков в качестве фонового рисунка для логин-менеджера. Вот, что получилось в итоге:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://incraft.ru/cra/slim-small.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 596px; height: 360px;" src="http://incraft.ru/cra/slim-small.png" border="0" alt="" size="50%"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Соответственно, конфиг слима крайне прост - надо было добавить его в DAEMONS в /etc/rc.conf (I'm running Arch Linux), и чуток подправить картинки и конфигурационный файл в /etc/slim.conf&lt;br /&gt;&lt;br /&gt;Вот конфиг темы:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;[cra@cratop 13:28:59 ~]&lt;br /&gt; $ cat /usr/share/slim/themes/tail/slim.theme &lt;br /&gt;# playing with a tail&lt;br /&gt;# Author: Igor Mosyagin &lt;igor.mosyagin@gmail.com&gt;&lt;br /&gt;# Artist: Ira Mosyagina &lt;alagara@list.ru&gt;&lt;br /&gt;# based upon archlinux-darch-grey theme&lt;br /&gt;&lt;br /&gt;# Messages (ie: shutdown)&lt;br /&gt;msg_color               #FFFFFF&lt;br /&gt;msg_font                Verdana:size=18:bold&lt;br /&gt;msg_x                   50%&lt;br /&gt;msg_y                   30%&lt;br /&gt;msg_shadow_color        #000000&lt;br /&gt;msg_shadow_xoffset      1&lt;br /&gt;msg_shadow_yoffset      1&lt;br /&gt;&lt;br /&gt;# valid values: stretch, tile&lt;br /&gt;background_style        stretch&lt;br /&gt;background_color        #000000&lt;br /&gt;&lt;br /&gt;# Input controls&lt;br /&gt;input_panel_x           50%&lt;br /&gt;input_panel_y           85%&lt;br /&gt;input_name_x            5&lt;br /&gt;input_name_y            54&lt;br /&gt;input_font           Verdana:size=9:bold&lt;br /&gt;input_fgcolor           #FF0000&lt;br /&gt;&lt;br /&gt;# Username / password request&lt;br /&gt;username_font           Verdana:size=9:bold&lt;br /&gt;username_color         #FFFFFF&lt;br /&gt;# souradnice username_msg&lt;br /&gt;username_x              50%&lt;br /&gt;username_y              20&lt;br /&gt;# souradnice password_msg&lt;br /&gt;password_x              50%&lt;br /&gt;password_y              20&lt;br /&gt;username_shadow_color   #000000&lt;br /&gt;username_shadow_xoffset 1&lt;br /&gt;username_shadow_yoffset 1&lt;br /&gt;&lt;br /&gt;username_msg            username:&lt;br /&gt;password_msg            password:&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Предельно просто, без всяких дополнительных усложнений со стороны конфигурационных утилит и все параметры на виду и понятны. PROFIT!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-2869911469188440625?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/2869911469188440625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=2869911469188440625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2869911469188440625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2869911469188440625'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/09/howto-create-custom-theme-for-slim.html' title='HOWTO create custom theme for SLIM'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-5413374465020280611</id><published>2009-09-12T00:39:00.000-07:00</published><updated>2009-09-12T00:59:52.990-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ion3'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Zenwalk 6.2: epic fail.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://imgs.xkcd.com/comics/cautionary.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 665px; height: 277px;" src="http://imgs.xkcd.com/comics/cautionary.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Всё, пришло время менять дистрибутив.&lt;br /&gt;Я два с половиной года сижу на &lt;a href="http://www.zenwalk.org"&gt;Zenwalk&lt;/a&gt;, недавно они выпустили следующую версию - 6.2. На моём ноутбуке сидит 6.0, я практически не пользуюсь иксовым софтом, поставляемым от дистрибутива (zenpanel, xfce, totem, geany). До недавнего времени всё работало, но я прозевал смену версии и не успел поставить какие-то пакеты из репозитория (эта политика закрытия старых репозиторий в основанных на версиях дистрибутивах меня безумно раздражает). Я понимаю, что если я опять скачаю инсталяционный диск, запишу его на болванку и поставлю систему "с нуля", то всё будет работать, а у меня в uname будет написано 6.2 вместо 6.0, но что-то внутри против такого решения.&lt;br /&gt;Соответственно, после выполнения ритуальных netpkg update, слетели иксы, запустить которые быстро не удалось (как уже потом стало ясно, вопрос пакетного менеджера "upgrade whole system?" не подразумевает установку дополнительных пакетов, необходимых для нормального функционирования системы). В общем, третий раз подряд апдейт провалился. Кажется, нормально проапгрейдить систему у меня получилось только один раз - с Zenwal 4.0 до Zenwalk 4.2. Сурово поматерясь и потратя полчаса на поиски болванки в общаге, в итоге был закачан archlinux и после двух-трёх часов конфигурации, я снова влюбился :) Да, почти голая система после установки, зато нет ничего лишнего и всё предельно просто, без излишних упрощений. В общем, философия Arch (&lt;a href = http://wiki.archlinux.org/index.php/The_Arch_Way&gt;The Arch Way&lt;/a&gt;) мне кажется более сохранённой, чем философия Zenwalk ("unix way - one task, one program." - Сильно ломается в последнее время, в связи с уходом одно с небольшим скандалом из постоянных контрибьюторов товарища gapan и в след за ним уходом ещё некоторого количества достаточно влиятельных людей).&lt;br /&gt;Короче, я доволен Archlinux, пока не всё настроил, но высокая степень прозрачности системы очевидна. Любимый оконный менеджер ion3 встал легко и непринуждённо, хотя с настройкой клавы и пришлось немножко повозиться.&lt;br /&gt;А самое главное! Тут нет погони за версиями. Просто rolling releases, которые регулярно отображаются в виде "а вот исошник тут - дамп основных пакетов из репозитория. Бери, коль инета нет".&lt;br /&gt;Так что, два с половиной года с Zenwalk было весело, но пора уже и честь знать. Судя по всему, с Archlinux повеселее будет :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-5413374465020280611?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/5413374465020280611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=5413374465020280611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5413374465020280611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5413374465020280611'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/09/zenwalk-62-epic-fail.html' title='Zenwalk 6.2: epic fail.'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-5266086517021905482</id><published>2009-09-09T05:51:00.000-07:00</published><updated>2009-09-17T03:10:08.923-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>MIDI keyboard under linux (как подружить usb midi keyboard, fluidsynth и jack)</title><content type='html'>Вчера наконец-то заставил работать под линуксом миди-клавиатуру (честно говоря, не совсем наконец-то, всего второй раз пробовал)&lt;br /&gt;&lt;br /&gt;Мне нужно в основном для занятий по сольфеджио, поэтому я настраивал наиболее простым образом - чтобы играло и не надо было нажимать никаких специальных кнопок - просто по нажатии клавиши из колонок доносился звук.&lt;br /&gt;&lt;br /&gt;Общая схема подключения оказалась такой: &lt;br /&gt;0. втыкаем клаву&lt;br /&gt;1. запускаем демон jackd с нужными параметрами (см. ниже)&lt;br /&gt;2. стартуем fluidsynth указывая, что надо использовать jack и определённый soundfont (без него ничего не получится)&lt;br /&gt;3. связываем средствами ALSA ввод с миди с выходом fluidsynth&lt;br /&gt;4. связываем jack-ом выход fluidsynth с системным выходом.&lt;br /&gt;5. ?????????&lt;br /&gt;6. PROFIT&lt;br /&gt;&lt;br /&gt;&lt;a href="http://issl.ru/~cra/RUN_FUCKING_POCKEMON_WITH_MIDI_KEYBOARD.html"&gt;скриптец с раскраской, требует допиливания, чтобы заработало&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Если говорить в терминах команд, то получаем следующее:&lt;br /&gt;Запускаем джек: &lt;blockquote&gt;jackd -dalsa -dhw:0,0 -r44100 -p512 -n4 &amp;&lt;/blockquote&gt;&lt;br /&gt;Теперь запустим синтезатор, скормив ему звуковой шрифт:&lt;br /&gt;&lt;blockquote&gt;fluidsynth -ajack /home/cra/Unison.SF2&lt;/blockquote&gt;&lt;br /&gt;Кстати, откроется шелл, в котором можно регулировать gain командой gain X, где X - число от 1 до 5. Остальные команды, в общем-то, не столь важны.&lt;br /&gt;&lt;br /&gt;Далее, смотрим, какие порты у нас открыты по выводу команды &lt;blockquote&gt;aconnect -o&lt;/blockquote&gt;&lt;br /&gt;И подключаем вывод клавиатуры к входу синтезатора: что-то в духе &lt;blockquote&gt;aconnect 128:0 20:0&lt;/blockquote&gt;&lt;br /&gt;Ну а теперь надо подцепить выход синтезатора джэком к системному выводу звука:&lt;br /&gt;&lt;blockquote&gt;jack_connect fluidsynth:left system:playback_1&lt;br /&gt;jack_connect fluidsynth:right system:playback_2&lt;/blockquote&gt;&lt;br /&gt;Всё, из колонок должны доноситься звуки.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-5266086517021905482?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/5266086517021905482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=5266086517021905482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5266086517021905482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5266086517021905482'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/09/midi-keyboard-under-linux-usb-midi.html' title='MIDI keyboard under linux (как подружить usb midi keyboard, fluidsynth и jack)'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-8622265907207382667</id><published>2009-04-29T01:14:00.000-07:00</published><updated>2009-04-29T01:22:03.338-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ion3'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><title type='text'>screen splitting</title><content type='html'>Есть очень удобная тулза, gnu screen, которую я использую в связке сервер - скрин - приложения.&lt;br /&gt;По сути, это тот же концепт, что и виртуальные рабочие столы, только для консоли. Основное преимущество в том, что при разрыве коннекта мы можем подключиться потом к серверу и вернутся в тот же экран, где всё как раз на том же месте и осталось.&lt;br /&gt;Собственно, это делается командой screen -dAR - в такой комбинации параметров, если скрина не было, создаётся новый, а если был, то он дополнительно ресайзится в окно, в котором запущен.&lt;br /&gt;&lt;br /&gt;ctrl-A x - lock screen&lt;br /&gt;ctrl-A h - hardcopy current view. Очень удобная команда, делает ascii-скриншот того, что видно&lt;br /&gt;ctrl-A S - split screen - разбивает область со скринами на две, так, что можно в одной открыть tail -f какого-то лога, а в другой собственно проводить манипуляции с серваком.&lt;br /&gt;ctrl-A :resize +-N - изменить размер текущего фрейма. Такой консольный ion3 получается :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-8622265907207382667?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/8622265907207382667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=8622265907207382667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/8622265907207382667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/8622265907207382667'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/04/screen-splitting.html' title='screen splitting'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-5722780029345353595</id><published>2009-03-27T00:42:00.000-07:00</published><updated>2009-03-27T00:48:25.369-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>bash wrapper scripting - parameters</title><content type='html'>краткий ответ: $@&lt;br /&gt;&lt;br /&gt;сам пост:&lt;br /&gt;Допустим, есть какая-то уже налаженная схема запуска чего-либо, где всё настроено и работает, но хочется чуть-чуть изменить процесс, причём где-то в середине и без особого гемороя. Легко и просто - заменяем исполняемую команду на скриптег, который делает наши действия и потом вызывает саму настоящую программу. Бида, бида нас ждёт, если сделать всё в лоб!&lt;br /&gt;&lt;blockquote&gt;[cra@server 10:37 ~]&lt;br /&gt; $ cat /usr/bin/svnserve&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;umask 002&lt;br /&gt;/usr/bin/svnserve_real&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;даст, например, неудачный резальтат&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;[cra@zenwalk 10:38:53 /tmp]&lt;br /&gt; $ svn checkout svn+ssh://servak_inet/repos/gui/trunk                         &lt;br /&gt;You must specify exactly one of -d, -i, -t or -X.&lt;br /&gt;Type '/usr/bin/svnserve_real --help' for usage.&lt;br /&gt;svn: Connection closed unexpectedly&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Решение тривиально, надо чуть-чуть изменить исходный скрипт&lt;br /&gt;&lt;blockquote&gt;[cra@server 10:45 ~]&lt;br /&gt; $ cat /usr/bin/svnserve&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;umask 002&lt;br /&gt;/usr/bin/svnserve_real $@&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Вот так, а я и не знал, однако :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-5722780029345353595?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/5722780029345353595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=5722780029345353595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5722780029345353595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5722780029345353595'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/03/bash-wrapper-scripting-parameters.html' title='bash wrapper scripting - parameters'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-7256526562433689707</id><published>2009-03-06T08:25:00.000-08:00</published><updated>2009-06-26T02:42:05.362-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Dream Theater в Москве 10 июня!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Cf0Fydi_JCo/SbFOwWH6MrI/AAAAAAAAAJg/tokn9VRZjzo/s1600-h/screen-dt.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_Cf0Fydi_JCo/SbFOwWH6MrI/AAAAAAAAAJg/tokn9VRZjzo/s320/screen-dt.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5310112028125967026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Кстати, скриншоты в линуксе делаются командой, указанной на скриншоте :) import -window root filename.png %)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;UPD&lt;/span&gt;: that was awesome, но за такие деньги я на них больше не пойду.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-7256526562433689707?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/7256526562433689707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=7256526562433689707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/7256526562433689707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/7256526562433689707'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/03/dream-theater-10.html' title='Dream Theater в Москве 10 июня!'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Cf0Fydi_JCo/SbFOwWH6MrI/AAAAAAAAAJg/tokn9VRZjzo/s72-c/screen-dt.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-2560825577240327140</id><published>2009-03-04T06:05:00.000-08:00</published><updated>2009-03-04T06:10:52.274-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Digitizers &amp; awk helps a lot</title><content type='html'>Понадобилось перевести картинку в набор точек. Оказалось, существует целый набор подобных программ, назваются Дигитайзеры. Я использовал Engauge Digitzer: ( например, тут можно его скачать http://linux.softpedia.com/progDownload/Engauge-Digitizer-Download-1240.html )&lt;br /&gt;&lt;br /&gt;Использование этой штуки крайне интуитивно, просто расставляются точки, устанавливаются опорные точки, и вуаля - на выходе csv готово. Засунуть в код можно простым и грубым способом через awk:&lt;br /&gt;&lt;blockquote&gt;awk {print "points[" NR-1 "].set(" $1 "," $2 ");"} Armko.csv&lt;/blockquote&gt;&lt;br /&gt;Криво и через задницу, зато работает. А конкструктор можно переписать, когда уже будет отлажена функциональность&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-2560825577240327140?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/2560825577240327140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=2560825577240327140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2560825577240327140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2560825577240327140'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/03/digitizers-awk-helps-lot.html' title='Digitizers &amp; awk helps a lot'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-4039444343384337710</id><published>2009-02-20T05:36:00.000-08:00</published><updated>2009-02-20T05:39:32.018-08:00</updated><title type='text'>Pidgin migration pretty simple</title><content type='html'>Мигрировал со старого компа на новый и переносил настройки пиджина..&lt;br /&gt;&lt;quote&gt;scp -r bigbro:.purple .&lt;/quote&gt;&lt;br /&gt;"Ё-моё, и всего-то!" - промелькнуло у меня в голове :)&lt;br /&gt;&lt;br /&gt;P.s: bigbro прописан в .ssh/config, конечно же ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-4039444343384337710?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/4039444343384337710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=4039444343384337710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/4039444343384337710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/4039444343384337710'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/02/pidgin-migration-pretty-simple.html' title='Pidgin migration pretty simple'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-2909271770126548505</id><published>2009-02-17T00:16:00.000-08:00</published><updated>2009-02-17T00:18:48.440-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><title type='text'>7z backup script</title><content type='html'>Скрипт для удобного бэкапирования&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;ARCHNAME=server-shares&lt;br /&gt;DIRS="/home/shares/work /home/shares/iso"&lt;br /&gt;BACKUPDIR=/backups&lt;br /&gt;&lt;br /&gt;NOW=`date +%d-%b`&lt;br /&gt;/usr/bin/tar -cf - $DIRS | 7za a -si $BACKUPDIR/$ARCHNAME-$NOW.tar.7z&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Потом кинуть куда-нибудь типа /etc/cron.monthly и радоваться :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-2909271770126548505?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/2909271770126548505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=2909271770126548505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2909271770126548505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2909271770126548505'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/02/7z-backup-script.html' title='7z backup script'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-5051010928228116638</id><published>2009-02-12T03:18:00.000-08:00</published><updated>2009-09-25T05:12:11.702-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pedo'/><title type='text'>Теория относительности на пальцах</title><content type='html'>45 минут как школьник - нереально длинный промежуток времени&lt;br /&gt;45 минут как учитель - "Блин!! ВСЕГО 45???"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-5051010928228116638?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/5051010928228116638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=5051010928228116638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5051010928228116638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5051010928228116638'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/02/blog-post.html' title='Теория относительности на пальцах'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-7534666248852231802</id><published>2009-02-10T23:17:00.000-08:00</published><updated>2009-02-20T05:39:59.456-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>nice time</title><content type='html'>$ date -d@1234567890&lt;br /&gt;Sat Feb 14 02:31:30 MSK 2009&lt;br /&gt;&lt;br /&gt;В это время мы с другом играли в battle for wesnoth :) Славная была битва&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-7534666248852231802?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/7534666248852231802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=7534666248852231802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/7534666248852231802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/7534666248852231802'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/02/nice-time.html' title='nice time'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-2359687729744670236</id><published>2009-02-10T05:34:00.001-08:00</published><updated>2009-02-17T00:22:36.329-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='nagios'/><title type='text'>nut apc smartups sc1000 com-usb и Zenwalk 5.2</title><content type='html'>Фух, задолбался его настраивать. По горячим следам пишу этот пост. Воткнул упсу, читал, гуглил.. И так далее. Краткая выжимка:&lt;br /&gt;&lt;br /&gt;Втыкаем упсу, делаем lsusb, читаем вывод:&lt;br /&gt;&lt;blockquote&gt; $ lsusb &lt;br /&gt;Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 004 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port&lt;br /&gt;Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Если повезёт, то /dev/ttyUSB0 (или не 0, смотря что уже втыкали) появится в вашей системе. Мне повезло меньше, зато поплясал с бубном. Во-первых, эта сука почему-то хоть и писала в dmesg про /dev/ttyUSB0 цеплялась на /dev/tts/USB0, чем обильно попарила мне мозг старым добрым "Not a typewriter", ныне "inapropriate ioctl for device". Когда же успешный порт был найден (почти чудом, кстати), мой конфиг ups.conf выглядел так:&lt;br /&gt;&lt;blockquote&gt;[apc]&lt;br /&gt; driver = apcsmart&lt;br /&gt; port = /dev/tts/USB0&lt;br /&gt; cable = "940-0272"&lt;br /&gt; desc = "APC Back-UPS 1000SC"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;940-0272 это кабель com-usb, который я и подключал к девайсу.&lt;br /&gt;&lt;br /&gt;upsd больше не поддерживает Access Control List и вместо этого надо правильно указывать директиву LISTEN в файле upsd.conf:&lt;br /&gt;&lt;blockquote&gt;LISTEN 127.0.0.1 3493&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Другие параметры можно не трогать, разве что я MAXCONN выставил в 24 (просто убрав 10 из числа 1024)&lt;br /&gt;важная строка в upsmon.conf:&lt;br /&gt;&lt;blockquote&gt;MONITOR apc@localhost 1 monuser password master&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Кстати, убедитесь, что в /usr/local/ups/etc/* у вас нет world readable документов, на всякий случай. И world writable тем более, ибо SHUTDOWNCMD в upsmon.conf может кто-то заменить на что-то неприятное и тогда всё, плакал сервак.&lt;br /&gt;&lt;br /&gt;Далее, мне понадобилось накатать примерно такой /etc/rc.d/rc.nut (я почему-то не нашёл ничего подобного в тех краях, куда встал nut).&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;# Start/stop/restart the ups nut daemon:&lt;br /&gt;&lt;br /&gt;# made by cra on 10 feb 2009&lt;br /&gt;&lt;br /&gt;nut_start() {&lt;br /&gt;  # start driver&lt;br /&gt;  /usr/local/ups/bin/drvctl start &lt;br /&gt;&lt;br /&gt;  # now start daemon&lt;br /&gt;  /usr/local/sbin/upsd&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;nut_stop() {&lt;br /&gt;  kill `cat /var/state/ups/upsd.pid`&lt;br /&gt;  /usr/local/ups/bin/drvctl stop&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;nut_restart() {&lt;br /&gt;  if [ -r /var/state/ups/upsd.pid ]; then&lt;br /&gt;    echo "Stopping daemon and driver, this might take a while"&lt;br /&gt;    nut_stop&lt;br /&gt;  else&lt;br /&gt;    echo "There does not appear to be a parent instance of upsd running."&lt;br /&gt;    exit 1&lt;br /&gt;  fi&lt;br /&gt;  sleep 2&lt;br /&gt;  nut_start&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;'start')&lt;br /&gt;  nut_start&lt;br /&gt;  ;;&lt;br /&gt;'stop')&lt;br /&gt;  nut_stop&lt;br /&gt;  ;;&lt;br /&gt;'restart')&lt;br /&gt;  nut_restart&lt;br /&gt;  ;;&lt;br /&gt;*)&lt;br /&gt;  echo "usage $0 start|stop|restart"&lt;br /&gt;esac&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Всё, можно делать service start ups и смотреть вывод /usr/local/ups/bin/upsc apc@localhost&lt;br /&gt;&lt;br /&gt;После этого можно настроить ремотную тулзу для мониторинга состояния упски, или можно настроить нагиос. Проверяем работоспособность плагина:  $ /usr/local/nagios/libexec/check_ups -H localhost -u apc&lt;br /&gt;&lt;blockquote&gt;UPS OK - Status=Online Utility=218.0V Batt=100.0% Load=11.7% |voltage=218000mV;;;0 battery=100%;;;0;100 load=11%;;;0;100&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Чтобы это было в нагиосе, надо добавить в /usr/local/nagios/etc/objects/commands.cfg следующий кусочек:&lt;br /&gt;&lt;blockquote&gt;define command{&lt;br /&gt;     command_name check_ups&lt;br /&gt;     command_line $USER1$/check_ups $ARG1$&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;в конфиге нагиоса на нужном сервере тогда будет что-то в духе check_ups!-H localhost -u apc -w 80 -c 10&lt;br /&gt;Либо, если использовать один ups, то можно все параметры прописать сразу в комманде (или хотя бы стандартный нагиосовский -H $HOSTNAMEADDRESS$) и в конфиге писать просто check_ups. Теперь, как сказал коллега "если придёт письмо о варнинге, бежим за ключом от серверной".&lt;br /&gt;&lt;br /&gt;&lt;s&gt;UPD: Оппа.. Проверка показала, что это не работает - хотя локально /usr/local/nagios/libexec/check_ups -H localhost -u apc даёт варнинг, когда шнурок отключён, нагиос считает, что всё хорошо :(&lt;/s&gt; Это я неправильно настроил кусок нагиоса.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-2359687729744670236?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/2359687729744670236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=2359687729744670236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2359687729744670236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/2359687729744670236'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/02/nut-apc-smartups-sc1000-com-usb-zenwalk.html' title='nut apc smartups sc1000 com-usb и Zenwalk 5.2'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-5578049951801245192</id><published>2009-02-09T05:27:00.000-08:00</published><updated>2009-02-09T05:28:17.114-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>bash minitip</title><content type='html'>Раньше, когда я переходил в какую-то директорию и мне надо было потом назад, я использовал cd $OLDPWD, но оказалось, что всё намного проще и можно использовать просто "cd -". Мелочь, а приятно&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-5578049951801245192?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/5578049951801245192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=5578049951801245192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5578049951801245192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5578049951801245192'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2009/02/bash-minitip.html' title='bash minitip'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-5873259332605468215</id><published>2008-12-05T03:44:00.000-08:00</published><updated>2009-06-26T02:31:54.472-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mencoder'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><title type='text'>recordmydesktop</title><content type='html'>Понадобилось на днях удалённо объяснить, на какие кнопки и где тыкать, recordmydesktop - отличная консольная софтинка, для самых простых нужд запустить в консоли recordmydesktop, и.. мы в эфире! После нажать ctrl-C и после энкодинга получаем на выходе файл ovg. Чтобы не пугать народ, его можно сконверировать в ави: &lt;blockquote&gt;mencoder -idx out.ogv -ovc lavc -nosound -o output.avi&lt;/blockquote&gt; обрезать потом ненужные кадры (выход из системы, етц) можно опять им же:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;mencoder ftp_access_for_dummies.avi -oac copy -ovc copy -o ftp_access_fordummies_cut.avi -endpos 34&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-5873259332605468215?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/5873259332605468215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=5873259332605468215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5873259332605468215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/5873259332605468215'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2008/12/recordmydesktop.html' title='recordmydesktop'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5904564346159268967.post-3019490688852282436</id><published>2008-11-18T23:07:00.000-08:00</published><updated>2008-11-18T23:08:51.952-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='avr'/><title type='text'>Arduino: установка софта</title><content type='html'>Наконец пришла ко мне Arduino Decima. Процедура установки под Zen 5.2 практически один в один совпадает с рекомендациями по установке слаки на официальном сервере &lt;a href="http://www.arduino.cc/playground/Linux/Slackware"&gt;&lt;/a&gt;, надо только учитывать, что софт может быть новее, чем в статье. Чтобы не заморачиваться с тем, какой gcc ставить, я взял тот, что стоял у меня в системе как основной. Чтобы узнать, какой же он стоит, можно посмотреть вывод gcc -v.&lt;br /&gt;&lt;br /&gt;21M  binutils-2.19.tar.gz&lt;br /&gt;43M  gcc-4.2.4.tar.bz2&lt;br /&gt;1.1M avr-libc-1.6.4.tar.bz2&lt;br /&gt;1.3M arduino-0012-linux.tgz&lt;br /&gt;&lt;br /&gt;Я ставил так:&lt;br /&gt;&lt;br /&gt;mkdir ~/arduino &amp;&amp; cd ~/arduino&lt;br /&gt;wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.gz&lt;br /&gt;tar xvfz binutils-2.19.tar.gz&lt;br /&gt;cd binutils-2.19&lt;br /&gt;PREFIX=$HOME/avr&lt;br /&gt;export PREFIX&lt;br /&gt;PATH=$PATH:$PREFIX/bin&lt;br /&gt;export PATH&lt;br /&gt;mkdir obj-avr &amp;&amp; cd obj-avr&lt;br /&gt;../configure --prefix=$PREFIX --target=avr --disable-nls&lt;br /&gt;make&lt;br /&gt;make install&lt;br /&gt;cd ../..&lt;br /&gt;wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2&lt;br /&gt;tar xvfj gcc-4.2.4.tar.bz2&lt;br /&gt;cd gcc-4.2.4&lt;br /&gt;mkdir obj-avr &amp;&amp; cd obj-avr&lt;br /&gt;../configure --prefix=$PREFIX --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --with-dwarf2&lt;br /&gt;make &amp;&amp; make install&lt;br /&gt;cd ../..&lt;br /&gt;wget http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.6.4.tar.bz2&lt;br /&gt;tar xvfj avr-libc-1.6.4.tar.bz2&lt;br /&gt;cd avr-libc-1.6.4&lt;br /&gt;./configure --prefix=$PREFIX --build=`./config.guess` --host=avr&lt;br /&gt;make &amp;&amp; make install&lt;br /&gt;&lt;br /&gt;Подключив свою Decimila к ноуту, он мне приветливо поморгал светодиодом и загорелс индикатор PWR, а в /dev я увидел новое устройство: /dev/ttyUSB0 &lt;br /&gt;&lt;br /&gt;Теперь пора поставить собственно, саму IDE:&lt;br /&gt;wget http://www.arduino.cc/files/arduino-0012-linux.tgz&lt;br /&gt;tar xzvf arduino-0012-linux.tgz&lt;br /&gt;cd arduino-0012-linux&lt;br /&gt;./arduino&lt;br /&gt;&lt;br /&gt;Появилось приветливое окошко, но в разделе Tools пункт Serial Port был затемнён :(&lt;br /&gt;Посмотрев тот же гайд, я обнаружил, что это могу быть проблемы с разрешениями:&lt;br /&gt;$ ls -l /dev/ttyUSB0&lt;br /&gt;crw-rw---- 1 root tty 188, 0 2008-11-17 19:20 /dev/ttyUSB0&lt;br /&gt;&lt;br /&gt;что, соответственно, приводит к трём вариантам решения этой проблемы - пустить себя в группу tty, поправить правила udev или запускать IDE от рута. Я выбрыл первое, это мне показалось наименее неприятным:&lt;br /&gt;sudo vim /etc/udev/rules.d/40-general.rules&lt;br /&gt;там находим строчку:&lt;br /&gt;KERNEL=="ttyUSB[0-9]*",     NAME="%k", GROUP="tty", MODE="0660", SYMLINK+="tts/USB%n", SYMLINK+="pilot%n"&lt;br /&gt;и тут опять же - или менять группу, или менять пермишены. Я поменял права с 660 на 666.&lt;br /&gt;После этого я перевоткнул устройство - и вуаля! У меня работает этот пункт меню :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5904564346159268967-3019490688852282436?l=geekobyte.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://geekobyte.blogspot.com/feeds/3019490688852282436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5904564346159268967&amp;postID=3019490688852282436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/3019490688852282436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5904564346159268967/posts/default/3019490688852282436'/><link rel='alternate' type='text/html' href='http://geekobyte.blogspot.com/2008/11/arduino.html' title='Arduino: установка софта'/><author><name>cramur</name><uri>http://www.blogger.com/profile/03038871207239782290</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
