2008-09-09

Конференция Red Hat Enterprise Linux

Сегодня, 9 сентября, в Reval Hotel Lietuva (там-же, где проходил EuroPython 2008) прошла конференция, посвещённая Red Hat Enterprise Linux. Конференцию организовала TVG, а в конференции приняли участие: Greg Bogochwalski (Sales Director VDEL GmbH), Andrey Meganov (RHCA, RHCX, Head of Presales & Consulting VDEL GmbH), Laimonas Pronskus (TVG) и Wiesław Pilarczyk.

Greg Bogochwalski раскрыл две темы: Вводная часть о Red Hat и Система обучения и сертифицирования Red Hat. Материал, сразу видно, подготовлен хорошо и человек знаток своего дела.Четко было показано, где граница между Fedora и Red Hat, почему Red Hat платный, за что и как платят и почему для Enterprise желательно выбирать Red Hat Enterprise Linux. Так-же представили короткий список курсов, который можно прослушать в соседних странах, где есть сертифицированные учебные центры. Рассказал про то, какие сертификаты можно получить. Сказал, что возможно будет создаваться база и в Литве, и что возможно, участники конференции будут первые, кто смогут воспользоваться услугами центра по обучению и сертификации, причём со скидкой. Что-же, ждём, что будет дальше (но в любом случае есть желание снести Ubuntu и установить Fedora).

Andrey Meganov раскрыл тему продуктов, входящих в Red Hat и как себя позиционирует Red Hat на рынке. Что-то повторилось из презентации Greg’а, но в целом, тема была очень интересной, так как были представлены более подробно такие продукты как: виртуализация, GFS, Red Hat Cluster Suite, Red Hat Enterprise IPA, Red Hat Enterprise MRG. Лично с Andrey мне удалось очень интересно побеседовать во время обеденного перерыва на тему GFS и Red Hat Cluster Suite. Побольше бы таких разговоров и таких замечательных людей как Andrey Meganov рядом, готовых показать и указать, в которую сторону шаманить.

Laimonas Pronskus коротко представил свою компанию TVG, рассказал о позиции Red Hat Enterprise Linux в Литве и уделил большое внимание системе лицензирования Red Hat Enterprise Linux.

Wiesław Pilarczyk представил всем JBoss Platform, но, к сожалению, оценить JBoss и его презентацию я не могу - я совсем не в курсе, что такое JBoss и с чем и как его едят. Так что без комментариев.

В общем и целом конференцию я лично считаю удавшейся и для себя полезной. Завязаны некоторые интересные контакты, раскрыты некоторые темы, выпит бокал пива с RHCA (а людей с таким статусом не так и много). В подарок, на память о конференции, участники получили по маленькой мыши с логотипом Red Hat и коробочку для визиток. Спасибо организаторам и участникам за это мероприятие.

Blog — Сергей Куракин @ 21:24
Таги: , ,
2008-09-02

Linux и мечты

Давно давно мечтал, года два наверное, заполучить в руки свободную машину (PC), желательно laptop (а в народе просто “лапоть”) и водрузить туда какую-либо дистрибуцию Linux или Unix. Так, что-бы не очень старую, но чтоб свободно можно было перегружать, сносить, переустанавливать.

Наконец моя мечта, моё желание исполнилось. В руки мне попал Dell Latitude D620. Попал он ко мне не совсем “здоровым”: проблемы с памятью и охлаждением. Память ему меняли 3 раза и не помогало ему, поэтому всё валили на охлаждение.

Да, он действительно грелся. Согревался за минут 5, а то и быстрее (зависело от температуры окружающей среды) и зависал, либо падал.

