вторник, 25 октября 2011 г.

Два монитора

На работе надыбал сабж. Один 23, другой 19 дюймов. В сумме стало быть - 42. Плазма, практически ;)

Но дело в другом. Когда-то я прочёл мнение, что виртуальные десктопы на линухе это вариант нескольких мониторов для бедных. Сейчас имея и то и то, могу сказать, что на винде два монитора, это не очень удачный вариант виртуальных десктопов в линухе. А всё потому, что я не могу нормально распределить приложения по мониторам - они все висят на одном таскбаре.

Таким образом, открыв на разных мониторах несколько приложений, перекрывающих друг друга, я не могу удобно переключаться между приложениями на отдельно взятом мониторе. Вначале я должен найти это приложение на таскбаре (или в списке по Alt+Tab) среди всех приложений, и только потом выбрать его. Это тем более раздражает, если на доп. мониторе всего 2 окна, и чтоб переключиться между ними нужно совершить туеву хучу действий.

Короче, очередной луч ненависти в Рэдмонд.

пятница, 21 октября 2011 г.

Утилитка mklink

Гениальность разработчиков утилиты mklink просто таки зашкаливает, и похоже случилось переполнение...

После линукса я стал чаще пользоваться симлинками в винде. Оно и понятно - удобно же. Но вот способ работы с ними вполне можно назвать "per anus ad astra". Во первых из гуя их создавать нельзя, но тут понятно - домохозяйки такие домохозяйки, поломают ещё.

Но, есть замечательная утилита mklink. По всей видимости была она написана дауном, поскольку в наборе ключиков имеет замечательную опцию "/D Creates a directory symbolic link." Ну, то есть разработчику было влом проверять, что ему подали первым аргументом - файл или директорию, пущай клиент разбирается.

Всё ещё непонятно, в чём гениальность? Ну как-же, как-же. Что-бы создавать линки я добавил в фаре 2 пункта меню. Один для директорий, другой для файлов, различаются только наличием и отсутствием этого долбаного ключика.

среда, 24 августа 2011 г.

Котэ уже не совсем настоящий котэ

Да, котэ был кастрирован.

Вообще мы и так собирались это сделать, этак к году, но позавчера произошёл некий инцидент, весьма похожий на попытку метить. Котэ мявчил весь вечер, потом пошёл в туалет, а после появился неприятный запах. Причём "тот" ли это запах сказать не могу, до этого не приходилось его осязать, но поскольку возраст подходящий - 10 месяцев, то решили срочно Фунтика лишить крамольных желаний.

Вчера позвонил в ветклинику, сказали приезжайте в любое время, хоть ночью. Кота при этом за 5 часов нельзя кормить. Съездил домой в обед, отобрал у кота пайку и воду, а вечером после работы заехали домой, взяли что-то заподозрившего кота и поехали.

В клинике кота пощупали, сказали, что толстоват и нужно поумерить его в еде. Он у нас уже около 6 килограмм, и как врач выразился, не Фунтик а Центнер. Хотя мне всегда казалось, что мы ему и так еды не досыпаем... Ну, будем сыпать ещё меньше.

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

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

Дома мы его положили на кровать, на какие-то тряпки, что было ошибкой. Фунтик через пару часов сходил по маленькому под себя, причём как-то очень пахуче. Диван, одеяло, простынь оказались подмоченными. С первого раза как оказалось это не отстирывается.

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

Убедившись, что кота не тошнит, и не плющит(ну, относительно), пришлось ехать на работу. Предварительно все высокие места были обезврежены. В обед поеду проведать.

пятница, 1 июля 2011 г.

Права

От я остолоп.

Вчера забыл рюкзак в магазине и весь вечер катался без его содержимого. А среди всякого хлама там валялись и права с талоном... Когда опомнился - магазин уже был закрыт, а машина спокойно стояла на стоянке.

