Публикации с меткой «dev»

Vurtseed

PyCon 2011 в Киеве 22-23 октября 2011

От имени организаторов украинского PyCon рад возможности объявить о начале регистрации на это важное Python-событие, прежде всего обращаюсь к жителеям западной части России, всей Украины, Белоруссии, Польши, Австрии, Германии и вообще всех стран в ближайшей досягаемости от Киева, а так же тех кто хотел бы приехать из более удаленных мест.

В этом году пройдет вторая ежегодная конференция PyCon, это крупнейшее профессиональное событие на постсоветском пространстве для тех кто тем или иным способом связан с технологиями на этом языке программирования. Событие займет два дня 22-23 октября 2011 и пройдет в Киеве. На событии ожидается более 250 слушателей которым будут представлены доклады в течении двух дней от более чем десятка докладчиков. Доклады будут осуществляться на русском и английском языке.

UaPyCon — это событие для сообщества организованное при поддержке Python Software Foundation и является нашей версией ежегодных конференций которые проводятся по всему миру. Цель конференции — профессиональное общение для программистов любого уровня: от новичков которые только делают выбор, до профессионалов с многолетним опытом которые хотели бы представить свои технологии и получить обратную связь во время живого общения. Конференция является площадкой для формирования контактов, а так же возможность лично встретиться со многими участниками сообщества. Кроме того — это просто грандиозное событие по концентрации докладчиков.

Доклады


В этом году мы планируется провести двухдневную конференцию в два потока — включая доклады, мастер-классы, панельные дискуссии и lighting talks. Кроме того, будет проведена «recruiting session» — у желающих будет возможность больше узнать о украинских компаниях, которые разрабатывают на питоне, об их проектах и побеседовать с их представителями.

Среди докладчиков ожидаются:

* Игорь Почечуев, Василий Дижак, Тарас Мурашко, Игорь Давыденко, Андрей Светлов, Павел Коломиец, Александр Соловьев, Роман Ворушин (Киев, Украина)
* Александр Бойко (Харьков, Украина)
* Александр Лябах (Днепропетровск, Украина)
* Михаил Кашкин (Одесса, Украина)
* Александр Литовченко (Донецк, Украина)
* Юрия Юревич (Омск, Россия)
* Армин Ронахер (Armin Ronacher, Австрия)
* Ендрю Годвин (Andrew Godwin, Великобритания)
* Мартин Шустрик (Martin Sustrik, Словакия)
* Анжей Млечко (Andrzej Mleczko, Италия)
* Маттео Босколо (Matteo Boscolo, Италия)
* Ожидаются подтверждения участия от Тарека Заде (Tarek Ziade) и Luke Kenneth Casson Leighton.

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

Регистрация


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


Организация


Для тех кто хочет следить за событием через социальные сети:

Внимание: регистрация на страницах в Facebook или Vk.com не являются регистрацией на событие, это только способ упростить взаимодействие между участниками.

Для тех кто хочет освежить впечатления прошлого года можете ознакомиться с видео на канале конференции http://blip.tv/pycon-ukraine (тут же будут публиковаться и новые видео).

Спонсоры конференции:

Контакты:

  • Организационные вопросы и спонсорство: Владимир Гоцык (@gotsyk, gotsyk[]gmail.com)

  • Пресса и информационное спонсорство: Михаил Кашкин (@mikashkin, mkashkin[]gmail.com)

Vurtseed

Живая трансляция #uapycon

http://www.ustream.tv/channel/uapycon

Хештег в твиттере #uapycon

Vurtseed

PyCon Украина (23-24 октября, Киев)


Друзья питоноводы,

Для тех кто ещё не знает хочу сообщить радостную весть: 23-24 октября мы проводим в Киеве конференцию PyCon Ukraine посвящённую Python.

Конференция международная, и в ней будут принимать участие много иностранных гостей. Ожидается много интересных людей:
Стоимость участия всего 350 грн (примерно $44, или 1 367 руб.).


Регистрируйтесь на http://ua.pycon.org/.

Каждый участник получает бесплатную футболку PyCon Ukraine.



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

Если вы хотите выступить с докладом — после регистрации подайте Talk Proposal через соотвествующую форму.

По форматам докладов мы предпологаем такие варианты:
  • Talk (доклад на 30—45 минут)

  • Tutorial / Master-class (интерактивное действо на 30-45 минут)

  • Lightning talk (пятиминутный доклад)

  • Pecha kucha (по правилам Pecha Kucha)