Вскрыл я его, сняв клавиатуру и убедился, что coоler у него работает. Удалил 1 блок памяти, что находился под клавиатурой, запустил его и он продержался достаточно долго, что-бы я установил на него CentOS 5.1 с DVD. Правда, потом, при попытки собрать ffmpeg (ради эксперимента) как он вновь завис. Так как клавиатура была всё ещё снята, я осмотрел все детали охлаждения ещё раз - показалось чисто. Тогда, я на собственный страх и риск, я решил пропихнуть скрепку через его радиатор, чтоб проверить, не забит ли он мелкой пылью. Оказалось забит. Вычистил. Вставил 2 модуля памяти из разных коробок (по шине они совдали, один модуль был родным 512 МБ, второй 1024 МБ из тех что покупали). Работает, т.е. биос проходит до момента загрузки.

Родной Microsoft Windows XP Home на него не встал - при проверке системного обеспечения он падал. Поэтому туда я водрузил CentOS 5.1 с заранее скаченого DVD ещё разок, настроил Wi-Fi сеть, обновил до CentOS 5.2. Но танцы с бубном вокруг драйверов Wi-Fi карты и драйверов видео карты меня не обрадовали, поэтому на следующий день я туда засунул Ubuntu 8.04 LTS.

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

Blog — Сергей Куракин @ 20:45
Таги: , , ,
2008-07-09

EuroPython 2008 день три

Michael Meinel: FlowSimulator - к сожалению я опоздал на эту презентацию и за последние 15 минут уже ничего не понял.

Jussi Rasinmäki: Small Team, Big Demands? - Use the Batteries Included - Что стало очень ясно, так что что Финские лесничие вполне овладели Python, XML и даже немного SQL и очень чуть чуть C. Так они создали симулятор предназначенный для менеджмента и планирования вырубки леса. Очень интересная история создания программы, эволюция от C + libxml2 до Python. С какими проблемами столкнулись, какая скорость написания кода, какя скорость написанного кода по отношению к коду на C. Довольно серьёзно всё. Очень жаль что Jussi Rasinmäki не представил интерфейсов системы о только один пример отчёта, очень слабо понятный среднему питонисту.

Raymond D. Hettinger: Core Python Containers - Under the Hood - Ну что хотеть, когда к вам приезжает кто-то из core developer for the Python language. Только чуда. И оно было. Замечательная презентация, отлично изложен материал, примеры и пояснения тоже на высоте, понятный английский язык. Сразу видно, что человек знает своё дело, понимает что к чему и ни капли не сомневается в своей правоте, даже при вопросах, которые могут потребовать более глубокого анализа ситуации. Вообще, после такой презентации, как устроены некоторые компоненты Python, как устроен менеджмент памяти, почему именно такие решения начинаешь очень сильно уважать этот язык. 10 балов!

Nicolas Chauvat: LAX - Logilab AppEngine eXtension - Можеть быть это расширение было-бы куда более понятным, если бы его хорошо представили и подготовили примеры. К сожалению все примеры увенчались почти неудачами. Конечно, готовая административная часть для Google AppEngine, очень схожая с Django тоже не плохо, но готовиться нужно лучше.

Adam Byrtek: Why It’s Good To Be Lazy: Functional Programming with Python - паренёк конечно маньяк, но ещё сам Guido van Rossum в понедельник сказал, что Python нифига не функциональный язык и не надо этим на нём этим заниматься. Но за старания и раскрытие темы я ему благодарен.

Gašper Žejn: Managing Computing Clouds on Unreliable Nodes with Python - А здесь я ожидал большего. Я ожидал опять-таки примеров и рекомендаций как это сделать. Да, они были, но их было маловато, хотелось немного больше.

Хотелось бы заметить что народ поделился ещё кой-какой информацией как используют Python: кто-то пишет дистрибутивную файловую систему под кодовым названием Byron, кто-то на нём программирует Hardware (Telic.pl) тем самым избегая дорогостоящих программистов на C.

Вобщем, потраченные 100 Euro на конференцию (кстати, оплатила всё Dip Studija) очень даже окупились. Погружение в мир Python на 3 дня дал очень много материала для размышлений. Я бы сказал мышление немного меняется после таких встреч.

Blog, Python — Сергей Куракин @ 21:08
Таги: ,
2008-07-08

EuroPython 2008 день два