Сначала решил ехать с утра в магазин на автобусе, а это часа полтора. Но, вечером прочитал про ответственность за "товариш_начальник_забыл_права_дома" и успокоился. 17500, если признать вину, покаяться и заплакать (что-то около 3$).

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

Рюкзак лежал всё там-же, в ящике. Никто на него не покусился.

среда, 22 июня 2011 г.

SEAT Caryto

Купил машину сабжевой марки. Ну, называется то она SEAT Cordoba, но учитывая что год 1999, то вполне себе Сеат Корыто.

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

За 4 дня накатал уже 500 км, привыкаю. Давно по Минску не ездил - стремновато пока что. Но - еду, что делать. А делать надо - вот сегодня на учёт поехал становиться. Выехал 5 утра, чтоб очередь занять. В результате до 8.30 ждал сотрудника УВД а потом за 20 минут всё оформил. Ну, то есть почти всё - надо ещё ехать забирать номера и техпаспорт.

Ну а потом нужно будет пройти техосмотр, съездить купить масляный фмльтр, потом съездить на СТО, поменять ремень ГРМ, съездить в деревню поменять масло... Да... Как бы я всё это успел без машины?

В ближайших планах купить крепление для велосипеда, благо релинги на машине есть и фаркоп тоже. Вешай нехочу. А не хочешь - клади в багажник, он зело большой.

Выглядит так(ну, может цвет чуть темнее):

вторник, 7 июня 2011 г.

Голубые озёра

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

Новая вышка, довольно низкая, кстати :( :


Новая беседка и вид из неё:


Ну а этот идиот бравый парень в ластах - я.

Кота мы на озеро не взяли. Он явно был опечален таким положением дел:

понедельник, 30 мая 2011 г.

+1 Linux

Добавил ещё один линукс себе в копилку - телефон. Купил Huawei u8500 от MTC-а в рассрочку. Решил, раз уж девальвация прошлась по ценам, а тут осталась старая, то можно и взять. Да и за год много ещё всяких девальваций может случиться, так что брал практически не глядя. Ну так, полистал обзоры, понял, что особых звёзд через этот телефон не отхватишь, но в целом ничего.

Купил. Заодно подключил по акции 3 гига трафика на 6 месцев. Бесплатно. Первый транш на 500 метров надо использовать до 1 июня :) Спешу, качаю всё не глядя. Похоже как раз за 2 дня управлюсь.

Процессор слабоват, это я понял после того, как скачал Angry Birds. Играть можно, но не комфортно. Ладно, на моём старичке 6630 и такого нельзя было.

Что особенно приятно - скорость запуска приложений(опять таки сравнивая с моим старым, ушастым Nokia 6630). Там чтоб запустить секундомер надо было потратить около 10 секунд. Тут секунды 2-3.

Что не радует, так это экран - мажется сильно, приходится постоянно протирать.

Интересно по ssh в него зати можно?... :)

понедельник, 23 мая 2011 г.

Полёт навигатора

Пару минут назад кот как-то ухитрился просочится через приоткрытое окно на балконе и сигануть со второго этажа. :( Попутно звучно шмякнулся об отлив первого этажа.

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

воскресенье, 15 мая 2011 г.

Прокатился #2

Сегодня решил съездить на рынок(Ждановичи). Сел за комп, составил план-карту поездки по неизведанным местам и поехал.

Результат:


Где-то на 19 км я ошибся с поворотом и уехал в ебе неизвестном направлении. К сожалению на телефоне именно этот кусок карты отсутствовал, поэтому GPS не помог. Долго пытался сопоставить бумажную карту с картой на телефоне, но в конце концов заблудился :)

В конце концов обнаружил, что еду по Орловской улице, прямо в Минске :) А потом позвонила жена с мрачным погодным прогнозом, испугала меня и я, не доехав до Ждановичей, завернул обратно.

Поскольку дождя я так и не дождался, то дополнительно проехался по велодорожке.

Итого 55 км, и боль в мягком месте.

