Итоги Exception 07, как это было
Приехали на конференцию мы вдвоем, менеджер проектов и я. Доделывать слайды пришлось в поезде, пока не села батарея. Как выяснилось, розетки в вагонах не имеют достаточной мощности для зарядки батарей ноутбука, а вот на обратном пути в вагоне даже значок ноутбука был, но экспериментировать не стали.
Во-первых хочу поблагодарить организаторов события. Они многое сделали и результаты есть. Предыдущий раз был на Ecxeption #05. Масштабы увеличились.
Несколько замечаний
По-моему надо делать жесткий отбор докладов. Новые и платные конференции должны быть более профессиональные, было видно как большая аудитория скучала от примеров “Hello World”. Нужна динамика, четкая прикладная область: проблема - решение.
Временные рамки и скомканность в целом присущи всем мероприятиям, может стоит начинать такие мероприятия представления участников конференции, чтобы на протяжении всего времени уже разделялись интересы и жаждущие нашли ответы на свои вопросы не дожидаясь “конца света”. Было трудно быть в трезвом уме до самого конца, сильно утомляет.
Сам Киев!
Красивый город. Уже не первый раз приезжаю и все больше он мне нравится. Напоминает Кишинев, но вот только масштабы больше в разы, есть где развернуться и потеряться =).
Конечно же Пузата Хата и Дрова - достопримечательности. Отличная еда, хороший выбор и адекватные цены. Вкусное пиво конечно же. Била Ничь и Hike.
Весь город - музей =).
О докладах
Самый достойный доклад - Как заставить свою лень работать, Дмитрий Кожевин. Четко, быстро, весело и по теме.
Мастер класс по Python: Метаклассы + Дескрипторы, Андрей Светлов. Интересная тема и во многом полезная, но чтобы давать такие мастер классы, нужно готовиться так же как и к докладу. Четко рассчитать временные рамки, заранее написать кучу примеров и показывать их в готовом виде. Возможно даже добавить слайды для наглядности. Было видно что проблем с примера у Андрея нет, но вот сама атмосфера предполагала намного большей динамики. Публика оказалась подготовленной. Думаю что нужно больше мастер классов - это хорошо.
Python и Django - платформа для фрилансера, Александр Кошелев. Думаю что Александр точно придерживался темы, доклад получился введением в платформу Django и ее применение в малых и средних проектах. Публика внимательно слушала, возможно многим хочется перейти на эту платформу. Было заметно, как часть аудитории ждала примеров кода и интересных трюков, которыми смог бы поделиться автор.
StrokeDB: Yet Another Database (Ruby), Юрий Рашковский и Олег Андреев. Очень интересная тема и хорошо подготовленный доклад. Ребята здорово заводили публику яркими картинками и веселыми фразами на английском языке, но к этому времени часть аудитории была в спящем режиме и не улавливала сути доклада. Тема действительно интересная, нашему менеджеру проектов, который приехал на конференцию, очень понравилось и он даже пообщался с ребятами отдельно, т.к. всего узнать во время доклада не получалось. Хотел бы пожелать им удачи в проекте, так держать!
По ту сторону ООП: PEAK-Rules и PyProtocols, Cергей Щетинин. По-моему тема была не раскрыта, много времени докладчик бродил вокруг определений ООП и крутости PyProtocols. Было много не точных определений и путаницы. Кратко говоря: PyProtocols - реализация шаблона Адаптер для работы со слабо структурированными данными XML. Сравнения с zope.interface и другими реализациями так и небыло. Уверен что автор умеет использовать данные технологии, но не использовал других.
О своем докладе ничего не могу сказать, за исключением того, что не было времени раскрыть тему целиком. Приятно то, что темой заинтересовались многие разработчики. Выложу весь материал у себя в блоге. Был интересный вопрос из зала, по поводу GIL(Global Interpreter Lock), опишу свою точку зрения и примеры в следующих постах. Хочу найти тех самых собеседников: “Товарищи, зачем же убегать так быстро =)?”. Еще я немного не расслышал и подумал о jitter в первую очередь, сам дурак.
Огромное спасибо всем кто был. Было приятно встретить Пашу(Pahanix). Спасибо Олегу, который принес видео с нашего предыдущего выступления в Киеве, импровизационный квартет post-rock.
Был рад познакомиться с Piranha =) и узнать что у меня не работала регистрация в блоге=).
Жаль что не встретился с товарищем,Артёмом Дёминым, который не смог приехать т.к. выступал днем ранее на конференции http://conf.linux.md.
Скоро выложу полный фотоотчет, жаль в byteflow еще не прикрутили photologue, а самому лень, которая в скором победит.



