Marc-André Lemburg: Designing Large-Scale Applications in Python - а знаете, ничего нового. Фундаментально он ничего совсем не сказал нового. Я думал будут менее абстрактные советы и примеры. Причём говорил тихо, с утра чуть не уснул.

Steve Alexander: Developing a Very Large Python Web Application LEAN style - тут я ожидал явных примеров из жизни, каких-то конфигураций, советов. А узнал, что нужно эксплуатировать Open Source и прочее yada-yada.

Jonathan Fine: Math on Web Pages and Mixed Language Programming - Вот посмотрите на название: Mixed Language Programming. я ожидал чего-то космического, можно сказать rocket science. Получил же пример (абстрактный) что некий университет разработал MathTran на основе TeX, где Python находиться как “смазка” между протоколом HTTP и демоном TeX. Бегло рассказали про решение (никаких особенностей и трудностей исполнения не представили), показали новый (ими разработанный) стандарт xson и немного показали как JavaScript может работать с Python (будто в этом есть сложность).

Raymond D. Hettinger: Descriptor Tutorial - Молодец! Тему раскрыли с третьего слайда, а оставшимися её очень и очень закрепили. Очень понятный английский язык, очень правильные слайды, очень хорошие примеры кода. Правильный темп, хорошая тема, полный зал слушателей. Всем очень понравилось. И темя, я думаю, очень актуальная. И не смотря на то, что она помечена как “Advanced”, она должна быть обязательной для начинающих.

Fabio Pliger: Freezing the Python - отдельное спасибо организаторам и докладчику. Очень актуальная тема. Как-бы не старались товарищи *nix’систы, а MS Windows не сильно сдаёт позиции. Писать инструкции: скачай то, запусти, нажми, установи, скачай, установи, скачай, установи очень и очень не интересно. Жаль правда, что решения пока не совсем стабильные и 200 MB egg файлов скомпилировать в .exe нам не удалось. Надо обязательно рассмотреть все 3 библиотеки: Py2exe, PuInstaller, BBFreeze. Но возможность собрать почти всё что угодно, написанное на Python в .exe меня очень и очень привлекает.

Stefan Behnel: The Cython Compiler for C-extensions in Python - Не знаю на сколько он реально работает и стабилен, но идея очень и очень хорошая. Тоже очень очень хочется попробывать как оно может работать. Как можно из Python библиотеки сдлеать C код и превратить его в Python extensions с на порядок большей скоростью исполнения.

А на закуску к нам приехал сам Hans Rosling. Представил нам тему: Code that makes sense of the world. Все слушали тихо, впитывая каждое слово этого Человека. Тема, слайды, темп - всё отлично. Один Gapminder что заслуживает. Когда он рассказал о том, с какими проблемами они сталкиваются при разработке, мне становиться их жалко. Flash, как оказалось, не поддерживал то количество кода, которое они написали для создания Gapminder. Собирать статистическую информацию о разных регионах/странах/районах очень сложно и дорого. Google им много помогает. Но мне нравиться цель, которую перед собой поставил Hans Rosling: дать доступ к глобальной статистической информации всем, кто имеет доступ к интернет сети и как можно более полной статистической информации. Очень правильная и благородная цель. Разработанные интерфейсы и возможности, представленные на конференции очень сильно расширяют взгляд на то что происходит и может изменить даже взгляд на жизнь. Вобщем, опять хочется поставить 10.

Из “халявы”: майка Bazaar и Google. Если Google я буду носить с удовольствием (особенно радует надпись на спине: I’m feeling lucky), то Bazaar изза странного отростка вниз носить как-то стрёмно.

Blog, Python — Сергей Куракин @ 22:49
Таги: , , , , , ,

EuroPython 2008 день один - что забыто сказать

Видимо вчера я полностью выдохся и забыл написать о двух докладах на EuroPython 2008.

Первый это Christian Theune: ZEORaid - Free, Reliable and Flexible ZODB Storage. Интересное решение для Python базы данных ZODB используя технологии RAID. Как утверждалось, она не имеет точки сбоя, но во время презентации сидящие в зале попросили симулировать одно условие и вдруг всё упало оплевав всех ужасными ошибками.

