Who Am I

15 августа, 2015

Посмотрел Who Am I. Годное кино. Советую не читать рецензии и не смотреть трейлеры. Больше ничего не хочу говорить, чтобы не испортить впечатления от просмотра.

gentoo на рабочем ноутбуке

6 июня, 2014

gentooПосле недели мытарств и задавания глупых и не очень вопросов Вите, я наконец-то получил работающую систему.

Установка

Поставить gentoo c одной стороны просто. Для этого есть замечательный handbook. Выбираешь нужную архитектуру и вперёд — устанавливай. Но, есть одно большое но. Как только дело доходит до ядра, так сразу начинаются проблемы. По крайней мере у меня так было. Ядро можно собрать руками или использовать genkernel. Сборка руками требует умения выбрать необходимые модули ядра из большущего списка. Использование genkernel позволит получит запускающуюся систему с кучей мусора и скорее всего не работающей графикой :)

Я использовал genkernel и потом просто много читал и пробовал, чтобы заработала графика и всё необходимое мне оборудование. Этот способ имеет важное достоинство. Сразу же получается рабочая система. Недостаток один — из за большого количества «добавленных про запас» модулей, ядро собирается довольно долго. Но зато, со временем, можно постепенно откючать те модули, которые заведомо не будут нужны.

Документация

Вот тут просто всё в ажуре. Wiki довольно полная и актуальная. Только сиди и ВНИМАТЕЛЬНО читай. Одно пропущенное предложение стоило целой ночи гугления в поисках «надуманной» проблемы.  На том же самом ЛОРе есть замечательная статья.

Читая форум, понимаешь, что люди здесь нацелены на помошь, а не на троллинг.

Общее впечатление

emerge довольно удобная штука. Настройка системы с помошью use флагов тоже ничего. Единственное, что может напрягать, так это время компиляции пакетов. Зато, по ощущениям, стало работать гораздо быстрее и всегда свежий софт.

CSS: Один из блоков занимает всё оставшееся место

16 февраля, 2014

Не первый раз сталкиваюсь с необходимостью, сделать так, чтобы:

  • div занимал оставшееся место в его родителе по вертикали
  • если содержимое div больше оставшегося места, то тогда у этого div должна появится полоса прокрутки

Раньше я использовал обсолютное позицианирование. И тут сразу возникали проблемы. Дело в том, что размер других div’ов, которые содержаться в том же контейнере что и «резиновый», необходимо фиксировать. Это приводило к тому, что при малейших изменения div’ов надо было заново прописывать для них новые размеры.

Сегодня я прочитал про Flexbox, и сразу же сделал то, что мне надо.

Убийца проектов

19 ноября, 2012

The biggest killer of projects is trying to «save the world» — trying to provide every combination of every possible option to the user, such that the user is confronted with a bewildering array of choices when most of the time they want to do something very simple.

И нечего тут добавить.

Как удалить не добавленные в меркуриал файлы

9 ноября, 2012

Сначала я попытался сделать в лоб.
hg st | while read a; do if [[ $a =~ "?" ]]; then rm ${a:2}; fi done;

Но оказалось, что есть более правильно решение.

Планировочки

25 октября, 2012

Вот такое вот «элитное жильй» в беларуси. Только в некоторых планировках есть осмысленное понимание, зачем в квартире два санузла.

А вот так вот в Польше.

Хоть и комнатки маловаты, но на то они и спальни. А семья пусть вместе сидит в гостинной. А вот расположение санузлов просто шикарное.

Вот если бы в Минске так строили, то тогда это можно было бы считать элитным жильём. Элитным не просто по стоимости и местоположению, но еще и по планировке.

Плагин для FireFox

14 октября, 2012

ИзображениеСегодня получил письмо от модероторов мозилы. Мой плагин прошел предварительную проверку без замеаний!
С предыдущий плагином мне так и не удалой пройти данную процедуру. А тут с первого раза! Кроме того, данный плагин является restartless плагином. Т.е. не надо перегружать браузер чтобы он начал работать.

Написать такой плагин удалось благодаря прочтению цикла статей Restartless Firefox add-ons.

Установка cassandra в Debian

27 декабря, 2011

В нашем проекте используется cassandra. Когда я себе установил еще 0.7.3 версию. Причём не из репозитория, а скачав бандл со всем необходимым и немного поконфигурив (совсем чуть чуть).

Теперь же можно ставить прямо из репозитория. Ничего сложного. Делаем как написано и будет счастье.

Установка Iceweasel 8.0 из sid

9 ноября, 2011

Зашел в aptitude. Выбрал новую версию. Хм. С 5 на 8 и никаких проблем. Неужели так будет?

Нажимаю обновиться. И…. бабах. Оказвается, не может выполниться preinst в xulrunner-8.0. И причина этому банальна — нет shebang в preinst файле. Свеженький баг, всего только один день отроду :).

Парни пишут, что надо просто добавить #!/bin/sh в начало файла preinst.

Для этого нужно найти этот файл в кеше. У меня он располагался в /var/cache/apt/archives. А потом выполнить простые манипуляции.

dpkg --extract foo.deb foo; dpkg --control foo.deb foo/DEBIAN; $EDITOR foo/DEBIAN/preinst; dpkg -b foo .

Выглядит всё просто, но я промучался часа 2. Зато теперь знаю, что такое deb пакеты более детально.

Ruby : используйте libxml

11 октября, 2011

Если вам надо обрабатывать довольно большие xml файлы. И делать надо это часто. То тогда не используйте REXML. Используйте ruby-libxml.

Он намного быстрее и, как мне кажется более лаконичен. У меня была задача на основе одного большого XML файла нагенерить кучу html файлов с кросслинками. Так вот REXML работал так медленно, что генерил 166 файлов около 25 минут, а ruby-libxml справляется с этой задачей теперь за секунд так 5.

Вот пару статей, которые позволят быстро перейти на libxml с REXML

  • Converting from Rexml to libxml. Даже не знаю, что можно добавить. Из заголовка всё и так ясно.
  • Parsing XML with Ruby. Приведены примеры использования трёх либ для парсинга xml на Ruby. Можно визульально сравнить, какая из либ проще.

Кстати, весь переход я осуществил где то за минут так 30. А это где то 1.5 полная генерация из моего большого xml. Зато теперь я могу моментально все перегенеривать.