Posts

Котлеты и конфиги - раздельно

Оказывается, не только меня достает множество жужжащих мух среди котлет... то есть пользовательских данных. Ссылка: libetc What is libetc ? On my system I had way too much dotfiles: % ls -d ~/.* | wc -l 421 For easier maintenance I wrote libetc. It is a LD_PRELOAD-able shared library that intercepts file operations: if a program tries to open a dotfile in $HOME, it is redirected to $XDG_CONFIG_HOME (as defined by freedesktop). You can then store all your config files in $XDG_CONFIG_HOME instead of using zillions dotfiles in $HOME If $XDG_CONFIG_HOME is not defined, the dotfiles are stored in $HOME/.config/

О Tokyo Cabinet

В ходе дискуссии на тему SQLite речь зашла о сабже, вот я и решил пару тестов прогнать, а заодно глянуть, что полезного можно нагуглить. Введение в мир СУБД без поддержки SQL для тех, кто совсем "не в теме": Alternatives to SQL Databases Краткий обзор: Tokyo Cabinet: Beyond Key-Value Store Видеопрезентация: Tokyo Cabinet in One Hour Обзор от автора: Tokyo Cabinet: a modern implementation of DBM Спецификация: Fundamental Specifications of Tokyo Cabinet Version 1 Презентация от автора по токиокабинет и важному к ней дополнению - сетевому серверу Tokyo Tyrant: Tokyo Cabinet and Tokyo Tyrant Presentation На сайте автора описаны также модуль полнотекстового поиска и вики на основе токиокабинет. Привожу тест для тех, кто плачет, что токиокабинет у него тормозит - посмотрите, что означает второй параметр и да будет вам просветление. Результат получен на ноутбуке с обычным для такового жестким диском - проще говоря, хреновым, на десктопе будет существенно шустрее. $ tch...

Починка надувного матраса Intex

Дело было так - мой кот, прыгнув с окна на край матраса, внезапно обнаружил, что под его лапами - о, ужас - что-то зашевелилось! В ответ ласковый и пушистый зверь выпустил все свои 18 остро наточенных гарпунов и поспешил спрыгнуть с погибающей жертвы. Матрас сказал "пш-ш-ш" и весело засвистел выходящим воздухом. Высказав вслед коту все, что я о нем думаю, я занялся спасением сдувающихся. Беглый осмотр выявил как минимум 3 "очага поражения". Первое, с чего я начал, это хорошенько надул матрас и заклеил отверстия скотчем :-) Сей метод оказался на удивление действенным, но только на не слишком продолжительное время - примерно часов на 6, после чего приходилось хорошенько подкачивать. Через несколько дней раны матраса, как ни странно, сами собой частично затянулись. Для полного излечения я решил прибегнуть к помощи товарища-велосипедиста, который и поделился со мной ремкомплектом. Долго ли коротко ли, я наконец добрался забежать к нему и забрать сей чудодейственный комп...

New linux kernel 2.6.33

Итак, ставлю сабж в дебиане из experimental. Мне предложено перейти на использование меток или идентификаторов устройств вместо наименований. Соглашаюсь, установщик радостно рапортует, что переписаны следующие конфиги: /etc/fstab, /boot/grub/menu.lst, /etc/initramfs-tools/conf.d/resume, /etc/uswsusp.conf Что получили - /dev/cdrom не изменился, своп у меня лежал в файле /swap и там остался, упоминания /dev/mapper/что-то-там сохранились неизменными, а все устройства вида /dev/что-то-там подключены по идентификаторам. Вроде все ок, но не оставляет ощущение подвоха. И так оно и есть - конфиг /etc/crypttab не преобразован. "Нафига мне эта самодеятельность". Простейший способ узнать UUID для устройств следующий: $ ls -l /dev/disk/by-uuid/ Впрочем, для любителей извращений есть и другие способы, требующие установки дополнительных утилит. Теперь правим /etc/crypttab ручками. Ну, вроде все готово к перезагрузке. В ближайшие дни я перезагружаться не планирую (ибо оно мне неза...

Создание прототипов

Вариантов много, например, сервис gomockingbird.com , статья о нем здесь: Когда картинка красноречивее 1024 слов – прототипирование с MockingBird . Сам попробовал - достаточно удобно, альтернативы не смотрел, поскольку вполне устраивает названный сервис.

zlib-enabled FTS3 for SQLite 2.6.23

Выложил свои патчи для zlib-сжатия в модуле полнотекстового поиска FTS3 для SQLite, теперь база данных с полнотекстовым индексом примерно вчетверо компактнее. Патч брать здесь: http://sqlite.mobigroup.ru/src/vinfo/d3d9906674 и функции сжатия/распаковки здесь: http://sqlite.mobigroup.ru/src/dir?name=ext/compress Или качать последнюю версию моей сборки деб-пакета SQLite. Имеется одна неприятность - запрос count(*) выполняется медленно, т.к. приводит к распаковке всего контента базы, так уж в эскулайт работает интерфейс виртуальных таблиц. Решения пока не нашел, но есть обходной путь - обращаться напрямую к таблице %_content: sqlite> select count(*) from file_text; 8430 CPU Time: user 0.508032 sys 0.012000 sqlite> select count(*) from file_text_content; 8430 CPU Time: user 0.004000 sys 0.000000 С учетом размеров современных электронных библиотек считаю, что сжатие критически необходимо, потому и выкладываю патч с вышеназванной недоработкой.

Как скачать видеоролик из liveinternet.ru

Озадачили меня поиском композиции, звучавшей однажды в 80-х и где были слова "Случайные взгляды не знают преграды" и "Какая награда случайному взгляду? Случайному взгляду - награда - любовь!" Гугление привело меня сюда: Ирина Понаровская - Случайные взгляды Замечательно, но хотелось бы сохранить ролик. Повторное гугление решило вопрос: сайт videosaver.ru съел вышеприведенную ссылку (именно ссылку, которая отображается в адресной строке браузера и начинается с http://) и выдал ссылку "скачать файл". Вуаля! Upd. А вот вдогонку ссылка на неофициальный сайт Понаровской .