Comments
У тебя был ужасно мелкий шрифт на слайдах.
Мастер про метаклассы делал Андрей Светлов, а не Соловьев.
Спасибо, исправил. Ошибок у меня было не мало, это точно.
Прикольные камменты :)
доклад был нормальный, но я б хотел услышать например чем тяжёлый твистед круче того же asyncore “stdlib’овский” (в плане асинхронности ), как он себя ведёт при нагрузке (pyicqt течёт и никуйва из-за него ;] ) Ну и как это всё работает (хотя упоминания были, но толи размытые, толи уже был поздний час и я засыпал :) ) надеюсь в блоге накидаешь чего по твистеду + теперь я должен тебя ликвидировать, ибо ты меня запалил на фотках =)
Хе хе … вот сейчас посмотрел фотки, не нашел ((. Зато bialix запечатлен, помню как он ворчал во время пафоса с подъемом рук на докладе PyProtocols.
На счет производительности надо будет отдельно написать статьи, может результаты стресс тестов выложить получится.
Ну, насчет докладов в отдельности я еще у себя отпишусь, хочется отметить другое: все доклады были очень разнородные в плане сложности.
“Как заставить свою лень работать” - ну это понятно - легко и весело.
“Python и Django - платформа для фрилансера” - практически никакой конкретики, ничего нового для себя я не узнал (хотя джанго сам не пользовался, подозреваю, что тем, кто с джанго знаком было еще скучнее).
“StrokeDB: Yet Another Database (Ruby)” - мне лично очень понравилась атмосфера, которую делали Олег с Юрой (насчет англ. - похоже, Юре на англ общаться удобнее даже :)), да и сам доклад был интересным, хотя и с синтаксисом руби я знаком постольку-поскольку.
“PEAK-Rules и PyProtocols” и твой “Twisted” - по крайней мере для меня были достаточно сложными. Общую суть я понял, но вот как это всё реализовано, на чем базируется и т.д. и т.п. - мне осталось непонятным (посоветуй, кстати, почитать про асинхронную работу приложения, а то я так и не вьехал - КАК там может быть только один тред на всё).
“Мастер класс по Python: Метаклассы + Дескрипторы” - тема в принципе легкая и понятная, но разговаривать докладчику безо всяких “эээ” следует поучиться :)
И пропиши у себя в CSS:
.blogcomment .text, .pingback .text { clear:left; }
;)
По поводу моего мастер-класса (выводы):
Если Иван позволит, вскорости постараюсь сделать лучше. Первый блин все таки (в смысле - первый мастер-класс для exception)…
twisted. Он не течет, если правильно все написано (ИМХО). Круче из-за своих Deferred, кардинально облегчающих жизнь - и enterprise здесь не при чем. twisted может быть и очень маленьким и легким.
GIL: думаю, этот вопрос не имеет к twisted прямого отношения. Хотя и очень интересный, не отрицаю
Ну я ж особо без притензий :) я вообще не могу выступать перед аудиторией. просто фактик :)
Насчет второго докладчика - тут самое оно. Ты на strokedb был? Там Юра набирал/копипастил, а Олег комментировал, т.е.: всё же набрать предварительно код, пусть ты его не 1 в 1 покажешь, но всё-таки будет получше, ИМХО + комментатора, если ты в реалтайме будешь набирать.
Приветствую. Часы! ДА, часы очень полезны. Думаю, что из-за отсутствия в аудитории табло с часами, можно и лучше будет купить для таких мероприятий свои. Электронные часы с большим табло, тогда будет видно и за столом и у доски.
Под слайдами я скорее подразумеваю диаграммы, например для мастер класса по шаблонам или большим примерам, где проще показать диаграммы, а потом локализовать участок кода в пример.
ipython кстати можно встраивать в Zope3, прямо в сессию =). Думаю что и в django и в twisted можно, но не игрался.
Говорить с микрофоном надо тренироваться - это факт. Даже без занятости за буком, сложно говорить не говоря уже о том, что мне тяжело говорить, когда я печатаю или думаю не на конференции =).
Twisted тестировал на утечки памяти, у него они есть, но очень не значительные. Они зависят от кода используемого в самих Deferred объектах. Еще лучше использовать python 2.5.
Вообще утечка памяти и отладка - отдельная тема. На практике у нас тек сервис, который постоянно работает с данными. Кушал до 600 Мб за неделю. Теперь тот же сервис работает месяц и остается на своих холостых 15 Мб.
Руки надо мыть и выравнивать перед работой =). А то что он легкий, еще раз +1. В основном нужен только TwistedCore, модулей минимум. Из ресурсов на сервере как уже говорил выше.
На счет GIL - тема интересная и касается twisted только в случае больших нагрузок и объемов данных. Тут надо настраивать сервисы отдельно и мониторить их отдельным приложением,использовать разделяемую память. Способов куча, на вкус и цвет.
Вообще, спасибо тебе за поддержку еще раз!
Вместо него слушал REBOL - и, похоже, прогадал. При всей моей любви к DSL… Надеюсь посмотреть видео (да что там - посмотрю, мой друг его подготавливает к выкладке в инет) - и поучиться.
Самое обидное - на моем ноуте, который рядом стоял - все эти исходники были, и я в них подсматривал.
Скоро эти исходники в несколько обработанном виде появятся на сайте мероприятия.
Та же фигня. :-((
Кстати, offtop. twisted.flow, похоже, умер - туда ему и дорога. С генераторами от 2.5 он должен быть кардинально пересмотрен. А есть ли такие разработки?
А часы Иван обеспечит, уверен. Это мой третий доклад на exception. И часов, как я сейчас понял, вечно не хватало. Но только нынче смог это сформулировать. На первом попытался положить рядом телефон с включенным секундомером, но у него, заразы, постоянно гас экран. А все закончилось тем, что мне стали звонить родственники с вопросом: ну как оно, успешно все происходит? Пришлось телефон срочно отключить :)
Кстати сейчас написал как раз о анонсе пререлиза 8.0, так там есть Flow и в тикетах что-то вскользь о декораторах читал =). Думаю код значительно почистили.
Фигня. Ничего не поменялось
Да, я тоже проверил.
А есть ли еще альтернативы zope.interface и peak protocols?
Откровенно говоря, в protocols вижу только одно преимущество - цепочки адаптеров.
Андрей Орлов на пятом exception говорил, что в interface планируют такую фичу включить.
Лично мне было не нужно, но вещь мощная.
В остальном, ИМХО, протоколы проигрывают интерфейсам (хотя бы по простоте описания).
Поправьте, если я ошибаюсь.
Все это лишь реализация шаблона Адаптер(Adapter) и не более того. Конечно добавили кучу наворотов, но они были сделаны только для решения определенных задач и не стоит их пихать куда попало. В простейшем варианте как аналог пишется свое решение и это встречается довольно часто в чужом коде.
Protocols и Interfaces безусловно круто и универсально, но честно говоря мне очень не нравятся идеи с “цепочками”. Учитывая то, что говорили во время доклада, мы получаем Графы которые лишь усложняют нашу программу. Лично я бы от таких “макарон” избавлялся, а если увидел бы в них(графах) необходимость с учетом задачи, то в первую очередь подумал бы о том что надо выкинуть 50% моего кода и понять, что графы никчему. В противном случае, максимально однозначно выбирать стратегии адаптации (шаблон Strategy), ну и на самый крайний случай использовать графы.
Весело то, что докладчик сказал о крутости поведения графа при выборе кратчайшего пути, но ни слова не сказал о алгоритме. Форд ли это или алгоритм Белмана-Калаба, ведь такие нюансы важны для решения задачи X.
Как вы говорили: “Люблю понять как все это работает, не люблю “магию”!”. Согласен с вами.
На счет простоты zope.interface +1, думаю это повлияло на выбор технологии в проекте Twisted.
У меня, кстати, есть вопрос относительно спортбокса. Насколько я знаю, сайт этот делали и открывали “Key Solutions”. А что с ним потом произошло и как ты в нем замешан оказался?
KS работали по контракту как субподряд. Контракт разорвали, причин много, но это не моя головная боль. Я просто искал работу в прошлом году, мне предложили работу тут.
А почему это интересует? Надеюсь меня теперь не забанят в интернете, параноиков много =).
Ясно. Да просто знакомые в KS есть. Вот услышал, что ты разрабатываешь его, показалось, что что-то знакомое (еще на конфе), зашел на сайт - смотрю - точно, то, что делали знакомые. Вот и решил спросить.
Жив Key Solutions. Трое ребят из него на конфе были
Это я знаю, я с ними хорошо знаком - я не знал, почему они от sportbox’а отказались :)
Так-то так… Но Андрей Орлов говорил, что иногда в zope цепочек не хватает. К тому же в twisted не очень широко распространены адаптеры (разве что в web2)…
Я активно использовал адаптеры в проектах twisted, помогает. Не знаю в каких именно задачах Андрею Орлову понадобились цепочки адаптаций. У меня на этот счет скептическое мнение…
Я не о твоем использовании, я об использовании адаптеров в стандартгом twisted. Сам тоже применяю их везде, где можно (стараясь не прейти за те рамки, где нельзя). Если ты запомнил слова о магии, поймешь и о “молотке и большом гвозде”
— Спам не по теме убрал —
Кстати, а почему burus.org так медленно работает? У меня вообще страничка только с третьего раза загрузилась :(
Хостинг не настраивал. Поставил все сразу под mod_python без настроек. Сейчас время выкроил, поменял все под mod_wsgi.
Вот хостинг. Webfaction
Будет еще время, прикручу memcache в шаблонах и тогда будет все это летать на минимальном хостинговом плане с 80 Mb памяти.