Для докладчиков участие бесплатное.
Кроме того, мы хотим проявить Open Space-активность и думаем над проведением спринта(ов) после конференции.
Основным языком докладов будет английский, но, безусловно, никто не запретит сделать интересный доклад и на русском.
Будем рады всех видеть а также открыты для предложений как сделать конференцию лучше.

import antigravity # !!!!!

PS: Думаю о теме для своего доклада. Кто о чём хочет услышать?

Vurtseed

В четверг в Одессе, в субботу в Киеве

Завтра приму участие в Яндекс конференции.

Онлайн трансляция будет тут


В субботу в Киеве. Вот анонс который прислал Сергей.

Вітаю!

Цього тижня, у суботу відбудеться зустріч Kyiv GTUG,
київської групи користувачів технологій Google. На цей раз до нас
знову завітає Кріс Шабо, який працює над соціальними сервісами у офісі
Google у Маунтін-В'ю, і розкаже про Buzz API, який було представлено
на конференції Google I/O в травні. Будь ласка, ознайомтеся з його
виступом на цій конференції:
http://code.google.com/events/io/2010/sessions/google-buzz-apis.html

Також Михайло Кашкін продовжить цикл лекцій про Google App Engine.
Також раджу подивитися його попередні виступи:
http://www.youtube.com/results?search_query=%D0%BA%D0%B0%D1%88%D0%BA%D0%B8%D0%BD+gtug&aq;=f