Второй это: Christian Scholz: Second Life and the Open Grid Protocol. А ребята не спят. переходят на REST, строят хитрую инфраструктуру и строят PyOGP. Почему именно Python они не сказали, т.е. сказали но так не прозрачно. Мне сложилось впечатление, что на них очень давит что сообщество интернета само стоит OpenSim на открытом коде и им хочется такой-же.

Что ещё заметил на конференции: почти все с лаптопами. Преобладают такие марки: Apple Mac Book (Pro в частности), Dell (Latitude), Lenovo/IBM ThinkPad, Asus EEE (701 модели). Wi-Fi очень медленный и очень капризный.

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

Сидеть на конференции и впитывать всю информацию куда тяжелее, чем писать код на Python.

Blog, Python — Сергей Куракин @ 08:04
Таги: , , , ,
2008-07-07

EuroPython 2008 день один

Итак, мой первый день на EuroPython 2008 и впечатления.

Впечатления положительные. Много народа со всего мира. Народ разный в размерах и разного возраста. Стараются ломать языковой барьер и прочие комплексы. Общаемся.

Организаторы не подкачали. В отеле совсем не плохо. Всё почти ясно и прозрачно.

Посетил только одну треть докладов. Меня ещё не клонировали - поэтому появиться одновременно в 3 аудиториях я не смог.

Первым был Marcin Kaszynski: Build an App in a Week. Человек объяснил как быстро построить сайт на Django. Жаль что всё так коротко и доклад бы о маленьких сайтах. Но идеи с автоматическим развёртыванием на системе разработчика мне понравился. Были не плохие замечания относительно синхронизации моделей и структуры базы данных.

Далее я попал на Tommi Virtanen: My God, it’s Full of Files. Чувствуется, что для Tommi Virtanen это не первая презентация и человек много общается. Скорость и дикция отличная, слайды подобраны под темп доклада. Тема работы с файловой системой затронута очень актуально и правильно. Идеи тоже хорошии. С ним удалось пообщаться в перерывах относительно Twisted и его возможностей, http streams и загрузки огромных файлов. Приятный собеседник, огромный багаж знаний.

Потом был Dinu Gherman: Accessing File-Specific Attributes on Steroids. Может оно было-бы и очень хорошей утилитой, но как-то слабо представлено. Я слабо представляю применение её себе. Поиск по атрибутам файлов. По моему есть готовые решения для многих платформ и довольно неплохих. На одно из них было сделано отличное указание во время презентации. Кстати, народ очень интересовало как это сделано, именно сам поиск и анализ файлов без “открытия или запуска” файла, техническое решение. Ответа конкретного небыло.

Отличный длинный обед.

После обеда был Zope. Malthe Borch: A New Approach to Web Authoring on Zope - после нескольких лет паузы, меня заинтриговало. Очень. Надо обязательно вернуться к Zope и посмотреть на что он уже способен и как действует.

И конечно, неповторимый Harald Armin Massa: Discouraging the Use of Python. Отличная презентация, почему не стоить использовать Python. Отличное чувство юмора и отличные доводы почему не стоит использовать столь прекрасный язык программирования.

И в конце первого дня, на закусочку с нами напрямую связался сам Guido van Rossum. Рассказал про Python 3000. Тоже молодец, человек с юмором. Учитывая что была видео-конференция (плюс постоянно кто-то врывался в кабинет где сидел Guido van Rossum и ему мешал глупыми вопросами), презентация была на 10! Они делают довольно серьёзные и смелые изменения в языке.

Blog, Python, Web — Сергей Куракин @ 22:43
Таги: ,
2008-06-28

Памятка по CentOs и OpenSSL

Вечно теряю эту информацию (так как она нужна примерно раз в год):

И конечно-же, GPG Quick Start, ну как такое можено было пропустить. Даже ключиком обзавёлся: мой GPG PubKey.

