вторник, 31 марта 2009 г.

Портирование постов из Blogger

Целый день сегодня ломал голову, так ничего и не придумал. Может кто знает, как портировать посты из своего блога в хоть какой-нибудь формат, кроме Atom?

Патчим com_akocomment

Компонент комментариев akocomment всем хорош, но есть одно но. Вместо названия статьи в админке, где пропускаем комментарии, стоит ее номер. Неудобно. Наконец дошли руки и это досадное неудобство, наконец, исправил.

Фай /administrator/com_akocomment/admin.akocomment.php

Заменяем строку 159 на это

$database->setQuery( "SELECT #__akocomment.id, #__akocomment.parentid, #__akocomment.status, #__akocomment.contentid, #__akocomment.ip,
#__akocomment.name, #__akocomment.web, #__akocomment.email, #__akocomment.title, #__akocomment.comment, #__akocomment.date,
#__akocomment.published, #__akocomment.ordering, #__akocomment.iduser, #__akocomment.subscribe,
#__content.title
FROM #__akocomment"
. (count( $where ) ? "\nWHERE " . implode( ' AND ', $where ) : "")
. "\nleft join #__content on #__akocomment.contentid = #__content.id"
. "\nORDER BY id DESC"
. "\nLIMIT $pageNav->limitstart,$pageNav->limit"
);
Теперь исправляем отображение


Фай /administrator/com_akocomment/admin.akocomment.html.php

Строку 108 тоже изменяем
echo "<td align='center'><a href=\"".$mosConfig_live_site."/index.php?option=com_content&task=view&id=".$row->contentid."&Itemid=1\" target=\"_blank\">$row->title</a></td>";
Этих двух простых исправлений достаточно, чтобы упростить процесс просмотра комментариев.

понедельник, 30 марта 2009 г.

Патчим com_banners

Я оттягивал этот момент сколько мог. Начальство хочет, чтобы на сайте можно было на разные страницы из одного раздела (будем считать, с одинаковым Itemid) ставить разные баннеры. Так как в Джумле модули выбираются в зависимости как раз от Itemid, то привязка к нему совсем не выход.

Зато страница имеет кучу других параметров, таких как, например, option, id, task, act. Именно к ним я и решил привязать показ баннеров.

Итакс, начнем патчить базу =)

Выполняем в ней запрос

CREATE TABLE IF NOT EXISTS `#__bannerparam` (
`param_id` int(11) NOT NULL auto_increment,
`banner_id` int(11) NOT NULL default '0',
`param_name` varchar(255) NOT NULL default '',
`param_value` varchar(255) NOT NULL default '',
PRIMARY KEY (`param_id`)
)


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

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

Сюда, собственно, код вставляется плохо, поэтому выложу сразу исправленные файлы.

Обновленный компонент+модуль

О семинаре по технологиям OpenSource

Как и собирался, в субботу 28 марта съездил в Магнитогорск на семинар по технологиями OpenSource. Выступления всех докладчиков мне очень понравились, узнал много нового, побывал в кругу настоящих специалистов, линуксоидов (ну мало у нас их в городе. Три всего)

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

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

О переводе часов

Что сказать... Один раз в год мы переводим часы на час назад, на зимнее время, и один раз на час вперед.

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

Ладно. Хотя, даже ученые подтверждают, что никакого экономического/политического/демографического эффекта перевод времени туда-сюда не дает. Так-то вот.

четверг, 26 марта 2009 г.

VBA и MS Word

