Очень много было шумихи по поводу выборов 11 октября 2009 года, особенно заостряется внимание на событиях в Астрахани. Расскажу, как вижу произошедшее я – обычный астраханец. Кто-то может осудить подобные сообщения, но в сегодняшних реалиях заявлять что я вне политики равнозначно самообману. Поэтому продолжу.
Всегда верил в свободу выбора. И поводов усомниться в том, что это право может кто-то отнять пока что не было. Да, агитация и призывы голосовать за нужного кандидата могли быть агрессивными, но выбор в кабинке никто и ничем не ограничивал. 11 октября в Астрахани эта черта была пересечена.
Read the rest of this entry »
ноября 2, 2009 in
Life.rc |
1 Comment
Сегодня в аське ко мне обратились с очень интересным вопросом: “Как внутри Moodle в категории курса сделать копию курса и просто переименовать, а внутренности курса чтоб такие же остались?”. Сохранена авторская постановка вопроса
Собственно, просто выложу лог разговора. Read the rest of this entry »
октября 12, 2009 in
Moodle |
No Comments
Сразу скажу, что в данном посте мы будем говорить о проблеме детализации значений по оси X и её решении. А дело обстояло так. Понадобилось на днях представить цифры в наглядной форме. Наглядная форма в данном случае означала диаграммы. Причем разные и красивые, поэтому мысленно зачеркиваем аббревиатуры GD, JPGraph и им подобные
Раньше таких задач не встречалось, поэтому за первичными данными о предметной области я обратился к поисковым машинам.
Оказывается Интернет изобилует различными классами, библиотеками и даже API для создания диаграмм. Часть из них стоит денег/имеет лицензионные ограничения, такие варианты я сразу откинул.
API предлагает небезызвестный Гугл в виде внешнего сервиса, вы ему данные пересылаете в URL, он вам диаграмму возвращает. Можно конечно на клиента повесить, но в моем случае это зло. Откидываем.
Очень много классов отдают диаграмму в Flash, этот вариант тоже показался сомнительным, потому как на одном из семплов круговая диаграмма очень психоделично (зато интерактивно) разворачивалась на экране. Психоделично означает с ужааасными тормозами =) Конечно, дело было в моей Ubuntu 8.04 (Hardy), а если ещё точнее, то в ATI Radeon 9200 SE, которая никогда не имела оффициальных драйверов для Linux, уж слишком редкий чип. Но это дела не меняет – разрабатывать надо и каждый раз лицезреть сей спец эффект.. Поехали дальше.
А дальше классы которые генерируют очень миловидные картинки, преимущественно в png (а может лишь показалось). Посмотрел штук 5, основной критерий – красота. Может быть и субъективно, но мой выбор пал на pChart. Хотя, в целом, они примерно одинаковы, нет каких-то особых фич. Вообще, в этой нише все фреймворки достаточно развитые, например, у всех имеется внутренне кеширование генерируемого контента (!). Зачем – непонятно, но в целом удобно =)
Скачиваем pChart, распаковываем и внимательно смотрим Example7.php, это который filled cubic curve graph. Я его немного подправил для наглядности таким образом:
// Dataset definition
$DataSet = new pData;
$DataSet->AddPoint(array(0,1,2,3,4,3,2,1,0,0,0,0,0,0,0,5,3,4,7),"Serie1");
$DataSet->AddPoint(array(0,0,0,0,0,0,0,0,0,1,2,3,2,1,0,0,3,2,2),"Serie2");$DataSet->AddAllSeries();
$DataSet->SetAbsciseLabelSerie();
$DataSet->SetSerieName("1st Line","Serie1");
$DataSet->SetSerieName("2nd Line","Serie2");
Рекомендую сделать также. Всё гламурно, особенно если сразу не соотнести набор данных с построенным графиком. Указанные координаты означают координату по оси Y, а как по X раскидывать?? А никак. За Вас это делает класс. Делаем выводы: по оси X у вас могут быть ТОЛЬКО ЦЕЛЫЕ ЗНАЧЕНИЯ. Нормально? То есть шаг всегда равен 1 и отсчет начинается с 0. А по Y десятичные дроби – без проблем. Не знаю почему так, куда удобнее было бы строить по заданным координатам X,Y.
Задача: вывести статистику находящихся в чате пользователей с точностью до секунды за сутки. Ось X – время (шкала 0-24), ось Y – кол-во посетителей (шкала зависит от кол-ва посетителей в верхней границе).
Если у меня шаг по оси X равен 1, то я могу выводить среднюю статистику за час и получить такой усредненный график за сутки с 24 значениями по оси X, а это очень большая пограшность на которую ещё наложится интерполяция. Сделать посекундно? 24*60*60 = 86400 точки по оси X, абсолютно не масштабируемых. В какой дизайн это влезет??Если вы совсем концептуал, то можно попробовать поменять оси местами и лицезреть многоэтажный график )) А я постараюсь переопределить нужные мне переменные в классе.
Read the rest of this entry »
октября 11, 2009 in
Code Bear |
1 Comment
Сервер вещания мы подняли в предыдущем посте. В этот раз мы будем поднимать стример (streamer). Стримеров существует не мало, но я предпочел обратить внимание на тот, что представлен на официальном сайте IceCast и в портах FreeBSD 6.2: ices. Для тех кто не понял, схема вещания выглядит следующим образом:
стример (ices) –> сервер вещения (IceCast) –> благодарный слушатель (Кузя).
В портах имеется ices0 и просто ices, а на сайте говорится об ices0 и ices2, соответственно. Версия 0 всё перекодирует и вещает в MP3, а версия 2 в OGG. Можно долго спорить о форматах, но сдается мне, что в битрейте 64 кбит/с, всё будет звучать одинаково паршиво, только OGG не будет воспроизводиться на ряде устройств. Поэтому я собрал ices0.
Read the rest of this entry »
сентября 13, 2009 in
IceCast |
6 Comments
Есть у меня кое-какие мыслишки по организации своего Интернет-радио. И начнем мы с установки сервера потокового вещания. Я уже прошел этап прямого вещания с плеера WinAMP в связке с SHOUTCast, хочется чего-то более серьезного.
SHOUTcast проседает в производительности пропорционально количеству слушателей, при этом потребляет ресурсы даже не имея ни одного подключенного клиента. С лицензиями там всё очень мутно, например, заглянем в порты FreeBSD 6.2 (/usr/ports/audio/shoutcast/pkg-descr):
Shoutcast is Nullsoft’s Winamp-based streaming audio server. It isn’t an open source software, but freely available for i386 versions of FreeBSD 4.x and 5.x. This port installs the appropriate binary for
your system.
То есть, использовать под свежими ветками FreeBSD нельзя и никакого OpenSource. Заколебали проблемы с кириллицей (вариантов без перекодирования содержимого мета-тегов MP3 я не нашел, но тогда полезет кодировка при обычном проигрывании на Win-машинах).
Из альтернатив всерьез рассматривается только IceCast 2: он более производителен как сервер вещания, отсутствуют лицензионные проблемы (GPL), OpenSource в конце концов. В общем, это та самая необходимая мне база для создания более серьезной системы. Как вы уже поняли, работать будем в FreeBSD 6.2 =) Поехали? Read the rest of this entry »
сентября 12, 2009 in
IceCast |
No Comments
Приветствую, настало время заняться имеющейся системой более плотно. Напомню, что Solaris 10 был успешно установлена на сервер HP Proliant DL320s. По аналогии с FreeBSD, очень хотелось назвать этот пост Do post-install configuration of Solaris 10. Наша инсталляция была зарегистрирована и включился Update Manager. Предложил установить кучу всего и сразу, всё и сразу было отмечено к установке. Работает это дело достаточно долго, при том что объем скачиваемых данных менее 500MB. В итоге, стало выбрасывать сообщение, что не хватает места для установки обновления пакета StarOffice 8.
Сперва пробовал ставить с другого раздела. Результат – другая ошибка. А потом я просто снес его. И жить стало легче, честное слово. Но тогда я ещё не знал, что 9 версию StarOffice установить не получится – она платная =) Сейчас система без офисного пакета, но gedit хватает за глаза. Тешу себя надеждами на OpenOffice. Судя по отзывам, StarOffice является таким же пережитком пакета поставки Solaris, как и браузер Mozilla (не путать с Mozilla FireFox!). Всё остальное вроде без проблем.
Дальше захотел настроить NFS, привычно работая по SSH. PuTTy до порта достучалась, а вот под root упорно не пускало. Это нормально, значит надо создать непривилегированного пользователя. Долгие поиски внятного интерфейса добавления пользователей среди менюшек результата не дали, а вот команда smc (Solaris Management Console) плоды дала сразу. Создал непривилегированного пользователя, стало пускать. Команда su на месте.
Значит, наконец-то, можно приступать к удаленной настройке.
Единственное с чем вопрос остался открытым – с локализацией. Раз есть браузер и Интернет, то можно производить поиск сразу из системы. В документации сказано, что по CTRL+SPACE должно переключать на русский, но не работает.
Ну и в продолжении, надо будет разобраться с системой установки программного обеспечения. Ждите обновлений поста и смело оставляйте комментарии!
сентября 6, 2009 in
Solaris |
No Comments
Во первых, поздравляю всех читателей с уже прошедшим днем знаний, есть всё-таки в нем какая-то ностальгия! А во-вторых, сегодня я вам поведаю небольшой hint: как грамотно свести размеры mailbox до приемлимых объемов.
Mailbox это формат хранения электронных писем, преимущественно на сервере. Но многие клиенты также хранят полученные сообщения локально в формате Mailbox.
Когда mailbox достигает размеров в несколько сотен мегабайт – общая производительность почтовой системы начинает падать (абсолютно естественное явление), по этой причине на подавляющем большинстве почтовых серверов изначально закладываются лимиты на размеры почтового ящика (читай ограничение на размер mailbox). Кроме этого, в отсуствии ограничений, пользователи начинают злоупотреблять имеющимся местом: перестают вычищать свои почтовые ящики от спама, удалять ненужные письма. Это приводит к хранению избыточного объёма данных. Причем, объяснить пользователям, что им теперь необходимо произвести читску ящика приктически невозможно. Действовать будем в среде FreeBSD.
Предположим, имеется файл mailbox размером 900МБ, он хранит входящую почту за 4 года. Как вы думаете, если грамотно обрезать два гига, заметит ли пользователь отсуствия входящей переписки за первые два года использования ящика (из четырех соотвественно)?? Часто ли вы лезете смотреть входящую корееспонденцию 4-летней давности?? Для IT-мутанта ответ очевиден. Read the rest of this entry »
сентября 4, 2009 in
Mail system |
No Comments
Я вам напоминаю, что у меня очень остро стоит задача пакетного добавления пользователей в Active Directory. Прошло уже 6 дней, а решение на которое я рассчитывал оказалось непригодным, php-класс adLDAP оказался немного не тем средством.
Последующие дни были направлены на поиск другого решения. В частности, способа добавить пользователя через командную строку так, что бы при этом:
- Размещение в нужном OU.
- Возможность задания пароля без дополнительных настроек со стороны контроллера домена.
- Пользователь обязательно должен быть активным (не отключенным).
- Возможность задания прочих значений профиля (почтовый ящик, описание, инициалы…).
Как это можно сделать средствами PHP и почему это элегантней сделать средствами C#?? Сегодня IT-мутант попытается сравнить слона с китом =) Read the rest of this entry »
августа 30, 2009 in
LDAP |
No Comments
Вся эта история является продолжением массового заведения пользователей в планируемую единую сквозную инфраструктуру. Паралельно с задачей занеснения нескольких тысяч пользователей в Active Directory, встала задача создания электронных почтовых адресов/ящиков для этих нескольких тысяч.
Существует такой веб-интерфейс для управления почтовой системой – Postfixadmin. Судя по названию, изначально она создавалась для MTA Postfix, но мой опыт показывает, что она подходит для работы с любым МТА. Я предпочитаю маленький и шустрый Exim, но в любых комбинациях Postfixadmin остается вне конкуренции. А перепробовал я не мало.
Postfixadmin является свободным ПО. Очень быстро разворачивается, особенно последние версии, которые идут уже с установщиком (раньше поиск и кастомизация БД были узким местом в установке Postfixadmin), обалденный эффективно-лаконично-эргономичный интерфейс, который однозначно решает, он просто неповторим. У меня это чудо имеется на двух серверах. Первый, относительно новый, имеет версию 2.2.1.1. А вот второй относится уже скорее к музейным экспонатам, но своей значимости от этого не потерял. Там функционирует почтовик на базе Postfix и tpop3d. Честно говоря, сейчас долго разглядывал исходники в попытках определить версию и внезапно понял, что там не то что версии, слова Postfixadmin даже нигде не написано =) Но судя по исходникам – он и есть, выделяется очень своеобразный стиль программирования, да и структура БД выдает с потрахами =) Музейному серверу музейный Postfixadmin, да ещё и немного кастомизированный. Предположим это первая версия. Как первая, так и вторая версия Postfixadmin лишены одного – возможности массового быстрого добавления пользователей. Вот от этого недостатка мы и будем лечить наш Postfixadmin =) Read the rest of this entry »
августа 28, 2009 in
Mail system |
No Comments
В одном из своих постов я уже рассказывал о переносе образовательного портала Moodle на сервер, спроектированный с упором на безопасность. Этот сервер был запущен в продакшн два года назад и на сегодня не имеется каких-либо серьезных инцидентов с ним связанных, а те что выявлены – результат внутреннего аудирования =)
А вот в плане функциональности со временем появились изъяны.. На сервере крутится PHP 5.2.5 с набором расширений, заложенными при проектировании. Новомодный тренд по интеграции с AD дает о себе знать.. Для авторизации пользователей Moodle в Active Directory необходимо расширение php5-ldap, о чем при установке Moodle не сказано НИЧЕГО (хотя о третьеважных дополнениях типа mbstring и xmlrpc говорится). Одна из составляющих безопасности этого сервера – защищенное chroot окружение. Как вы думаете, легко ли добавить php-extensions в уже настроенный и функционирующий в чруте сервер??? В этом мы и разберемся. Read the rest of this entry »
августа 27, 2009 in
LDAP |
No Comments