Дорога кстати, не очень понравилась - с 7 по 15 километры пришлось пилить по дороге в неприятном соседствии с машинами. Нужно поискать другую.

воскресенье, 8 мая 2011 г.

Прокатился

Решил, что погнутый шатун не помеха прокатиться по округе. Недалеко. По Боровлянам поколесить.

В результате уехал в Озерище какими-то неизведанными тропками:



Итого 33.33 км. Хотя казалось, что все 50 проехал, из-за того, что в лесу постоянно объезжал поваленные деревья. Полная укатайка...

вторник, 3 мая 2011 г.

Слежение за просмотренными фильмами

Люблю, знаете-ли смотреть разные сериалы. А ещё люблю смотреть их пачками по 5-10 серий - пару месяцев не смотришь, а потом серий на 5 как засядешь...

При таком подходе у меня часто возникает проблема, чего я уже смотрел, а чего - нет. За пару месяцев легко забыть не только номер серии, но и её сюжет :) Поэтому я решил накропать небольшой велосипед, который бы сам запоминал что я уже отсмотрел.

Ну и вот:
#!/bin/bash

if [[ $1 == '-q' ]]; then

        cd ~/.track-movies

        for d in *; do
                if [[ $2 != "" ]]; then
                        fgrep -i $2 $d/path > /dev/null 2>&1
                        [[ $? != 0 ]] && continue
                fi

                # calc view time
                CURT=0
                SUM=0
                for t in $(cat $d/times); do
                        DIFF=$(( ($t - $CURT) / 60 ))
                        CURT=$t
                        [[ $DIFF -gt 10 ]] && continue 
                        SUM=$(( $SUM + $DIFF ))
                done
                printf "%s      %4d min\n" "$(cat $d/path)" $SUM
        done

        exit


        ALL=$(find ~/.track-movies/ -name path | xargs cat)

        if [[ $2 == "" ]]; then
                echo "$ALL"
        else
                echo "$ALL" | grep -i --color=auto $2
        fi

        exit
fi


PLAYER_PIDS=$(ps ax --format %c\|%p\|%a | grep ^mplayer | sed -re 's/.*\|[ ]*([0-9]+)\|.*/\1/')

function get_movies
{
        for pid in ${PLAYER_PIDS}; do
                lsof -p $pid | sed -nre 's/[^\/]*(\/.*\.(avi|mkv|mpg|mpeg))$/\1/ p'
        done | sort | uniq
}

MOVIES=$(get_movies)

[[ $MOVIES == "" ]] && exit

IFS='
'

[[ ! -d ~/.track-movies ]] && mkdir ~/.track-movies
cd ~/.track-movies

for m in $MOVIES; do
        HASH=$(echo $m | md5sum | cut -d' ' -f 1)
        if [[ ! -d $HASH ]]; then
                mkdir $HASH
                echo $m > $HASH/path
                echo > $HASH/times
        fi
        date +%s >> $HASH/times
done

В целом всё просто. При запуске скрипта без параметров:
1. находим все PID mplayer (я только им пользуюсь, но можно добавить и другие плееры)
2. берём вcе файлы открытые процессом, фильтруем по расширению, сортируем, убираем дубликаты (smplayer зачем-то запускает 2 копии mplayer)
3. Для каждого пути вычисляем хеш, это будет директория, где будем хранить инфу о фильме
4. Сохраняем полный путь к фильму, если надо
5. Сохраняем текущее время.

Дальше запихиваем скрипт в крон, каждые 5 минут:
*/5 * * * * /home/sazarkevich/bin/track-movies.sh

Ну и всё. Теперь все ходы записываются, ладью мы не потеряем.

Ну а что-бы посмотреть, на какой серии я остановился запускаем скрипт с аргументом -q и необязательным параметром для фильтрации путей фильмов.