В Интернете полно материалов о том, как встраивать в электронные книги Excel всякие макросы, а про то, как их встроить в MS Word нет ни одного упоминания. Почесав затылок изобрел =) Суть самого макроса не меняется, кидаем в документ TextBox`ы, они красиво нумеруются, все как положено. Разница лишь в обращении:

sub some_function
thisDocuments.TextBox1.Value = UserForm1.TextBox1.Value
endSub

Только и всего ;)

среда, 25 марта 2009 г.

Роспечать меня удивила

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

Я в шоке О_о

вторник, 24 марта 2009 г.

Лаба по ассемблеру

А сегодня случилось просто нечто очевидное-невероятное. Мы всей группой делаем в эмуляторе К580 лабораторную по ассемблеру. Еще немного, ближе к завтрашнему утру и я смогу поменять свою решенную лабу на запчасть от адронного коллайдера =)

Эмулятор Электроника К580

Сегодня на паре по вычислительным сетям преподаватель принес занимательную програмку:

Эмулятор Электроника К580

Можно поковыряться в тамошнем ассемблере -- команд не так уж и много. Всего 244 =)

воскресенье, 22 марта 2009 г.

Презентация к докладу За кулисами Joomla 1.5.x

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

Скачать презентацию За кулисами Joomla 1.5.x

суббота, 21 марта 2009 г.

Акция "Я умею говорить по-русски!"

Наткнулся на ЛинуксФоруме на заметный баннерок в поддержку русского языка:

Так вот, я тоже присоединяюсь к акции.

пятница, 20 марта 2009 г.

Totem VS VLC

Если бы начал смотреть кино, так бы и не обнаружил, что в Totem DVD не просматриваются, вместо них просто зеленая полоса на фоне всякой ряби. ГуглЁж результатов не дал, поиск по форуму Убунту тоже.

В результате поставил VLC и сижу смотрю в нем.

Кроме всего прочего обнаружил еще одно. Mandriva 2009 Free не содержит ни кодеков для просмотра видео, ни wine =) Так что качаю PowerPack с торрентов.

Старые фильмы

Наконец выбрал время отдохнуть. Сходил в прокат, взял сборник фильмов с Брюсом Уиллисом. Скажу честно, Крепкий Орешек 4.0 я смотрел, но фильм впечатления не производит совсем не те, что первые три. Там Джон Маклейн был обычным полицейским, для которого спасение мира -- что-то из ряда вон выходящее. У него есть жена и он ей дорожит. А в четвертой части это какой-то супермен, для которого спасти Америку/Фондовый рынок/Жену/Дочку/Внучку/Жучку как прогулка возле дома. Разучились снимать, нечего сказать.

Доклад За кулисами Joomla 1.5.x

Я уже писал, что делаю доклад по Joomla, и вот, наконец, настал тот час, когда я выбрал время и открыл свой любимый OpenOffice Writer и набрал в нем текст доклада.

Доклад получился короткий, рассчитан на читателя хоть сколько-нибудь слышавшего об объектно-ориентированном программировании (потому что упоминается слово класс, инкапсуляция и еще что-то подобное).

Информация, в основном, бралась с англоязычного сайта разработчиков Joomla.

Прочитать можно здесь: За кулисами Joomla 1.5.x

Астерикс на Олимпийских играх

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

Мой первый проект на CakePHP

После трех дней курения мануалов по CakePHP и попытки осмыслить, как же это все на самом деле работает родился сайт =)

Сплавы по реке Белой

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

Единственное, что пока смущает, так это CAKEPHP в адресе. Ладно, разберемся =)

четверг, 19 марта 2009 г.

CakePHP 1.1.x и элементы

Долго вчера бился с задачей: как в отображении одного действия отображать результат работы другого, или на каждой странице отображать один и тот же блок, например, последних новостей. Спасибо, хоть на форуме поддержки помогли =)

Оказывается, все намного проще.
В нужном контроллере пишем функцию, которая непосредственно возвращает результат, например так:
function last()
{
return $this->Post->findAll('', array("title", "created", "introtext"), "created desc", 3);
}
Затем создаем элемент для отображения:
$news = $this->requestAction("/posts/last/");

foreach($news as $new) {
echo "
".$new['Post']['created']."
";
echo "
".$new['Post']['title']."
";
echo "
".$new['Post']['introtext']."
";
echo '

';
}
?>
А затем этот элемент просто засовываем в шаблон:
renderElement('news'); ?>
Все оказалось в два раза проще, чем я думал %)

вторник, 17 марта 2009 г.

Мысль: А не сделать ли систему приема заявок?

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

И тут мне в голову пришла совершенно неожиданная идея: а почему бы не заставить все это начальство использовать автоматизированную систему приема заявок? И заявка не потеряется, и время на перемещение по городу сократим)

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

Neon Genesis Evangelion: Girlfriend of Steel

Нашел вчера старую-старую игрушку, если этот нелинейный мультфильм еще можно так назвать и просидел всю ночь проиграл.

После повторного просмотра End of Evangelion, игра в Girlfriend of Steel доставляет массу приятных впечатлений.

Ня!

понедельник, 16 марта 2009 г.

За кулисами Joomla 1.5.x

За кулисами Joomla 1.5.x -- так я решил назвать свой второй доклад для OpenSource конференции. После просмотра всего, что у меня есть несложного по Joomla и того, что можно рассказать за 15 минут я пришел к выводу, что лучше всего рассказать о нововведениях в архитектуре Joomla 1.5.x, ведь их, как оказалось, действительно, очень много!

Доклад уже готово процентов на 60: написан текст, осталось только его отредактировать и придумать слайды.

Приблизительный план доклада (вряд ли что-то координально поменяю):
  1. WWW и появление CMS
  2. Joomla: появление, лицензия, сообщество
  3. Joomla Framework API
  4. Joomla MVC модель
  5. Классы безопасности Joomla
Сейчас текст еще рукописный (в универ с собой взять можно и на паре перечитать ;) ), но набрать много времени все равно не займет.

воскресенье, 15 марта 2009 г.

SiS Mirage 1 и Ubuntu 8.04

После длительного перерыва я вновь установил пингвина на свою рабочую машину. Причина была банальна. После обновления железа не было драйвера для видеокарты. Меня бы вполне устроил стандартный vesa драйвер, если бы не одно но -- он не держит разрешение 1680х1050 на видеокарте Silicon Integrated Systems [SiS] 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter.

Железку поменять никак нельзя, так как она в материнку впаяна (Intel LY662GLY2). После многомесячный поисков драйвер я все-таки нашел. Нашел здесь. Несмотря на то, что на странице представлены и драйвера для Ubuntu 8.10 завести их мне так и не удалось. Виной всему X.Org Server 1.5.0, который в этой убунте есть. В Ubuntu 8.04 X.Org Server предыдущей версии и с ним без особых проблем работает вот этот драйвер.

Процесс установки прост: качам, распаковываем в корень, наслаждаемся =)

О пользе ведения блога

Сел сегодня писать доклад. За стол сел, взял ручку и бумагу, и уже собрался чего-нибудь писать, но вдруг понял, что мысль есть, а написать я ее не могу. Раньше, когда я постоянно вел блог или участвовал в дискуссиях на форуме мне это легко удавалось. Поэтому советую всем, кто столкнулся с подобной проблемой попробовать постоянно чего-нибудь писать. Бумажный дневник, например - очень помогает. На себе проверял ;)

понедельник, 9 марта 2009 г.

Подготовка к семинару по OpenSource

Нашел свой старый доклад по своей СППР. На всякий случай выкину здесь, вдруг кому пригодятся какие тезисы ;)
Принятие управленческих решений — неотъемлемая часть работы любого менеджера. На современном этапе развития информационных технологий задача анализа текущей ситуации и принятия управленческого решения облегчается за счет использования специализированных систем поддержки принятия решений. Они помогают менеджерам решать не только слабоструктурированные и многокритериальные задачи, но принимать решения в условиях неполноты данных или слабой структурированности задачи.
Организация хостинга в Интернете и создание веб-ресурса — нетривиальная задача. Для ее решения недостаточно просто закупить оборудование и обеспечить доступ к глобальной сети. Для полноценного функционирования ресурса необходимо также наличие специализированного программного обеспечения для организации веб-хостинга.
Программное обеспечение — неотъемлемая часть любой информационной системы. Именно она позволяет реализовать полностью все аппаратные возможности компьютера.
Свободное программное обеспечение сегодня — альтернативный путь развития. Его открытость позволяет любому энтузиасту принять участие в разработке и внести свой вклад в развитие. Основным достоинством свободного программного обеспечения является его доступность, в то время как проприетарное ПО, чаще всего, сопровождается жесткими лицензионными требованиями и соглашениями.
Функциональность веб-ресурса обеспечивается тремя компонентами: операционной системой, веб-сервером и системой управления базами данных.
К операционным системам, устанавливаемым на веб-сервера предъявляются повышенные требования к многозадачности, надежности и защищенности.
Мной было проведено исследования распространения операционных систем на рынке хостинговых платформ. По итогам исследования я получил следующие результаты: на российских серверах безусловно лидирует FreeBSD (53%), на втором месте Linux (32%), Windows на третьем месте (9%), реже всего встречается Solaris (5%).
Статистика по зарубежным сайтам значительно отличается. Здесь первое место занимает Linux (44%), второе — Windows (36%), третье — Solaris (12%). Российский лидер FreeBSD за рубежом практически не распространен и используется только на 7% сайтах.
В Российском сегменте Интернета наиболее распространены веб-серверы на базе свободного программного обеспечения. Распространение Windows в зарубежном сегменте можно объяснить непосредственным влиянием Microsoft на разработку и внедрение веб-серверов.
Для того, чтобы компьютер-сервер мог принимать от пользователей HTTP запросы необходимо специальное программное обеспечение, называемое веб-сервером.
Наибольшую популярность в Интернете имеет кроссплатформенный веб-сервер Apache, на долю которого приходится 56,5% всего Инетрнета. Второе место занимает IIS, на долю которого приходится 30,75%. Таким образом, эти два продукта контролируют около 87% рынка веб-серверов.
Необходимым условием для создания современного веб-ресурса является наличие систему управления базами данных и возможности ее взаимодействия с веб-сервером.
В Интернете самой используемой СУБД является MySQL (используется на 29% сайтов), второе место занимает MS SQL (24%), третье Oracle (23%) и наименее используемой системой является DB 2(10%).
Основным пользовательским средством, для работы с веб-ресурсом, безусловно, является браузер. В связи с повсеместным распространением операционной системы MS Windows среди пользователей, наиболее распространенным остается браузер, встроенную в эту ОС — Internet Explorer. Тем не менее, даже среди пользователей Windows широко распространен браузер Mozilla Firefox.
Задача оптимального выбора ПО при создании веб-ресурса является задачей первостепенной важности, так как выбранная конфигурация должна обеспечивать поддержку всех необходимых технологий программирования и достаточный запас производительности, чтобы выдержать большую нагрузку со стороны пользователей веб-ресурса.
С целью выбора оптимальной конфигурации веб-сервера по заранее заданным параметрам, мной была разработана система поддержки принятия решений.
Разработанная мной система позволяет в интерактивном режиме подбирать конфигурацию веб-сервера по заранее заданным параметрам. К числу параметров относятся технологии программирования, возможность кластеризации и интеграции с Active Directory. Система предоставляет решения, основанные на наиболее распространенных конфигурациях веб-серверов Рунета.
Система представляет собой динамический веб-ресурс, созданных на основе технологии PHP и реляционной базы данных. Для работы с ресурсом достаточно любого графического браузера, поддерживающего JavaScript.
Работа лица, принимающего решения заключается в выборе необходимых технологий программирования и возможностей, которые, предположительно, будут использоваться на веб-сервере. По мере выбора система автоматически предлагает решение. Стоит отметить, что решение системы не является единственно возможным при данной конфигурации. Как и при работе с любой системой поддержки принятия решений, основная работа по выбору ложиться на лицо принимающее решение.
Система вырабатывает решение в три этапа. На первом выбирается веб-сервер, поддерживающий выбранные технологии программирования, или наиболее близкий по возможностям. Затем подбирается СУБД, совместимая с данным сервером и на третьем этапе выбирается ОС, на базе которой могут работать выбранный веб-сервер и СУБД. Наша СППР учитывает возможность использования той или иной конфигурации на базе различных операционных систем и выбирает наиболее выгодный вариант. Использование проприетарного ПО выполняется только в том случае, если невозможно получить конфигурацию с требуемыми возможностями на базе свободного.
Использование свободного ПО в качестве платформы для веб-сервера более выгодно экономически, так как лицензии, по которым оно распространяется позволяют использование ПО без необходимости отчислений производителю в случае его коммерческого использования.
Конфигурации, генерируемые системой, в целом, совпадают с общей тенденцией, используемого в рунете программного обеспечения. Тем не менее, такие узкоспециализированные веб-ресурсы как, например, файловое хранилище или система онлайнового вещания видео предполагают большую нагрузку на программный веб-сервер. Система предусматривает генерацию решений с учетом специфики ресурса, то есть возможность распределения вычислений между несколькими компьютерами.
На основе проведенного мной статистического исследования следует сделать вывод, что программное обеспечение, используемое для организации веб-ресурсов, в среднем, одинаково как для Российского сегмента Интернета, так и для зарубежного. Более 40% за рубежом и 50% хостеров России используют свободное программное обеспечение для организации хостинга. Это в первую очередь основано на его большей надежности и более высокой скорости выхода обновлений и устранения критических уязвимостей.
Разработанная мной система направлена на создание оптимальной конфигурации веб-сервер на основе свободного программного обеспечения. Так как система реализована в виде динамического веб-ресурса, она может быть размещена в Интернете и использована не только менеджерами и управляющими, но и пользователями сети Интернет. В особенности, ее решения могут быть полезны для развивающихся хостинговых компаний и системных администраторов.

Подготовка к семинару по OpenSource

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

СППР выбора ПО для организации хостинга

СППР-ка данными набита мало, но коим-то образом работает, при том, что старые дампы я потерял, вместе со структурой БД, которая там у меня была, так что восстанавливал по памяти.

воскресенье, 8 марта 2009 г.

Семинар по OpenSource в Магнитогорске

Наткнулся на LinuxForum на новость, публикую здесь на всякий случай.
28-го марта 2009 г. факультет информатики МаГУ совместно с магнитогорской LUG проводят семинар по OpenSource. В программе семинара:

Секция 1. OpenSource для начинающих.

* Глеб Канин. Статистический анализ в Gnumeric.
* Илья Портнов. Работа в редакторе Gimp.
* Павел Вязовой. Ubuntu Roadmap (что ожидает пользователя в грядущих версиях Ubuntu 9.04 и 9.10).
* Константин Калугин. Особенности OpenOffice 3.0.


Секция 2. OpenSource для профессионалов.

* Максим Сорокин. Среда разработки NetBeans.
* Илья Портнов. Файловая система Btrfs.
* Сергей Шакшин. Проект Centrix.
* Константин Рубан. Применение систем обнаружения вторжений на примере программы TripWire.


Регистрация желающих посетить семинар будет организована на сайте seminar.masu-inform.ru.

Обсуждение также идёт на сайте LUG и на wiki.

Если есть ещё желающие сделать доклады, просьба как можно быстрее выйти на связь.