Из описания: библиотека включает визуальные виджеты, вспомогательные не визуальные классы, полезные в первую очередь для программ технической направленности. Так виджет для 2D построений предоставляет возможности масштабирования, ползунки, круговые органы управления, компасы, термометры, колеса прокрутки, кнопки для контроля или отображения значений переменных, массивов и т.д. Посмотреть все это добро можно на снимках:
http://qwt.sourceforge.net/controlscreenshots.html
Библиотека распространяется на условиях модифицированной версии GPL, и достаточно либеральными исключениями, в частности разрешается статическая линковка, без раскрытия исходников, обязательному открытию подлежат только изменения в самой библиотеке. Подробности:
http://qwt.sourceforge.net/qwtlicense.html
На странице проекта можно найти ссылки на производные работы, например:
QwtPolar, виджет для построения в полярной системе координат
QwtPlot3D, виджет для 3D построений и использованием OpenGL.
QtiPlot, готовое приложение, использующее виджет QwtPlot, для анализа и построения данных.
Существуют биндинги к питону и ruby.
Для пользователей ArchLinux в extra есть пакеты:
extra/qwt
extra/qwtplot3d
Т.е. сама библиотека и её 3D вариант.
У всех на слуху очередное нововведение нашего замечательного правительства, о сокращении количества часовых поясов. Что не за очередное блеяние с экрана в исполнении ВВП или МДА, то бред полнейший. А все как мыши: плачут, колются, но продолжают жрать кактус.
Вот несколько ссылок по сабжу (да новостные ленты, я им тоже не верю, но из кучи гумуса можно вытащить по крайней мере червей на рыбалку или золотую монетку):
Россия переводит время зря и цитата отсюда, мне она о многом говорит, особенно если вспомнить, люди из какой партии у власти стоят:
Есть у реформы и сторонники. Они поголовно находятся в административном корпусе регионов. Приблизившись к Москве на час, можно будет оперативнее и полнее взаимодействовать со столичными властями, хором заявляют чиновники в разных концах России.
или:
Недовольны и жители Камчатского края, что отныне и без того короткий световой день (особенно зимой) стал еще меньше. Правда, теперь жители Чукотки и Камчатки в новогоднюю ночь будут смотреть обращение президента не в час ночи, а в полночь.
о да! как же, не услышат ровно в 12 часов очередную порцию бреда с экрана телевизора..
12 марта дума Чукотского автономного округа поддержала идею о переходе региона в восьмой часовой пояс из девятого. Соответствующее обращение было направлено премьер-министру России Владимиру Путину. Сейчас временная разница между Москвой и Чукоткой — девять часов.
и сразу же:
Стоит отметить, что работники чукотского филиала Северо-восточного НИИ идею о переходе из одного часового пояса в другой не поддержали. “Смена временного пояса скажется на здоровье и производительности труда жителей”, — считают они.
Да нахрена эти ученые нужны, зачем нужна эта какая-то РАН (особенно с последними порывами лихо реформировать академию)!
PS у меня ощущение, что вместо людей в думах у нас зомби и/или манекены, а решения принимает электронный (или даже механический) бредогенератор.
Решил тут собрать небольшое окружение на основе IceWM, вернуться, так сказать к истокам (работал он у меня в бытность ещё P100/24RAM). Но т.к. теперь ему предстояло работать на ноутбуке, в режиме питания от батареи было бы хорошо иметь возможность наблюдать статус разряда.
Еще один процесс, который может породить множество зомби, это демон… Иногда я должен напоминать себе, что пишу статью по программированию, а не сценарий фильма ужасов.
Ну там в комментах я написал, в 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 РУССКИЙ
* в общем, сути не меняет
*/NACHALOPROGRAMMYVyveditekstnaekrannachaloteksta"YA pomnyu chudnoe mgnoven'e: <br/>n<br/>Peredomnojyavilas'ty,<br/>n<br/>Kakmimoletnoeviden'e,<br/>n<br/>Kakgenijchistojkrasoty."konetstekstaVyveditekstvfajl"Stikh.txt"nachaloteksta"V tomlen'yakh grusti beznadezhnoj<br/>n<br/>Vtrevogakhshumnojsuety,<br/>n<br/>Zvuchalmnedolgogolosnezhnyj<br/>n<br/>Isnilis'milyecherty."konetstekstaKONETSPROGRAMMY
Захотелось получить красивое меню автодополнения после ввода . или -> в C/C++ программах. Изучая его же
конфиги (начинающим, и не только - рекомендую, есть интересности, в частности - автовставка шаблона при создании нового файла) наткнулся на интересную минорную моду:
company-mode, которая то, что мне нужно и делает. Причем, по ходу ввода - выбор в меню изменяется.
Подкатом картинка, которая демонстрирует как это работает у меня.
Столкнулся с проблемой: в некоторых модах, которые добавляют пункты меню в Emacs, эти самые пукнты меню оказываются пустыми, причем, при последующем перезапуске, бывают оказываются и не пустыми.
Сначала поставлена задача: удалить рекомендации в своем блоге на Juick.com, вручную неохота было, решил написать скрипт, в результате получился некоторый аналог DELETEALL, только без удаления подписок, комментов.
Код:
#!/bin/bash
### Удаляет ваши сообщения или рекомендации с Juick.com# section может быть: blog, recommsection="blog"# имя блога, по сути - ваш никblog="vasya"# Jabber account, в котором у вас зарегестрирован juick@juick.comjname="vasya.pupkin"jpass="superpassword"jserv="jabber.ru"## BEGIN ##u="http://juick.com/$blog/?show=$section"tmp_file=tmp_$section.txt
whiletruedo# посты со страницы будут удалены, соответственно их место# займут более старые lynx -dump "$u" > $tmp_file# Вычленяем ссылку на следующу страницуtmp=`cat $tmp_file| grep 'Older ->'| grep '|'`if[ -z "$tmp"];thennext_num=`cat $tmp_file| grep 'Older ->'| awk -F']''{print $1}'| sed 's| <br/>[||'`elsenext_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/>
|whileread line
dopost_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 10done# А вот когда указателя на следующую страницу не будет, тогда выходимif[ -z "$next_num"];then break;fidone
Для чего не спрашивайте, просто стало интересно написать :) Для работы нужно:
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), находим чуть выше ее строку:
Файл принадлежит пакету libxml-stream-perl версии 1.22 в ArchLinux это пакет perl-xml-stream версии 1.23, там данные исправления уже присутствуют, так что если есть возможность - обновляемся, или ставим Arch, правда не задаем глупых вопросов, а то новоявленные арчеводы ex-убунтоиды ими уже на форуме поддостали :)