Blog, Memories — Сергей Куракин @ 15:01
Таги: , , ,
2008-06-25

Я и Python, или…

Наверно никому не секрет, что я интересуюсь Python, этим прекрасным, динамическим объектно-ориентированным языком программирования.

Первый раз я его попробовал довольно давно. И меня до сих пор “колбасит” от правил табуляции кода. Тогда мне показалось это ужасным, а теперь уже привык.

Несколько недель назад я собрал интерфейс на TkInter, использующий threading для закачивания файла при помощи XML-RPC на один сервер. Уникальность работы была в том, что файл перед загрузкой бился на часто по 1,5 Мб, что-бы не изменять настройки сервера (максимальный размер операции POST на сервере ограничен). На сервере, по мере поступления частей, файл собирался. Во время испытаний всё работало отлично даже через reverse-proxy на Apache 2.2.

Правда, при работе с Python и его библиотекой md5 или hashlib я был удивлён, что нет отдельной функции для работы с большими файлами. Конечно я встал на грабли с чтением всего файла в переменную, причём с современными компьютерами данная операция проходит отлично (изза кол-ва оперативной памяти) и вылезла когда я уже начал тестировать на старенькой машинке.

Python Imaging Library (PIL) приятно удивил. Это был запасной план. Значит задача была: согласно определённым правилам, забирать данные о товарах с картинками с определённого сайта, картинкам изменять размер и ложить это всё в базу (данные и связь с картинкой) и на диск (саму картинку, в базе ей делать нечего), причём всё это было написано на Zend Framewrok и должно было работать “демоном” на CentOS 5.1, но переставало после часа работы, скушав всю оперативную память. Не то tidy порол, не то SimpleXML, а может всё вместе: там было PHP 5.1.6. За пару выходных в спокойном режиме, дома, я собрал на Python модель, выполняющую всё тоже, что и выше описанный скрипт на PHP (зацепил меня Python). Но, потом, с утра, на работе, я сам, из исходников собрал PHP 5.2.6 и утечка памяти испарилась.

А вот MySQLdb у Python меня не радует. Нет, я ничего не имею против написания запросов руками. Но вот передавать параметры через %s или %d, при этом динамически формируя запрос, не очень как-то получается.

µTidylib - TidyLib Python wrapper, ведёт себя абсолютно как оригинальный HTML Tidy, что на этих выходных меня озадачило. Он нагло отказался превратить в валидный xHTML одину страницу сайтов (это было http://www.delfi.lt/, содержащее 706 ошибок в данный момент времени), причём tidy, входящий в PHP 5.2.6 это делает. Вобщем, плохо думать о вещах со стороны PHP.

Опробовал я и Django 0.96. Правда я пока сомневаюсь, что он for perfectionists with deadlines. Как-то пока тяжело мне понять его логику. На платформе одной известной компании он устанавливается только после бубна, на нормальных платформах намного быстрее. Автоматический генерируемый админ не сильно удобный, особенно если у вас в базе скажем 5000 записей и они соединены с другим объектом в режиме ManyToMany. Пока мне остро не хватает документации и, конечно, опыта использования. И язык шаблонов, хочется большего. Конечно, местами присутствующая простота очень радует.

Ах, да, камень надо бросить в огород создателей Python за httplib — HTTP protocol client. Он не способен нормально передать при помощи POST или PUT большой файл на сервер, не загружая его целиком в память и загонять в переменную. Пришлось самому писать “костыль”, способный параметры принимать как dictionary и проверять, строка это или объект типа file, и, если это file, посылать его прямо в stream. Надо будет его как следует оттестировать и выложить в публичный доступ.

Ну и о предстоящем EuroPython 2008, который пройдёт с 7 по 9 июля в Вильнюсе. Организаторы подтвердили моё участие в конференции, так что я буду среди слушателей. Теперь осталось выбрать, куда я пойду, так как программа очень насыщенная.

Python, Web — Сергей Куракин @ 09:25
Таги: , , , , , ,