Очередная версия и очередной обзор Darktable
Очередная версия 0.5, для пользователей ArchLinux в AUR есть правила для сборки git-версии.
Обзор, достаточно добротный: http://www.linuxgraphics.ru/articles.php?article_id=93
Hatred's Log Place
Очередная версия 0.5, для пользователей ArchLinux в AUR есть правила для сборки git-версии.
Обзор, достаточно добротный: http://www.linuxgraphics.ru/articles.php?article_id=93
Они заново открыли конструктора, наи… всех: http://zeka-vasch.livejournal.com/413228.html
PS ну ну
Навеяно 615012 от камрадки mountain-diu
У всех на слуху очередное нововведение нашего замечательного правительства, о сокращении количества часовых поясов. Что не за очередное блеяние с экрана в исполнении ВВП или МДА, то бред полнейший. А все как мыши: плачут, колются, но продолжают жрать кактус.
Вот несколько ссылок по сабжу (да новостные ленты, я им тоже не верю, но из кучи гумуса можно вытащить по крайней мере червей на рыбалку или золотую монетку):
Россия переводит время зря и цитата отсюда, мне она о многом говорит, особенно если вспомнить, люди из какой партии у власти стоят:
Есть у реформы и сторонники. Они поголовно находятся в административном корпусе регионов. Приблизившись к Москве на час, можно будет оперативнее и полнее взаимодействовать со столичными властями, хором заявляют чиновники в разных концах России.
или:
Недовольны и жители Камчатского края, что отныне и без того короткий световой день (особенно зимой) стал еще меньше. Правда, теперь жители Чукотки и Камчатки в новогоднюю ночь будут смотреть обращение президента не в час ночи, а в полночь. о да! как же, не услышат ровно в 12 часов очередную порцию бреда с экрана телевизора..
Или вот, про переход на 5 часовых поясов: Россия с 5 часовыми поясами - полнейший абсурд хоть и натянутые выкладки, но все равно виден весь бред сего творения.
Ну и ещё один пример отжига в подтверждение первой ссылки: Чукотка перейдет из девятого часового пояса в восьмой:
12 марта дума Чукотского автономного округа поддержала идею о переходе региона в восьмой часовой пояс из девятого. Соответствующее обращение было направлено премьер-министру России Владимиру Путину. Сейчас временная разница между Москвой и Чукоткой — девять часов.
и сразу же:
Стоит отметить, что работники чукотского филиала Северо-восточного НИИ идею о переходе из одного часового пояса в другой не поддержали. “Смена временного пояса скажется на здоровье и производительности труда жителей”, — считают они.
Да нахрена эти ученые нужны, зачем нужна эта какая-то РАН (особенно с последними порывами лихо реформировать академию)!
PS у меня ощущение, что вместо людей в думах у нас зомби и/или манекены, а решения принимает электронный (или даже механический) бредогенератор.
Решил тут собрать небольшое окружение на основе IceWM, вернуться, так сказать к истокам (работал он у меня в бытность ещё P100/24RAM). Но т.к. теперь ему предстояло работать на ноутбуке, в режиме питания от батареи было бы хорошо иметь возможность наблюдать статус разряда.
Можно сказать научно-популярный фильм, да.
это меня проняло:
Еще один процесс, который может породить множество зомби, это демон… Иногда я должен напоминать себе, что пишу статью по программированию, а не сценарий фильма ужасов.
Отсюда: http://ibash.org.ru/quote.php?id=12598 по наводке l1feh4ck3r’а
Задачка: http://bishop-it.ru/2010/03/codeinrussian
Ну там в комментах я написал, в gcc такое не проканывает (пока точно известно, что проканывает в MSVC, а как дела обстоят с компиляторами Intel/Sun/Borland мне не известно). Но… в транслите так же сделал вариант: http://codepad.org/zEs0pjLl или тут:
/*
* Собирать:
* gcc -include stih.h -o stih stih.c
* Посмотреть вывод препроцессора:
* gcc -E -include stih.h -o stih stih.c
*/
/*
* stih.h
*/
#include <stdio.h>
#define NACHALO int main() {<br/>
char *out = NULL; <br/>
char *txt = NULL; <br/>
FILE *fp = NULL;
#define KONETS return 0;}
#define PROGRAMMY
#define Vyvedi
#define tekst
#define na
#define v
#define ekran out = NULL
#define fajl out =
#define nachalo ; if (out == NULL) <br/>
fp = stdout;<br/>
else <br/>
fp = fopen(out, "w"); txt =
#define konets ; if (fp != NULL)<br/>
{<br/>
if (txt != NULL) fprintf(fp, "%s", txt);<br/>
if (fp != stdout) fclose(fp); <br/>
}
#define teksta
/*
* stih.c
* Тут перевел в транслит, т.к. gcc (только ли он?) не поддерживает #define РУССКИЙ
* в общем, сути не меняет
*/
NACHALO PROGRAMMY
Vyvedi tekst na ekran
nachalo teksta
"YA pomnyu chudnoe mgnoven'e: <br/>n<br/>
Peredo mnoj yavilas' ty, <br/>n<br/>
Kak mimoletnoe viden'e, <br/>n<br/>
Kak genij chistoj krasoty."
konets teksta
Vyvedi tekst v fajl "Stikh.txt"
nachalo teksta
"V tomlen'yakh grusti beznadezhnoj<br/>n<br/>
V trevogakh shumnoj suety,<br/>n<br/>
Zvuchal mne dolgo golos nezhnyj<br/>n<br/>
I snilis' milye cherty."
konets teksta
KONETS PROGRAMMY
А в нем и первая часть моей статьи по основам схемотехники в Linux: “Схемотехника в Linux с помощью gEDA. Часть 1: gschem”
Скачать выпуск: http://osa.samag.ru/get/OpenSource057.zip
Есть такой пакет CEDET, в прошлом посте дал ссылочку на статью Алекса Отта по его настройке.
Захотелось получить красивое меню автодополнения после ввода . или -> в C/C++ программах. Изучая его же
конфиги (начинающим, и не только - рекомендую, есть интересности, в частности - автовставка шаблона при создании нового файла) наткнулся на интересную минорную моду:
company-mode, которая то, что мне нужно и делает. Причем, по ходу ввода - выбор в меню изменяется.
Подкатом картинка, которая демонстрирует как это работает у меня.
Пасхалки :)
Столкнулся с проблемой: в некоторых модах, которые добавляют пункты меню в Emacs, эти самые пукнты меню оказываются пустыми, причем, при последующем перезапуске, бывают оказываются и не пустыми.
Сначала поставлена задача: удалить рекомендации в своем блоге на Juick.com, вручную неохота было, решил написать скрипт, в результате получился некоторый аналог DELETEALL, только без удаления подписок, комментов.
Код:
#!/bin/bash
### Удаляет ваши сообщения или рекомендации с Juick.com
# section может быть: blog, recomm
section="blog"
# имя блога, по сути - ваш ник
blog="vasya"
# Jabber account, в котором у вас зарегестрирован juick@juick.com
jname="vasya.pupkin"
jpass="superpassword"
jserv="jabber.ru"
## BEGIN ##
u="http://juick.com/$blog/?show=$section"
tmp_file=tmp_$section.txt
while true
do
# посты со страницы будут удалены, соответственно их место
# займут более старые
lynx -dump "$u" > $tmp_file
# Вычленяем ссылку на следующу страницу
tmp=`cat $tmp_file | grep 'Older ->' | grep '|'`
if [ -z "$tmp" ]; then
next_num=`cat $tmp_file | grep 'Older ->' | awk -F']' '{print $1}' | sed 's| <br/>[||'`
else
next_num=`cat $tmp_file | grep 'Older ->' | awk -F'|' '{print $2}' | awk -F']' '{print $1}' | sed 's| <br/>[||'`
fi
# да, этаким мы сделаем trim, сделайте при помощи sed, будет элегантней (и просто)
next_num=`echo $next_num | awk '{print $1}'`
next_link=`cat $tmp_file | grep "$next_num. http://" | grep "show=$section" | grep 'page=' | awk '{print $2}'`
cat $tmp_file <br/>
| grep '<br/>[[0-9]*<br/>]#[0-9]*,' <br/>
| grep 'now<br/>|ago' <br/>
| awk '{print $1}' <br/>
| sed 's|^<br/>[[0-9]*<br/>]||;s|,$||' <br/>
| while read line
do
post_num=`echo $line | sed 's|^#||'`
action="D"
[ x"$section" = x"recomm" ] && action='!'
echo "Delete/unrecomend post: $line (http://juick.com/$post_num)"
echo "$action $line" | sendxmpp -u $jname -p "$jpass" -j $jserv -s 'bye' juick@juick.com
sleep 10
done
# А вот когда указателя на следующую страницу не будет, тогда выходим
if [ -z "$next_num" ]; then
break;
fi
done
Для чего не спрашивайте, просто стало интересно написать :) Для работы нужно:
Счастливые арчеводы могут первые два пункта поставить из репозиториев, а sendxmpp собрать из AUR: http://aur.archlinux.org/packages.php?ID=17929
UPD: спасибо камраду sandr1x , в Ubuntu/Debian работа программы sendxmpp (там кстати её версия указана как 1.18, хотя актуальная - 0.0.8) завершается с ошибкой:
Can't use an undefined value as a HASH reference at /usr/share/perl5/XML/Stream.pm line 1165.
С подобным поведением сталкивались на работе когда настраивали sendxmpp для отправки уведомлений. Решение такое: открываем файл /usr/share/perl5/XML/Stream.pm переходим на строку указанную в ошибке (1165), находим чуть выше ее строку:
delete($self->{SIDS}->{$currsid});
и заменяем на:
delete($self->{SIDS}->{$currsid}) unless $currsid eq $sid;
Примерный патч выглядит так:
--- /usr/share/perl5/XML/Stream.pm.orig 2007-07-10 21:16:47.000000000 +0400
@@ -1160,7 +1160,7 @@
$self->{SOCKETS}->{*STDIN} = $sid;
}
1. delete($self->{SIDS}->{$currsid});
+ delete($self->{SIDS}->{$currsid}) unless $currsid eq $sid;
if (exists($self->GetRoot($sid)->{version}) &&
($self->GetRoot($sid)->{version} ne ""))
Файл принадлежит пакету libxml-stream-perl версии 1.22 в ArchLinux это пакет perl-xml-stream версии 1.23, там данные исправления уже присутствуют, так что если есть возможность - обновляемся, или ставим Arch, правда не задаем глупых вопросов, а то новоявленные арчеводы ex-убунтоиды ими уже на форуме поддостали :)
Пользительная книжка, не лишне держать под рукой:
http://www.lemis.com/grog/Documentation/PUS/
Книжка представлена в виде единого PDF и отдельных PDF для каждой части.
И прицепом: Object-Oriented Programming With ANSI-C
Если у кого есть ссылка на переводы - киньте в комменты.
Держим голову в холоде, ноги в тепле:
http://www.openspace.ru/society/projects/201/details/16563/