# track-movies.sh -q bang | sort
/home/torrents/The Big Bang Theory, Season 4/The.Big.Bang.Theory.S04E01.mkv 20 min
/home/torrents/The Big Bang Theory, Season 4/The.Big.Bang.Theory.S04E02.mkv 20 min
/home/torrents/The Big Bang Theory, Season 4/The.Big.Bang.Theory.S04E03.mkv 20 min
/home/torrents/The Big Bang Theory, Season 4/The.Big.Bang.Theory.S04E04.mkv 5 min
Ну, теперь всё ясно. Последняя полностью просмотренная серия - 3, а 4-ую я смотрел всего 5 минут.

Вот только печалька... Раньше телевизор я подключал вместо монитора и запускал фильмы на компе, но сразу же как я написал этот скрипт, пришлось переключить комп с телевизора на монитор. Теперь смотрим всё на телевизоре напрямую(с флешки), и скрипт получается не нужен :( Как бы его всунуть на телек....

четверг, 14 апреля 2011 г.

Коте-будильник.

Кот достался нам с дефектом эфектом будильника. Сразу же как мы его заимели он нас стал будить в 6 утра, при том, что встаём мы в 7.

Через некоторое время наступил перевод часов - на час вперёд. То есть, для кота его 6 утра, а для нас это уже 7! Ура подумал я, проблема решена. На следующее утро котэ встал ровненько в 6. По новому стилю. Я хотел подняться и отлупить паршивца, но... пожалел. В общем, кот похоже тоже перевёл свои внутренние часы и исправно просыпался за час до подъёма.

Ну вот. А сегодня нужно было проводить жену на автобус. Подъём в 6.00. Ура! Мы наконец хоть и не выспимся, но хотя бы не будем разбужены. Сегодня в 5 утра по мне кто-то начал ползать. Глаза не открывай - понятно кто. За час до подъёма, кто бы сомневался.

Очень предупредительный кот. Всегда разбудит за час до нужного времени.

среда, 9 марта 2011 г.

Котэ

Обзавёлся сабжем. Вот пару фоток:








Возраст котэ - 4 месяца. Порода самая что ни наесть дворовая европейская короткошёрстная. Мама - чемпион мира, папа чемпион Беларуси.

Первую ночь я вообще не спал - котэ постоянно вскакивал от любого шума, направлялся в кориор и там орал. Постоянно приходлось вскакивать и тянуть бармалея обратно в кровать, пока он что-нибудь не разбил. Через пол часа всё повторялось... В итоге оболтус таки умудрился прыгнуть на подоконник и свергнуть горшок с кактусом на пол. Горшок не разбился, но жена не одобрила. Я тоже.

Вторую ночь удалось поспать на половину. Котэ, измучанный нарзаном мной, спал до 00, а потом повторил свою шутку с мяуканьем. Я не оценил.

Третью ночь(сегодня) в принципе можно назвать удачной - ушастый разбойник дрых до 5 утра, и только потом устроил бег с препятствиями. Препятствия во множстве были на столе.

Сегодня котэ остался один дома - даже не знаю, чего там ожидать по пришествии. квартира в опасносте.
В принципе ничего особенного не должно быть - в туалет он ходит сам, в дрании обоев пока не был замечен. Хрупкие предметы спрятаны, нежные диваны заперты в комнате.

четверг, 3 марта 2011 г.

Настоящие windows-программисты...

Настоящие windows-программисты должны использовать только целочисленное деление!

Убедитесь сами - откройте калькулятор у Windows 7, переключите в режим "programmer" и убедитесь, что точку набрать невозможно, а результаты всегда целочисленные.

Я бы этому инноватору, который это удумал, в голову гвоздь забил. Ненавижу. Иногда нужно перевести число из одной системы счисления в другую, иногда посчитать что-то. Пожалста - переключайте каждый раз режим.

Хотел заменить калькулятор, тык он защищён от переименований. Короче это пипец. До 7-ки было намного удобнее - запятая работала только в десятичном режиме.

понедельник, 28 февраля 2011 г.

Dexter 5-ый сезон

Досмотрел я сабж. С трудом и перемоткой.

Какой-то вышел сезон унылый и нудный. До 5-ой серии всё ожидал, когда-же начнётся. Не началось. Посмотрел ещё 2 серии и понял - и не начнётся.

Полез в инет, а там пишут, мол до 7-ой серии тоска, зато потом у-ух! Ладно, собрал волю в кулак, скачал оставшиеся 4 серии и за 1.5 часа осилил. Учитывая, что серия 40 минут, можно представить, как я спешил его досмотреть. Паралельно изучал Qt - хоть какая-то интересная сторона в этом сериале.

6-ой смотреть как-то желания не возникает.

пятница, 11 февраля 2011 г.

Драйвер для видеокарты

Столкнулся тут с трудностью настройки видеокарты в debian squeeze. Поскольку в интернете решение не нагуглилось, опишу тут, авось кому пригодится.

Видеокарта: ATI Mobility Radeon 7500

Драйвер встал самостоятельно: xserver-xorg-video-ati

Но glxinfo выдавал, что нет 3D поддержки:
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Software Rasterizer
OpenGL version string: 1.3 Mesa 6.5.1

Вторая строка явно указывает, что не всё в порядке.

Опции в xorg.conf не помогали. После того, как я пару раз отчаялся я решил заглянуть в dmesg, и, о чудо, нашёл там, что не загружаются какая-то фирмварь. Она видете-ли несвободная.

Доставил все фирмвари, какие нашёл в aptitude, и всё заработало.

вторник, 8 февраля 2011 г.

Сменял шило на мыло

На выходных выбрал время и сменил Gentoo на ноутбуке на Debian. Очень удачно при этом подвернулся новенький Squeeze, который вышел буквально за день до этого.

Причина замены проста - надоело компилять. Последней каплей стала компиляция ghc, которая длилась пару часов и обломалась из-за нехватки места на диске.

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

пятница, 28 января 2011 г.

Сходил в киношку

Вчера пошёл с женой и братом жены в кино. Какой-то новый боевик "механик" с Джейсоном Стетхемом в главной роли. Сам фильм мне понравился не особо, но больше всего мы охренели от зрителей. Такого шума и шуршания пакетов я себе не представлял. Народ чё-то бубнит, говорит по сотовым и между собой сильно не стесьняясь. И постоянный шелест пакетов с хавчиком :( Бесит невероятно.

Короче, никакого удовольствия от фильма не получил :( Кинотеатр - Октябрь.

понедельник, 10 января 2011 г.

Одно окно

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

В банке потряс старым полисом страхования и промычал(от долгого молчания на работе язык малость "костенеет"), мол "страховка, платить, тут". Девушка на информационной тумбочке отправила в кассу. В кассе посмотрели на полис и сказали: с этой страховой мы напрямую не работаем. Ну, я уточнил ещё так - мне туда типо ногами сходить и заплатить? Да говорят.

Через неделю выбрался в страховую. Приехал в офис, даю сертификат и радостно говорю "продлить!". Страховщик долго изучает полис, стучит по клавиатуре и выдаёт "вы, типа уже год как не страховались у нас, надо на квартиру эксперта-оценщика вызывать". Я быстро выпадаю в осадок и паралельно планирую этот визит эксперта. Ладно, с экспертом они там чего-то напутали, эксперта не надо, а надо ехать снова в банк и спросить, работают они там с этой страховой или нет.

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

Сегодня утром иду в ближайшую страховую. Мне там говорят - нужен договор чего-то там, идите в банк. Млять!

Иду в банк, получаю номерок в отдел кредитования. Узнаю, что копия этого договора(который я забыл дома) стоит 20 тысяч. Млять^2! И тут, о чудо, оказывается, что если вы хотите, то можете застраховаться не сходя с места в страховой компании X, договор придёт по почте. А я ломаться не стал, взял и заплатил.

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

Такое вот "одно окно". Хотя, конечно частично и сам виноват - мог бы повытягивать клещами из них информацию.