Отже, запрошую вас у галерею «Худграф» за адресою бульвар Тараса
Шевченка, 33, другий поверх (карта: http://goo.gl/2Hux) у суботу, 17
липня о 13:00.

Для участі необхідно зареєструватися: http://kyiv.gtugs.org/register

Якщо вас цікавлять технології Google, прошу також приєднуватися до
нашої групи - http://groups.google.com/group/kyiv-gtug/subscribe
Якщо ж ви не хочете надалі отримувати подібні повідомлення, будь
ласка, відішліть пусте повідомлення у відповідь на цей лист.

До зустрічі!

З повагою,
Сергій Каук

Організатор Kyiv GTUG


Если честно то тема доклада будет не совсем и не только об App Engine. Если есть какие-то конкретные вопросы, то стоит успеть их задать до пятницы чтобы я мог подготовить ответы.

Vurtseed

Полнотекстовый поиск

Дано: noSQL база данных (ключ-значение), объемы данных
Надо: полнотекстовый поиск

Выскажите свои идеи, вдруг что-то интересное пропускаю.

Vurtseed

JavaScript программисты

JavaScript программистами часто становятся случайно, либо идут от верстки, либо в дополнение к существующему. Как таковой профессии JavaScript-программист в широком смысле на рынке нет, поскольку нет спроса на такие услуги. Иметь выделенного программиста с высокой специализацией могут позволить себе только крупные студии или большие компании. Получается, что узкоспециализированные JavaScript программисты стоят дорого, их сложно заменить поскольку на рынке их очень мало. И исходя из этого новый с большой вероятностью не сможет подхватить код старого, т.к. нет привычки командной работы.

Получается, что за те же деньги проще взять Java программиста который знает GWT, а на jQuery или подобном фреймворке делать несложные случайные задачи.

(цитата из комментария)

При этом я не хочу оскорбить именно тех кто действительно является JS программистами. Тот же jQuery придумали и написали люди с большим скиллом. А JavaScript входит в список очень популярных языков программирования. Но если посмотреть на вакансии, то обычно "HTML Верстальщик/JavaScript" или "PHP/JavaScript".

Вполне может оказаться, что даже если человек написал сотню страниц кода на JS, то он при этом остался jQuery пользователем.

Vurtseed

Нужна география

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

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

Про КЛАДР известно. Сейчас смотрим на http://world-gazetteer.com/ , но задача выглядит очень велосипедно.

Vurtseed

Вакансии еще актуальны

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

У нас одни из самых лучших условий для развития в Украине. Мы делаем крупные проекты, это не отсосинг иностранным клиентам, а создание проектов уровня Flickr и Youtube. В отличии от 49% других стартапов мы не пытаемся украсть идею успешного проекта который работает в США, а создаем свои. В отличии от вторых 49% мы не пытаемся реализовать дибильную идею украв идею проекта, но лишив его основы монетизации. Мы входим как раз в те 2% проектов которые выстреливают и меняют жизнь людей. О нас будут писать на Techcrunch'е, с нашими сайтами будут работать в десятках стран.

Мы знаем что в Украине есть люди которые хотят работать по стандартам лучших коллективов. Мы знаем что в России есть специалисты высокого уровня которым нравится море и не нравятся события которые происходят в стране. Есть люди которые боялись во время кризиса менять место работы и уже засиделись на своих местах.

Нам нужны:
- Python-программисты и team lead'ы
- Дизайнеры

Присылайте Тарасу свои CV на email: bezdetniy@iparkcorp.com, он ждет их.

Vurtseed

Erlang в современном вебе

Николай прислал мне интересное письмо размышляя над которым родился вот такой вот пост.

Роль Erlang'а


Суровая реальность такова, что строить команду с расчетом на Erlang разработчиков не получится при всем желании, свободных людей на рынке практически нет, а те кто есть заняты в долгосрочных проектах. Есть шанс выдернуть тех, кто сидел программировал на чем-то обычном, параллельно изучая Erlang и вот он созрел на своих проектах и готов выпрыгнуть на новое место работы. Но это случайная величина.

Второй момент в том, что для Erlang в современном вебе не так много места. Создавать "еще один корпоративный сайт" можно на чем угодно. Необходимость в Erlang'е подходит тогда когда надо решать инфраструктурные задачи эффективным образом. А такие случаются, но редко и мало кто их учитывает при проектировании (людей-то нет). Скажем так, направление стартапов — это само по себе очень узкое направление.

Но природа знает как делать так, чтобы "все цветы цвели". В политологии применяется термин "Элиты", который в данном контексте можно было бы расширить до "Технологической элиты". Изучать какой-то новый предмет научного знания начинают не те кто идет самым легким путем. Приведу пример который произошел за время моей жизни в котором я принимал активное участие и имел возможность рефлексировать свой опыт. Python когда-то был таким же маргинальным языком программирования как сейчас Erlang. Когда я начинал делать первый проект в 2000 году, то Perl был язык программирования сайтов #1.

Создание сайтов еще не было такой массовой отраслью как сейчас, но ФИДОшные привычки общения быстро перенеслись в "mainstream" рассылки и форумы. Набегающие новички быстро подхватывали общую тональность и становилось понятно, что общаться по сути не с кем.

Другие правила были в Python сообществе. Во-первых оно было не такое большое, во-вторых пропитано духом англоязычной тусовки. В которой кажется у большей части пишущих людей было как минимум высшее образование и докторская степень. Люди которые всегда были умнее тебя, без учета личных качеств. Даже само просматривание переписки в рассылках учило чему-то новому. Модель поведения людей кардинально отличалась. Даже не хочется перечислять паттерны поведения, но они походили на слаженную работу ученых которые делятся своими открытиями и опытом.

Но качественное выполнение работы не остается безнаказанным. Умение думать создало большое количество потрясающих продуктов, а желание делиться позволило создать для них отличную документацию. Причем это происходило не за счет проталкивания деньгами больших корпораций. Люди приходили учить Python потому, что хотели этого для себя.

Сейчас Python становится тем самый мэйнстримом. Если посмотреть Хабр, то видно, что статей о Django публикуется больше чем о PHP. И от этого становится и грустно и радостно одновременно. Радостно, потому что тропинка которую мы протаптывали теперь превращается в широкое шоссе вокруг которого создается инфраструктура. А грустно потому, что все чаще видно как очередной программист погнавшись за модным словом и, не чтя традиции Python сообщества, создает "еще один неработающий пагинатор". С другой стороны он хотя бы хочет делиться, что уже хорошо. Но я не научусь у этого человека ничему новому.

Вот теперь и начинается опять Erlang. Функциональные языки программирования долго ждали своего часа. Да, кружки людей которые изучают экзотические технологии были давно и будут тоже. Но сейчас образовался спрос на образ мышления который воспитывает ФП. И Erlang сообщество это то место в котором умные люди и у них есть чему поучиться. И я вижу как люди которых я уважал еще в Python рассылках теперь подписаны на Erlang в России. Вот такая вот миграция элит.

Будущее Erlang'а


Что же произойдет дальше? Кажется, что это самый интересный пункт писать о будущем. Но на самом деле это самая скучная часть.

Функциональный язык программирования не займет лидирующего места. Рынок Erlang'а увеличится, но все так же останется маленьким. Технологии для индусов (.NET) и людей не способных прочитать и понять научную документацию (PHP) будут так же занимать подавляющую долю заказов. Продукты на основе Erlang'а займут специализированную нишу (пишу в будущем времени только потому, что ниша увеличится, хотя равнозначно можно писать и в настоящем времени) и будут в ней конкурировать с технологиями на других языках. Проекты с расчетом именно на возможности языка будут появляться чуть чаще, но все равно очень редко.

Концепции которые применяются в ФП в случае необходимости будут заимствоваться в языках широкого назначения. Точнее это уже произошло (см C#, JavaScript, Python, etc).

Стоит ли учить Erlang? Да конечно. Поскольку язык будет использовать не так широко, то значит и специалистов будет найти сложнее. А значит тогда когда он действительно будет нужен проекты и отношение к сотруднику будет другого порядка. Шанс работать с людьми которые знают чего хотят повышается. Тусовка находясь в которой не падает самоуважение уже большой плюс.

Vurtseed

Яндекс совковая компания жлобского прошлого

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

Бывает так что заходишь в какой-то интерфейс и тебе все непонятно и незнакомо. Думаешь как же этим пользоваться-то, но спустя некоторое время начинаешь понимать, что текущий интерфейс суть результата мозговой деятельности. Вспомните как в первый раз пробовали что-то делать в таблицах (Excel, у кого-то это был Super Calc, у кого-то Google Docs). Но сейчас кажется, что других способов не существует. Но оказывается, что приходит инженер компании Apple с задачей сделать такой же продукт и добавляет в него инновацию которая настолько удобна, что когда возвращаешься к старым интерфейсам то этого не хватает. Apple Numbers позволяет делать несколько таблиц на одном рабочем листе.

Бывает когда создается альтернативный продукт стремящийся максимально близко повторять находки своего оригинала. Многолетние ошибки функций в Microsoft Excel были перенесены в OpenOffice.org разработчиками сознательно. Когда Редмонд выпустил Ribbon дизайнеры OO.Org собрались вместе и решили скопировать этот интерфейс. У них стратегическая задача как можно ближе повторять оригинал и они оставляют лавры и расходы на поиск новой пардигмы пользовательского опыта тем кто создает оригинальный продукт.

У самого Microsoft много проектов которые изобрели изначально не они, но есть амбиции показывать, что они не повторяют даже если кто-то другой уже получил лидерство. Zune НЕ iPod, Bing НЕ Google Search. Они повторяют оригинал и вносят в него существенные изменения дабы доказать, что продукт их собственный и ункальный.

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

Можно идти по очереди по списку http://www.yandex.ru/all и ставить напротив каждого пункта оригиналы которые так и остались лучше своей копии. Начиная от идеи и заканчивая конкретными косяками с которыми приходится мучатся. Хотя во многих случаях требуется малость чтобы довести проект до ума.

Но Яндекс активно "заимствует" и так же активно экономит на анализе пользовательских кейсов и тщательном тестировании. Мне кажется причина в однопроходном программировании которое диктуется языком Perl исторически используемый в компании. Мне часто приятно зайти в свои старые исходники на Python и получить удовольствие от кода, в Perl код всегда пишется заново. То есть исправление ошибок — это всегда доразработка кода. И похоже этот подход стал частью общей культуры разработки в компании.

Редко когда есть возможность посмотреть на исходные коды которые публикует компания. Последний код который я видел — это виджет погоды для Apple Dashboard. В них пышным цветом шло изобретение колеса заново. Причем самым причудливым образом заново изобретено колесо для его кроссплатформенного использования. В результате виджет не способен запоминать для какого города показывать погоду.

Пока Google запускает Buzz Яндекс интегрирует в почту (ояебу) глючный кусок говна под названием Ленты. Интерфейс которой не гарантирует, что вам удастся прочитать все новости на которые вы подписаны. Оказывается первая новость у тебя становится прочитанной в тот момент когда открывается страница лент, причем визуально это никак не подтверждается. Ну хорошо хоть не отправляются в прочитанные все статьи загруженные на страницу, как это было в предыдущей версии (представьте, что непрочитанные почтовые сообщения обнуляются после перезапуска почтового клиента дабы оценить ощущение от использования этого продукта). И теперь сравните ленту с Google Reader. Почему публичная демка Feed читалки на ExtJS более близка к реальному использованию чем это поделие Яндекса?
При этом на каждой странице пользователь который удалил основную картинку профайла:



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

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

Привычный пробел который во всех программах переключает фокус на следующий пост тут работает старым привычным образом, скролит на страницу вниз. Ну ладно опять может быть и мелочь. Дали? Вот и жрите.

Мой совет, никогда не пользуйтесь Яндекс Директ. Пффф-пффф 1...2...3... Я ненавижу мудаков которые писали этот сервис! Лучше сохраните нервы и никогда не пользуйтесь никакими интерфейсами Яндекса начиная с Яндекс Директа. Даже сложно передать какими надо быть дебилами чтобы умудриться сделать главную кнопку "Дать Бабло Яндексу" так чтобы ее нажимание шло с ошибками. Сохранение рекламной компании срабатывает почти никогда. Сотни и тысячи сайтов прекрасно справляются со своей задачей, но служба поддержки будет писать, что проблема в моем канале. Вы хоть раз получали бухгалтерские документы по электронной почте? Еблан программист выбрал самую дерьмовую библиотеку для генерации PDF'ов: при попытке открыть документ под OSX вы увидите много полосочек и ни одной буквы. Можно было бы попросить получать в Excel файле? Да но этот же уебан нашел генератор Excel файлов которые может читать только Microsoft Office. Их невозможно открыть в iWork, их не читает Google Docs. Служба поддержки уже два года посылает в известном направлении. Запомните раз и навсегда Яндексу насрать на вас.

Найдется все? Найдите ответы на вопросы:
- Почему Яндекс Видео работает в 2 раза медленнее Google Youtube?
- Почему если я скопировал ссылку на картинку на Яндекс.Фотках и отправил ее друзьям они не смогут ее посмотреть?
- Почему нет возможности подписаться на RSS результаты поиска по Авто.Яндекс
- Почему в Яндекс Блоги мой блог о Google App Engine добавлялся больше двух месяцев
- Кому нужен абсолютно вторичный Я.ру который так ничего нового и не добавил в пользовательский опыт и который является клоном морально и технически устаревшего LiveJournal и повторяет все его ошибки (невменяемые админы групп, спам, неудобоваримая лента друзей). Зато есть какой-то Ку о котором даже нет описания.

Можно было бы сказать, что это мелочи, но почему когда заходишь на каждый новый американский стартап о котором пишет теккранч ты видишь, что его вылизали?

Я прекрасно понимаю, что Яндекс не Google и не Microsoft. Далеко не Apple. Но либо у компании нет своего vision, либо если достаточно роли того кто копирует, то хоть делайте это безупречно.

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



Гордость рунета — это зомби из прошлого!

// Идея слогана frgmntd

Vurtseed

Отзывы о PyCamp

Кратко: мне очень понравилось. Некоторые несознательные товарищи говорили, что были какие-то недочеты. Ну вы знаете, это не те недочеты которые можно было бы заметить. Может быть кому-то нужен хор мальчиков зайчиков, красные ковровые дорожки и anal plug с брильянтом в спонсорском пакете. Но мне все понравилось.



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

Отдельное спасибо всем кто приехали и сделали отзывы в которых упомянули меня. Во-первых это приятно:

- http://www.lyabah.com/index.php/2010/01/31/pycamp/
- http://tilarids.blogspot.com/2010/02/pycamp.html (надеюсь слово насыщенный подходит, если так, то вместил сколько смог :)
- http://buzz.michaelleibenson.org.ua/post/365531052/pycamp (огромное персональное спасибо за лестный отзыв, я не профессиональный докладчик, просто у меня получается)

Относительно аудитории.... Как я написал в твиттере даже не стал спрашивать сколько людей пробовало создавать сайты на Google App Engine. Знал, что таких не большинство, поэтому постарался как-то развлечь публику, но видел, что к концу аудитория начала скучать. Я мог бы в очередной раз рассказать что такое GAE. Но я не дрессированный заяц читать один и тот же доклад несколько раз. Пусть в аудитории было 10 человек, но значит — это и была моя аудитория. Когда видео будет доступно в интернете, то таких людей будет больше.

Теперь относительно докладчиков. Некоторые были очень хороши. Некоторые не очень. Общая ошибка:

- ПИЗДЕЦ КАКИЕ ХУЕВЫЕ СЛАЙДЫ (полегчало, терпел с начала поста). Люди уважайте аудиторию, никогда не используйте размер шрифтов меньше 25 пунктов.
- Не совсем понятно со временем. Я осознанно оставил мало времени для вопросов, потому что знал что они будут не на 1 секунду и они будут узкоспециальны, а значит со сцены их обсуждать просто трата времени аудитории.
- Качество понимания выбранных тем было не на высоте. Это конечно же большой дружеский пропиздон в сторону Юры. (я те это еще долго припоминать буду!)

Эмоционально отличимы следующие доклады и докладчики:

- PyCharm. OMG я так жду новых Python IDE, и я верю в JetBrains. Подарите мне лицензию и я сделаю 10 туториалов где разработка будет в вашей IDE (возможно о Google App Engine). Кстати, я уже попробовал и мне понравилось, некоторые вещи не получилось сделать с наскоку, но кажется они достижимы. PyCharm работает очень быстро!
- Внедрение Python'а. Когда увидел что оба докладчики Владимиры, то пришел к выводу, что они муж и жена и "прямо на сцене будут внедрять своих питонов". Но меня поразило что в абсолютно не интересной для меня теме они настолько погрузились и так объемно ее изучили. Второй момент — исполнение дуплетом, ну что могу сказать, не понимаю как но у них получилось не перебить друг друга ни разу.
- Саша с докладом о gettext и вся эта требуха вокруг. Ну мафия старперов друг-друга всегда пиарит.

Других не забыл, но show me your tits code slides. Хочется вдумчиво пересмотреть со слайдами на руках.

Vurtseed

Выступление на GTUG встрече в Киеве

19 декабря 2009 года в 13:00 в кафе «Худграф» по адресу бульвар Тараса Шевченко, 33 состоится первая встреча киевской группы пользователей технологий Google (Kyiv GTUG). С презентациями выступят два разработчика:

Крис Шабо: «Открытый и социальный интернет»

На этом выступлении будет рассказаны последние и самые важные тенденции Social Web, а также подробно рассмотрены возможные сценарии развития как с технической, так и с концептуальной точек зрения. На
тему концепции социальной идентичности, связей и социальных объектов, на этой сессии мы рассмотрим такие новые технологии как OpenID, OAuth, OpenSocial, ActivityStrea.ms и др.

Крис Шабо занимается в Google работой с разработчиками. Его увлечения - Open Source, OpenSocial и выполнение невозможных задач. В последнее время он является вдохновителем проекта PHP Shindig - образцовым примером внедрения сервера OpenSocial, - и Partuza, популярным примером социальной сети Open Source, показывающим, как использовать OpenID, OAuth и OpenSocial, а также библиотеки PHP-клиента для OpenSocial.

Персональный сайт: http://www.chabotc.com/

Михаил Кашкин: «Причины квот App Engine и способы их обхода»

Google App Engine не является классическим хостингом, это проект который дает свободы и накладывает ограничения. Инженерам пришлось отказаться от некоторых возможностей не по собственной прихоти, а
из-за ограничений модели. Понимание логики, которой руководствовались создатели проекта, поможет понять образ мышления, который они рассчитывали видеть у программистов, использующих продукт. Михаил рассмотрит эту тему с точки зрения максимального использования возможностей платформы.

Михаил Кашкин занимается разработкой на Python c 2001 года. Он основал компанию «Ключевые решения», которая кроме коммерческой разработки на Python, Zope, Plone, Postgres, занималась популяризацией этих технологий. За свой труд по поддержке разработчиков Михаил получил 3-е
место на конкурсе среди open source программистов на сайте opennet.ru и стал членом Plone Foundation и Zope Foundation. В данный момент он увлекается разрабокой на Google App Engine и ведет блог посвященный этой теме http://app-engine.tumblr.com/.

Пожалуйста, заполните анкету для участия и получиния бесплатного напитка:
http://bit.ly/Kyiv-GTUG-Register

До встречи в субботу!

P.S. Большая просьба перепостить анонс на Хабре если есть карма.

Vurtseed

untitled

(примеры взяты из презентации Simon Willison'а)

Шаг 1.
Почему нельзя использовать GET запросы для модификации любых данных. Вы были залогинены на своем сайте и зашли по ссылке которые прислал "друг" по ссылке.
Ваш говносайт использует команду:
<a href="/delete.php?id=5">Delete</a>
На странице безобидная маленькая картинка
<img src="http://admin.yoursite.com/delete.php?id=5" width=1 height=1>

Шаг 2.
У вас продвинутый СуперДвигло который теперь разрешает только POST запросы:
<form action="/delete.php" method="post">
<input type="hidden" name="id" value="4">
<input type="submit" value="Delete">
</form>

Друг одной рукой начинает выковыривать обед из зуба, второй дрочит на порнуху по телевизору и собирается пойти поиграть на XBox, а в это время его кот случайно изменяет код на странице:
<form action="http://admin.yoursite.com/delete.php" method="post">
<input type="hidden" name="id" value="4">
<input type="submit" value="Go">
</form>
<script>document.forms[0].submit()</script>

И утром ваш новостной сайт умирает

Шаг 3.
Правильно выдавать какой-то уникальный код который проверять после проверки. В Zope CMF он назывался safe belt. Вот пример:

<form action="/delete.py" method="post">
<input type="hidden" name="id" value="4">
<input type="hidden" name="csrf_token" value="02384029384092">
<input type="submit" value="Go">
</form>

Vurtseed

Блог с песнями об App Engine

В общем я понял, что постоянно слежу на новостями об Google App Engine и для себя фиксирую разные интересные находки, кроме того иногда что-то пишу сам (и тексты и код). И вот решил совместить приятное с полезным и сделал блог в котором выкладываю находки и мысли. Совмещать это в ЖЖ не хочу и это не интересно. Поэтому решил делать на новой платформе и так как удобно именно мне.

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

Сам блог поднят на тумблере http://app-engine.tumblr.com/, чтобы сократить время запуска проекта. Но как только допилю что-то свое, то перенесу данные на другой хостинг и домен, поэтому если пользуетесь RSS читалками, то лучше подписываться на http://feeds.feedburner.com/app-engine адрес фида меняться не будет.

Материалы постепенно перенесу и опубликую то что накопилось. Если хочется поделиться своей умной мыслью, то http://app-engine.tumblr.com/submit и заодно проверим работает это или нет.

Еще раз реклама ссылок:

- Временно постоянный сайт http://app-engine.tumblr.com/
- RSS фид http://feeds.feedburner.com/app-engine

Vurtseed

AMO переходит на Django

Сегодня получил кучу позитивных новостей по поводу Python. Первая из них о росте популярности python. Даже не знаю методику проведения, но думаю это правда. Вторая это решение о переходе AMO с CakePHP на Django.

Можете почитать в статье планы на 2010 год, а я дам комментарии к победным пунктам которые касаются сравнения платформ:

- ORM и уровень абстракции данных. Думаю тут ничего экстраординарного нет, сложно ругать то что не подержал в руках. Хотя и ожидать чего-то экстраординарного не стоит. Работа с данными в Django мне не нравится, постоянно ощущение, что python way это немного больше. Но в текущем решении оказывается все плохо. Ок, оставим на совести того кто выбрал это пыхпых поделие.
- Эффективные юнит тесты. Вот это уже гораздо интереснее и приоткрывает дверь во внутренний мир MoFo. Не каждая организация использует юнит тесты. Есть множество причин и не все из них негативные почему их не обязательно применять. Но тесты сильно помогают тем организациям которые планируют разработку на месяцы или годы вперед. Похоже текущий проект был временной мерой и надо было сделать его как можно быстрее. Но потоп пришел еще при нашей жизни.
- Лучшие средства отладки. Текущее решение предлагает только один вариант разработки: "отладка через лог ошибок". В принципе если разработка ведется через тесты, то отладка не нужна, но тесты должны быть написаны до.

В общем поздравляю команду драконоводов с еще одним правильным решением, python код пахнет совсем по другому.

Метки

.net .NET C# .sort 1.2 2009 2010 404 error admin ajax amazon analytics and apache api archlinux asp.net async asynchronous autocomplete bash blender blog blogengine blogs book bootstrap bot bpython buildout byteflow bzr C c plus plus C++ cache cbv Chaco checkio chrome ci ckeditor class based views clojure closure cms cms с удобной админкой code coding style collectd COM comet competition conference ConfigParser contest Context continuous integration CouchDB coverage CppCMS cpyext cpython crud csrf CSS ctypes curl custom model fields cx_freeze cython database db dbm dbqueries debian debug debugging decorator decorators deploy deployment descriptor design dev devconf developers development diveintopython Django django 1.2 django 1.3 django advent django framework django template django trunk django weblog django-admin-tools django-cms django-compressor django-hosts django-piston django-registration django-sphinx django.admin djangoadvent djangocms djangodash doc documentation drupal e-legion eclipse EGit emacs encoding Enthought epoll erlang event exception ExtJS fabric facebook fastcgi finaloption fixtures fonts forms formset fp framework freebsd freeswitch fs2web ftp fun funcparserlib functional gae gamin gandi generic views gettext gevent gil git github gitosis Google Google App Engine google picasa Google Translate google wave Google Web Toolkit grab grablab greenlet gtd gui haskell hg hgshelve highlighter host hosting how-to howto html html5lib Hudson humor i18n icfpc ide idiomatic image-scripting improvements Internet interpreter ipython ironpython izmenimsya.ru jabber java javascript jenkins jetbrains JIT job jquery json jstree jython kde kiev kiyv kyivpy l10n ldap library libs Life Links linux Linux & Unix LLVM logging logs lxml Mac OS X magic mail markdown Matplotlib Mayavi maybe mediavirus meetup memcache Memcached memory messages metaclass middleware migration mikrotik mkd model models mod_python mod_wsgi mongodb monitoring mptt musicmans.ru musicx mvc my-projects mysql netCDF networkx newforms newforms-admin news nginx Nhibernate nix nose NoSQL numpy oop open source OpenID openoffice opster optimization oracle orm os pagination parsing path patterns pdf PDF-принтер PEP PEP8 performance performance optimization perl personality photo php picture-driven computing PIL pinax pingback pip plasma plone plugin plugins postgresql programming progress bar psycopg2 py2exe pybb pybbm pycamp pycharm pycon pycow pycurl pydev pygtk pylons PyNGL pypy pyqt PyQt4 pyrad pyramid PySide Python Python 2.5 python 2.7 python 3 python c api python speed python-mssql python3 pywinauto Qt Qt4 queue rabbitmq radius raw sql re redis redsolution redsolution cms regexp regular expressions release repoze.bfg RequestContext reusable apps robokassa rss ru ruby ruby-on-rails sample satchmo scalability SciPy scraping screencast search selenium self.error seo server setattr settings setuptools shell sikuli sms snippet socket.io software sorting south sphinx spider sql sqlalchemy sqlite ssh startup step-by-step subdomain subversion svn SyntaxHighlighter system tags tdd tddspry teh drama template templates templatetags test testing thinkpad threading threads tips tips and tricks tools tornadio tornado tornado server tricks tutorial tweepy twisted twitter typography uapycon Ubuntu ucsvlog uml Uncategorized unicode unit test unit testing UnitTest Unladen Swallow upload urllib urls utf-8 uwsgi validation vcs versioning video vim virtualenv Visual Studio vkontakte voip wave web web-devel web-services web-разработка webdev webfaction webkit webpy websockets webtest widget widgets Win API windows Wirbel work wrapper wsgi wxPython wxWidgets wysiwyg xapian xml xmonad xmpp xpath yandex youtube zip zomg zope [cdata[cbv]] [cdata[ci]] [cdata[class based views]] [cdata[continuous integration]] [cdata[django framework]] [cdata[django-sphinx]] [cdata[django]] [cdata[nginx]] [cdata[python]] [cdata[virtualenv]] [cdata[программирование]] автоматизация администрирование администрирование django админка алгоритмы архитектура атрибуты базы данных Без рубрики безопасность библиотеки блоге бот веб-разработка видео Визуализация данных вконтакте Все записи гвидо ван россум граббер графика графы декоратор декораторы дескриптор дескрипторы документация заметки игра жизнь идея интересное киев Клиентам книги конференция личное математика метаклассы модели модули монады морфология мысли невозможное новости о облачные вычисления обо мне Обработка данных оптимизация оптимизация кода Основная лента основы парсинг парсинг сайтов перевод песочница Питон поебень поиск правила кодирования программирование Проектирование производительность работа рабочее размышлизмы Разное разработка разработка приложений разработки регулярные выражения сайт событие события ссылки статьи тестирование тесты Тюмень убунтариум фигня философия формы форум Хабрахабр хакинг хостинг шаблоны шаблоны проектирования эксперимент Эксперименты юмор я пиарюсь Яндекс