Лев Валкин в Киеве 29.07.2011

3 августа с 6 до 9 вечера. Лев - редактор журнала "Практика функционального программирования" и CTO компании Echo

https://twitter.com/#!/levwalkin/status/96841584062111744

__slots__ 08.07.2011

Простое и четкое объяснение механизма __slots__ (via @raymondh)

http://mypythonnotes.wordpress.com/2008/09/04/__slots__/

Mastering Git Basics 07.07.2011

Tom Preston-Werner (сооснователь и CTO github.com) рассказывает про git, показывая в консоли как он сам пользуется гитом. Я скоро два года как пользователь git'a, но все же узнал интересные вещи.

http://vimeo.com/17118008

Things Everyone Should Do: Code Review 07.07.2011

"The biggest rule is that the point of code review is to find problems in code before it gets committed - what you're looking for is correctness. The most common mistake in code review - the mistake that everyone makes when they're new to it - is judging code by whether it's what the reviewer would have written."

http://scientopia.org/blogs/goodmath/2011/07/06/things-everyone-should-do-code-review/

Khan Academy, Computer Science 01.07.2011

Замечательная бесплатная Khan Academy начала издавать видео-лекции по Computer Science с примерами на Python. И как они пишут в комментариях к одному видео "Google uses it [Python] for a lot of their development (I believe it is their language of choice). Khan Academy's server side code is all Python."

http://www.youtube.com/user/khanacademy#g/c/36E7A2B75028A3D6

The New Heroku (Part 4 of 4): Erosion-resistance & Explicit Contracts 30.06.2011

"Wikipedia says software erosion is "slow deterioration of software over time that will eventually lead to it becoming faulty [or] unusable" and, importantly, that "the software does not actually decay, but rather suffers from a lack of being updated with respect to the changing environment in which it resides."

Если еще не читали 2 статьи на близкую тему в блоге Ивана Сагалаева, рекомендую прочитать: Вместе или врозь, Вместе или врозь: новая идея

http://blog.heroku.com/archives/2011/6/28/the_new_heroku_4_erosion_resistance_explicit_contracts/

Видео с DjangoCon EU 2011 29.06.2011

А вот и видео с DjangoCon Europe подоспели. Их по традиции выложили на blip.tv (в отличии от Europython, которые выложили на амазоновский cloudfront).

http://blip.tv/djangocon-europe-2011

Видео с EuroPython 2011 29.06.2011

Видеозаписи выложены на страничках с выступлениями. (via reddit)

http://ep2011.europython.eu/p3/schedule/ep2011/

Исходный код vorushin.ru 21.06.2011

Обновил в соответствии с новыми фичами Django 1.3, подчистил и выложил в открытый доступ код этого блога.

https://github.com/vorushin/vorushin_ru

django-twitter-users 09.06.2011

Очень простое django app, которое делает "Sign in with Twitter".

https://github.com/mdiep/django-twitter-users

The depth and breadth of Python 04.06.2011

Guido van Rossum рассказывает о двух беседах с людьми, активно использующими Python в очень разных областях. Annie Liu - professor of computer science, Drew Houston - co-founder and CEO of Dropbox.

http://neopythonic.blogspot.com/2011/06/depth-and-breadth-of-python.html

SublimeText 2 plugin for Python projects 30.05.2011

Написал маленький (меньше 100 LOC) плагин для редактора SublimeText 2. Плагин проверяет *.py файлы через pep8 и pyflakes. PEP-8 проверяет соответствие кода python style guide, а pyflakes находит глупые и не очень ошибки (пропущенные/неиспользуемые импорты, неиспользуемые переменные и пр.). Upd. Reddit link - redd.it/hnf08

https://github.com/vorushin/sublimetext_python_checker

“Clothed all in the morning you know by the river” – A Lite Introduction to Markov Chains and Nonsense 30.05.2011

Очень простое знакомство с Markov chains.

http://matthewshotton.wordpress.com/2011/02/23/clothed-all-in-the-morning-you-know-by-the-river-a-lite-introduction-to-markov-chains-and-nonsense/

On Chomsky and the Two Cultures of Statistical Learning 28.05.2011

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

См. также Chomsky random text generator (Python recipe)

http://norvig.com/chomsky.html

The Ultimate Code Kata 28.05.2011

"Contrary to what you might believe, merely doing your job every day doesn't qualify as real practice. Going to meetings isn't practicing your people skills, and replying to mail isn't practicing your typing. You have to set aside some time once in a while and do focused practice in order to get better at something. ... Separating the practicing from the profession is often referred to as code kata."

http://www.codinghorror.com/blog/2008/06/the-ultimate-code-kata.html

Free Idea: code equivalent to Morning Pages/750 Words 23.05.2011

"The goal is to encourage programmers/hackers to explore/write some new: code, tests, docs. And I mean new – not something bogged down by their every day projects. It could just be a clever one liner ala Raymond’s python tips. It could be a few-hundred-line piece of code that just tracks how many times they’ve watched their favorite show using some cool module. Just keep the hand moving; just take 3, 10 or 30 minutes a day and keep a private code journal of new ideas, concepts, etc. Write some morning pages."

http://jessenoller.com/2011/05/22/free-idea-code-equivalent-to-morning-pages750-words/

On Learning and Teaching 23.05.2011

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

http://stevelosh.com/blog/2011/05/on-learning-and-teaching/

The deep end of the pool 23.05.2011

"Mark Guzdial and Barb Erickson have shown that introducing students to programming by teaching them Python and writing programs that manipulate images and sound (an approach they call Media Computation) clearly improves overall success rates for students in CS 1 and CS 2. (The use of Pyton lowers the learning curve, and the user of muti-media based assignments improves interest and motivation.)"

http://spin.atomicobject.com/2011/05/17/the-deep-end-of-the-pool/

You are NOT a Software Engineer! 12.05.2011

"You are not a Software Engineer. You do not build skyscrapers. You do not build bridges.

You grow gardens.

You are a Software Gardener."

http://chrisaitchison.com/2011/05/03/you-are-not-a-software-engineer

.NET/HTML/Javascript вакансия 10.05.2011

Мой друг Акве делает проект Comindwork. Ищет нового человека в команду. Команда в Киеве (м. Контрактова площа).

http://habrahabr.ru/job/4935/

Making My Site Sing 21.04.2011

Читаю про то, как Steve Losh делал редизайн своего блога, и все более укрепляюсь во мнении, что для того чтобы становиться все более лучшим программистом недостаточно заниматься только программированием. Нужно делать что-то еще - танцевать, играть на музыкальных инструментах, читать хорошую литературу. Upd. Если вам понравилось, прочитайте еще Beauty in Computer Science

http://stevelosh.com/blog/2010/09/making-my-site-sing/

Videos from PyCon US 2011 14.03.2011

Уже посмотрел 3 выступления, просто напалм.

http://pycon.blip.tv/posts?view=archive

Ищем тестера (Киев) 07.03.2011

Компания, в которой я программирую, вкусно кушаю и пью чай, ищет тестера. Идеально - крутого программиста, которому нравится тестирование (настраивать CI сервер, писать реюзабельный чистый код тестов, делиться полученным опытом на конференциях). Если поддержка и развитие тестов будет занимать мало времени, то можно часть времени писать с командой интересные проекты на Java/Python/Javascript. Денег можем предложить много, лишь бы специалист был выдающийся и человек хороший.

http://rabota.ua/company870723/vacancy4654019

Multiple Solr Instances: The Clean (Ubuntu) Way 02.03.2011

Как настроить несколько Solr instances (cores) на одном сервере под управлением Ubuntu (по умолчанию в Ubuntu конфигурируется только 1 инстанс). Для тех, у кого Solr запущен под Tomcat, установленным вручную (как у меня на Mac OS X) - инструкция тут

PS. Похоже Solr стал очень распространенным поисковым движком.

http://davidpoblador.com/multiple-solr-instances-the-clean-ubuntu-way/

Lessons Learned Porting Dateutil to Python 3 28.02.2011

Brian Jones портировал библиотеку dateutil на python 3, потратив всего 5 часов. Так держать! (У меня стоит python 3.2 и нехватка привычных библиотек очень чувствуется).

http://www.protocolostomy.com/2011/02/25/lessons-learned-porting-dateutil-to-python-3

Page Objects in Python 27.02.2011

Automating Page Checking without Brittleness (как хорошо писать тесты для selenium на питоне) via convore

http://pragprog.com/magazines/2010-08/page-objects-in-python

py.test 25.02.2011

Альтарнативный способ написания юниттестов. Если кратко, то в большинстве случаев можно просто писать assert f(a, b, c) = 123 и все равно получать полные сообщения об ошибках. Есть интеграция с django - django-pytest. Via convore

http://pytest.org/

Why exactly can nothing go faster than the speed of light? 21.02.2011

"Imagine you're driving in your car when something terrible happens: the brakes fail. By a bizarre coincidence, at the exact same moment your throttle and gearshift lever both get stuck. You can neither speed up nor slow down. The only thing that works is the steering wheel. You can turn, changing your direction, but you can't change your speed at all.

...

You can change your direction, but you cannot change your speed.

...

That's how it is to move through our universe. You've got a steering wheel, but no throttle."

http://www.reddit.com/r/askscience/comments/fjwkh/why_exactly_can_nothing_go_faster_than_the_speed/

Distraction Affliction Correction Extension 19.02.2011

"I made it a rule that as soon as I finished any task, or got bored with it, I had to power off my computer.

I could turn it back on right away—this wasn’t about trying to use the computer less. The rule was just that the moment I finished (or lost interest in) the thing I was doing, and felt like checking Google News et. al., before I had time to think too much, I’d start the shutdown process. There was no struggle of willpower; I knew that after I hit the button, I could decide to do anything I wanted. But if I decided to look at a website, I’d have to wait through the startup, and once I was done, I’d have to turn it off again before doing anything else"

http://blog.xkcd.com/2011/02/18/distraction-affliction-correction-extensio/

PEP 20 (The Zen of Python) by example 11.02.2011

Отличные примеры Zen of Python в виде питоновского кода

http://artifex.org/~hblanks/talks/2011/pep20_by_example.html

Thoughts on Performance 10.02.2011

Newer browsers do a pretty good job of downloading resources in parallel, and with a few exceptions (I’m looking at you Opera), can download all kinds of resources in parallel with each other. This is a huge change from just 4 years ago. However, are we, as web page developers, building pages that can take advantage of this parallelism?

http://calendar.perfplanet.com/2010/thoughts-on-performance/

URL Design 10.02.2011

Any regular semi-technical user of your site should be able to navigate 90% of your app based off memory of the URL structure. In order to achieve this, your URLs will need to be pragmatic. Almost like they were a math equation — many simple rules combined in a strategic fashion to get to the page they want.

http://warpspire.com/posts/url-design/

Scaling startups 06.02.2011

There’s a great quote from Peter Drucker about risks — laminate this quote, frame it at your desk, make it your screensaver, and put a copy of it in your wallet:

"People who don’t take risks generally make about two big mistakes a year. People who do take risks generally make about two big mistakes a year."

http://blog.chaddickerson.com/2010/08/05/scaling-startups/

Авторизация в социальных сетях для Django 22.01.2011

Стас Крвсс про свой форк django-social-auth, который поддерживает дополнительно Yandex OpenID, ЖЖ, Вконтакте.

http://www.ikrvss.ru/2011/01/22/django-social-auth/

Hammock-driven Development 29.12.2010

Автор языка Clojure (см. статью Ивана Сагалаева) Rich Hickey рассказывает про свой процесс решения сложных проблем. Должно быть актуальным для всех, кто делает что-то новое. 3 вещи хочу особо отметить: background mind, книгу How to Solve It и "work on more than one thing, not interleaved within one day, but over the course of time".

http://clojure.blip.tv/file/4457042/

Using asserts in test code 29.12.2010

Преимущество TestCase.assertEqual(status, 200) vs. assert status == 200 в том, что сообщение об ошибке выдается более информативное: AssertionError: 302 != 200 vs AssertionError.

https://groups.google.com/d/topic/django-developers/a1nG_WXe_yM/discussion

WSGI in Python 3 22.12.2010

"PEP 444 is a moving target as people still want to keep changing it and no one agrees about it. PEP 3333 isn't going to change and is what Apache/mod_wsgi has supported for the last two years. CherryPy WSGI server and uWSGI are also PEP 3333 compliant for Python 3." Graham Dumpleton

https://groups.google.com/d/msg/django-developers/Q7xxH2b3Q7o/Dhf81-WtN0EJ

Ищем дизайнера в Киеве (или в интернете) 20.12.2010

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

http://rabota.ua/company870723/vacancy4613157

{{ block.super }} 19.12.2010

"If you need to get the content of the block from the parent template, the {{ block.super }} variable will do the trick. This is useful if you want to add to the contents of a parent block instead of completely overriding it. Data inserted using {{ block.super }} will not be automatically escaped (see the next section), since it was already escaped, if necessary, in the parent template."

А я как-то просмотрел эту возможность. Источник - reddit

http://docs.djangoproject.com/en/dev/topics/templates/#template-inheritance

Jacob Kaplan-Moss on DevOps 12.12.2010

О том как к разработчикам переходит все больше задач, которые раньше делали только админы (Ops): dba, deployment. Что через 5 лет в веб-проектах все эти задачи будут выполнять сами разрабочики. Про то, как делать это "в программистком стиле".

http://www.pkshiu.com/loft/archive/2010/12/jacob-kaplan-moss-on-devops

django-test-utils 10.12.2010

Пакет вспомогательных инструментов тестирования для django-проектов. Testmaker записывает тесты, пока вы кликаете мышкой по сайту, Crawler проходит по всем URL-ам, которые может найти на сайте, Persistent Database Test Runner выполняет тесты, не пересоздавая тестовую базу. А также Twill Runner и Mock Objects.

http://django-test-utils.readthedocs.org/

One designer is not enough! 10.12.2010

"Leaders of businesses, founders of start-ups, organisers of events: one designer is not enough! Finding one ace-blooded designer who can ‘do everything’ will always result in bottleneck and burnout. Like the nuances between different development languages, design is a multifaceted discipline, and very few can claim to be equally strong in every aspect."

http://24ways.org/2010/extreme-design

Waging War on Whitespace (using TextMate) 02.12.2010

Автоматическое удаление whitespaces с концов строк, чтобы они не отсвечивали в diff'ах. Инструкция по настройке TextMate

http://blogobaggins.com/2009/03/31/waging-war-on-whitespace.html

Integrating PyFlakes Into TextMate 01.12.2010

PyFlakes запускается при сохранении файла и по Cmd-Shift-V (или Option-Shift-V, смотрите Bundles -> Python Tools Bundle). У себя установил, очень доволен! PS. Кто не читает еще блог Дэвида Крэмера - рекомендую подписаться.

http://www.davidcramer.net/code/36327/integrating-pyflakes-into-textmate.html

Выпуск №6 журнала "Практика функционального программирования" 30.11.2010

Интервью с Джо Армстронгом и Саймоном Пейтоном-Джонсом. Статьи "Почему Scala", "Сравнение Erlang и Node.js" и еще две статьи со словом "инкрементальный" в названии :)

http://fprog.ru/2010/issue6/

Python - на 6-м месте 27.11.2010

До этого самое высокое место (седьмое) он занимал в мае 2004-го. Похоже мы перестаем быть миноритариями, пишущими на стильном экзотическом языке :)))

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

PyPy 1.4: Ouroboros in practice 26.11.2010

PyPy все быстрее и быстрее, а также совместим с virtualenv. Похоже скоро у нас появится в 2 раза более быстрая замена CPython. Перевел им 10 долларов

http://feedproxy.google.com/~r/PyPyStatusBlog/~3/mq1skB4a1kE/pypy-14-ouroboros-in-practice.html

How Reddit ranking algorithms work 25.11.2010

Отличное описание алгоритмов ранжирования hot algorithm, Wilson score interval, используемых в Reddit. Примеры на Python.

http://amix.dk/blog/post/19588

tweepy - most(?) popular twitter python lib 19.11.2010

В документации твиттера упоминаются другие библиотеки: oauth-python-twitter2, python-oauth2, обе на сегодняший день не слишком активно развиваются. А у tweepy - 427 watchers и активные коммиты в октябре.

https://github.com/joshthecoder/tweepy

request.build_absolute_uri 16.11.2010

Функция, которой мне так горячо не хватало, оказывается живет себе тихонько начиная с Django 1.0 ;))) Передаете ей результат reverse, а она добавляет протокол (request.is_secure) и имя хоста (request.get_host).

http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.build_absolute_uri

RevSys "Office hours" - Nov 5, 2010 08.11.2010

Jacob Kaplan-Moss и Frank Wiles (а также другие известные питонисты) отвечают на вопросы, связанные с django.

http://www.revsys.com/officehours/2010/nov/05/

The simplest(?) way to do tree-based queries in SQL 08.11.2010

Подход к хранению древовидных данных в реляционной базе данных от P.J. Eby. Используется closure table, хранящая parent_id, child_id, depth. Получение дерева - за один sql-запрос (с join'ом к closure table).

http://dirtsimple.org/2010/11/simplest-way-to-do-tree-based-queries.html

Django on Google App Engine via SQL (not nonrel) 27.10.2010

В Google App Engine будет SQL-подобный интерфейс к BigTable. А в django скорее всего будет хороший db-backend к нему. Результат - можно будет использовать django в Google App Engine без лишних патчей.

http://groups.google.com/group/django-developers/browse_thread/thread/eee872b03286075e

Author of JPython/IronPython leaves Microsoft and joins Google 22.10.2010

Еще рекомендую прочитать - Story of Jython

http://hugunin.net/microsoft_farewell.html

Ryan's talk at Future of Web Apps 2010, London 13.10.2010

Новое видео от Ryan Singer (37signals) про дизайн. Переход от разрозненных дополнительных полей (отправляли ли футболку, размер футболки, история задержек платежей) к Notes - чистый напалм! 34 минуты мудрости для тех, кому не безразличен дизайн веб-приложений.

http://37signals.com/svn/posts/2608-ryans-talk-at-future-of-web-apps-2010-london

Django-dev: Improving our decision-making and committer process 29.09.2010

Изменения в процессе разработки django по мотивам обсуждений на DjangoCon 2010 (в том числе - Why django sucks and how we can fix it

http://groups.google.com/group/django-developers/browse_thread/thread/9ebc3e57d539d1ff

Armin Ronacher будет выступать на PyCon Ukraine 29.09.2010

"I will be speaking at Pycon Ukraine about good API design :)"

http://twitter.com/mitsuhiko/status/25781797514

GitHub popular languages 28.09.2010

Вдогонку к langpop.com. В GitHub python на 4-м месте, после ruby, javascript, perl. Похоже python перестал быть редким языком, для которого не найти программистов.

http://github.com/languages

PEP-3333 - WSGI for Python 3 28.09.2010

Еще одна попытка сделать WSGI, совместимый с Python 3. На этот раз автор - P.J. Eby. Единственное серьезное изменение - "headers are strings, bodies are bytes". См. также обсуждение в Python-dev,

http://www.python.org/dev/peps/pep-3333/

Programming Language Popularity 28.09.2010

Еще один сайт с оценками популярности разных языков программирования. Оценки довольно близки к Tiobe Language Index

http://langpop.com/

Logbook - alternative python logging 27.09.2010

Мне не нравится стандартный питоновский модуль logging, а вот модуль logbook, который разрабатывает mitsuhiko (Armin Ronacher) - очень даже ничего!

http://github.com/mitsuhiko/logbook/

Weaving Design and Development by Ryan Singer 22.09.2010

Отличное видео про огранизацию взаимодействия программистов и дизайнеров в проектах. И про то, почему хороши template languages with logic. PS. Мечтаю поработать с дизайнером, который будет сам редактировать шаблоны в проекте, коммиттить их в dvcs.

http://vimeo.com/15083781

Google Developer Day 2010 registration 22.09.2010

GDD 2010. Москва. Регистрация открылась. В прошлом году было очень здорово!

http://www.google.com/events/developerday/2010/moscow/

The Perfect Django Settings File 22.09.2010

Мне понравился ход с TEMPLATE_TAGS - добавлю его в текущий проект, чтобы не прописывать часто {% load something_tags %}. local_settings.py используем давно и довольны

http://blog.damonjablons.com/post/1167421970/the-perfect-django-settings-file

Senior Python/Django Developer в компанию моих друзей 21.09.2010

Москва, отличный офис на м. Китай-город, креативные сильные ребята в команде, хорошие основатели-руководители. Собственные прорывные проекты (один из них - http://bookmate.ru). Работать вместе с Димой Смолиным (одним из лучших программистов, с кем я когда-либо работал).

http://moikrug.ru/vacancies/811974196/

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

Я зарегистрировался. Если и правда приедут Armin Ronacher и Andrew Godwin - это будет очень круто!

http://habrahabr.ru/blogs/python/103551/

Web3 - wsgi для Python3 16.09.2010

Похоже веб-приложениям на python3 быть! Chris McDonough, Armin Ronacher - спасибо!

http://www.python.org/dev/peps/pep-0444/

On the importance of communication 15.09.2010

"So, contribute to an open source community! Communicate! Communicate by creating code, writing documentation, or perhaps just by making people chuckle. Communication makes you more engaged in the project, and more motivated to contribute, and more creative and productive as a result. You may also be pleasantly surprised by the feedback."

http://faassen.n--tree.net/blog/view/weblog/2009/12/19/0

GitHub Meetup Moscow, Tonight, Sep 15 15.09.2010

Отличная возможность выпить пива с Tom Preston-Werner, сооснователем GitHub'a.

http://github.com/blog/718-github-meetup-moscow-tonight-sep-15

DjangoCon 2010 Slides 11.09.2010

Линки на слайды со всех выступлений на DjangoCon 2010 в Portland (для тех кто не читает reddit.com ;))

http://djangocon.us/wiki/slides/

Why django sucks and how we can fix it 11.09.2010

Снова слайды с DjangoCon 2010. Очень непростая тема. См также обсуждение на hacker news, объяснение про закрытый список рассылки в django-dev.

http://www.scribd.com/doc/37113340/Why-Django-Sucks-and-How-we-Can-Fix-it

django-socialauth 10.09.2010

Django-app для логина через Google, Facebook, Twitter, Yahoo!, LinkedIn или произвольный OpenID provider. Это - ссылка на самую активную ветку (и похоже - ветку разработчиков из Hyderabad, India), есть еще десяток активных репозиториев, которые посылают много pull requests.

http://github.com/agiliq/Django-Socialauth

DjangoCon 2010 Scaling Disqus 08.09.2010

Про то как ребята из Disqus справляются с высокой нагрузкой (17 000 запросов в секунду). Используют Python/Django/Postres. Написали/дописали хорошие инструменты, поддерживающие процесс разработки.

http://www.slideshare.net/zeeg/djangocon-2010-scaling-disqus

Code Conventions for the JavaScript Programming Language 05.09.2010

Автор - Douglas Crockford, Yahoo! JavaScript Architect

http://javascript.crockford.com/code.html

Why JavaScript is AWESOME 04.09.2010

Кроме отличных доводов за и против, есть отличные ссылки на книги, видео и прочие ресурсы для углубленного влюбления в язык

http://skilldrick.co.uk/2010/09/why-javascript-is-awesome/

Как добавить RSS из своего блога в Facebook 25.08.2010

Если что-то не получилось - http://www.facebook.com/help/?page=781 (у меня не был прописан тег author, без которого импорт не проходил)

http://www.facebook.com/help/?page=818

django-simple-captcha 23.08.2010

Простое, гибко настраиваемое приложение для добавления captcha в формы

http://code.google.com/p/django-simple-captcha/

Some lesser-known truths about programming 21.08.2010

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

http://dotmac.rationalmind.net/2010/08/some-lesser-known-truths-about-programming/

Tom Preston-Werner: How I Turned Down $300,000 from Microsoft to go Full-Time on GitHub 05.08.2010

I was going to be faced with a choice sooner than I had anticipated. I could either sign on as a Microsoft employee or quit and go GitHub full time…In the end, just as Indiana Jones could never turn down the opportunity to search for the Holy Grail, I could no less turn down the chance to work for myself on something I truly love, no matter how safe the alternative might be. When I’m old and dying, I plan to look back on my life and say “wow, that was an adventure,” not “wow, I sure felt safe. (via 37 signals)

http://tom.preston-werner.com/2008/10/18/how-i-turned-down-300k.html

ВКонтакте: флешка, запускающаяся со стены 31.07.2010

Я пишу IFrame-приложение для ВКонтакте, которое постит картинки пользователям на стену. По клику на картинку открывается приложение в компактном виде, в котором можно показать картинку в увеличенном виде и перейти к самому приложению. Сложность в том, что "приложение в компактном виде" сейчас разрешено только как .swf файл. Выкладываю полностью рабочий пример показа крупной картинки: из flashVars получается post_id, по post_id я запрашиваю на своем сервере URL крупной картинки и загружаю его во флешку. Есть одна внешняя зависимость - as3corelib для парсинга json.

http://gist.github.com/501814

Erik Demaine - самый молодой профессор MIT 30.07.2010

His childhood was spent travelling North America with his father, Martin Demaine, an artist and sculptor; he was home-schooled. Erik entered Dalhousie University in Canada at the age of 12, and completed his bachelor's degree when only 14. He joined the MIT faculty in 2001, at age 20, reportedly the youngest professor in the history of the Massachusetts Institute of Technology.

http://en.wikipedia.org/wiki/Erik_Demaine

Using ipython's debugger as pdb replacement 23.07.2010

Модуль ipdb, позволяющий использовать встроенный в IPython дебаггер (работает автодополнение и все прочие приятности). import ipdb; ipdb.set_trace() Upd. pip install ipdb (via Andrey Popp)

http://gremu.net/blog/2010/using-ipythons-debugger-pdb-replacement/

Avoid Disaster: Script backups easily to Amazon S3 30.06.2010

Питоновская библиотечка, упрощающая хранение бекапов в Amazon S3.

http://amix.dk/blog/post/19529

Django HiddenHires 25.06.2010

"Hidden Hires was founded by Django developers trying to make hiring within open source communities awesome. Companies win when they can hire the best open source developers; developers win when they get to work for the best companies. We're trying to make that happen."

http://django.hiddenhires.com/

jQuery validation plug-in 24.06.2010

jQuery плагин для декларативной валидации форм - описываете в JS-коде или даже в HTML-разметке ( например, <input id="cname" name="name" size="25" class="required" minlength="2" />) правила валидации и набор сообщений об ошибках (если вам не подходят встроенные). Поддерживаются и внешние валидаторы - с отправлением запроса на server-side.

http://docs.jquery.com/Plugins/Validation

Postgres site will migrate to Django 04.06.2010

"Postgres’ site now is apparently generated from a bespoke PHP script mishmash. Josh said that tasks like creating new forms was much harder than they ought to be. So…they’re moving it to Django."

http://seeknuance.com/2010/06/03/postgres-site-will-migrate-to-django/

uWSGI 01.06.2010

uWSGI is a fast (pure C), self-healing, developer-friendly WSGI server, aimed for professional python webapps deployment and development (есть модули для apache2, nginx, cherokee и lighttpd)

http://projects.unbit.it/uwsgi

Django project conventions, revisited 01.06.2010

Еще одна схема разделения django-проекта на директории-поддиректории, специфичные для делоймента настройки и т.д. (via Simon Willison)

http://blog.zacharyvoase.com/2010/02/03/django-project-conventions/

hg diff like git diff 20.05.2010

Как настроить hg diff, чтобы он вел себя как git diff - подсветка + less (спасибо Диме Смолину за ссылку)

http://www.selenic.com/pipermail/mercurial/2009-September/027376.html

Python Enum от Димы Смолина 14.05.2010

Дима пишет: "В кои-то веки сделал Python реализацию Enum, которая мне нравится :) Опыт использования показал, что пользоваться очень удобно :) Идея трюка с определением порядка атрибутов класса сперта из Django. Мы используем строковые константы, но если кому-то нужна числовая автонумерация - код очень легко дополнить"

http://gist.github.com/401547

Процесс структурирования человеческого мышления 14.05.2010

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

http://internet.ksan.ru/tom-03/2003/lotos-017.shtml

Hg repo structure at Fog Creek 12.05.2010

Они используют в одном (большом) проекте несколько групп репозиториев. При деплойменте создают общий tag.

http://kiln.stackexchange.com/questions/500/should-i-use-more-than-one-repository

Лекции Александра Степанова в Яндексе 30.04.2010

Русско-американский ученый, один из авторов STL. 4 видео-ролика, общей сложностью около 6 часов. (по наводке Льва Валкина)

http://video.yandex.ru/users/ya-events/tag/%D0%B0.%D1%81%D1%82%D0%B5%D0%BF%D0%B0%D0%BD%D0%BE%D0%B2/

"Learn Python The Hard Way" book, Advice from an Old Programmer 27.04.2010

Programming as a profession is only moderately interesting. It can be a good job, but if you want to make about the same money and be happier you could actually just go run a fast food joint. You are much better off using code as your secret weapon in another profession. People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines.

http://learnpythonthehardway.org

Redis tutorial by Simon Willison 26.04.2010

Отличные аннотированные слайды с 3-часового семинара Саймона Виллисона (одного из создателей django), посвященные Redis, в рамках конференции NoSQL Europe.

http://simonwillison.net/static/2010/redis-tutorial/

Python + Django vs. C# + ASP.NET: Productivity Showdown 23.04.2010

В одной компании было 2 команды: одна писала на C#, другая на Python. Прежде чем сделать окончательный переход на Python+Django для веб-приложений, они 6 месяцев проводили измерения скорости разработки в обоих командах. По их измерениям, Python+Django разработчик заменяет двоих разработчиков на C#+ASP.NET

http://kurtgrandis.com/blog/2010/02/24/python-django-vs-c-asp-net-productivity-showdown/

Минута юмора в django-developers 20.04.2010

Q: When will Django finally have every feature I want? A: "Ambition has its disappointments to sour us, but never the good fortune to satisfy us." (спасибо Толику Вострякову за наводку!)

http://groups.google.com/group/django-developers/browse_thread/thread/b5e492a42cada7b7

South migration при переносе моделей из одного приложения в другое 15.04.2010

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

http://stackoverflow.com/questions/1258130/how-do-i-migrate-a-model-out-of-one-django-app-and-into-a-new-one

Harvest - стартап-аналог hackday 14.04.2010

Знакомые ребята регулярно проводят мероприятие Harvest. Приглашают людей с идеями, программистов, дизайнеров, маркетологов, объединяют их в команды, подключают экспертов и создают проект за 2 дня. Ближайший harvest - 17-18 апреля (эти выходные).

http://harvest.greenfield-project.ru/program/

Unidecode - Unicode transliteration in Python 12.04.2010

Питоновская библиотека, делающая транслитерацию unicode-строк в максимально близкие ascii-строки. Поддерживается даже китайский язык.

http://www.tablix.org/~avian/blog/archives/2009/01/unicode_transliteration_in_python/

django-markitup 09.04.2010

Выложили чуть-чуть исправленную версию django-markitup - воркараунд бага #12882. Автор изменений - Михаил Корнеев

http://bitbucket.org/vorushin/django-markitup/

django-lint 09.04.2010

Django Lint is a static analysis tool that checks (or "lints") projects and applications that use the Django web development framework. It reports on common programming errors and bad code smells, including checking for nullable CharField field types, the use of brittle or deprecated Django features (such as auto_now_add) as well as the absence of recommended options in settings.py. It aims to encourage the development of high-quality re-usable Django applications.

http://chris-lamb.co.uk/projects/django-lint/

Essential Python Reading List 09.04.2010

Из этого списка я пропустил только itertools. Ну и Python Cookbook не читал (электронную читать не хочу, разве что бумажную найду когда-нибудь - в метро почитать). Itertools - ого-го! Все остальное - и подавно must read.

http://wordaligned.org/articles/essential-python-reading-list

Gizzard - framework for creating distributed datastores 07.04.2010

Ребята из Twitter выложили на GitHub свой фреймворк для управления шардингом, написанным на Scala. Пишут, что поддерживает не только реляционные базы данных, но и Lucene, Redis и "все что вы можете себе представить".

http://github.com/twitter/gizzard

Почему в Google так много питона и питонистов 02.04.2010

It all got started, I believe, because the very earliest Googlers (Sergey, Larry, Craig, ...) made a good engineering decision: "Python where we can, C++ where we must" (Alex Martelli)

http://stackoverflow.com/questions/2560310/heavy-usage-of-python-at-google/2561008

South 0.7 Released 26.03.2010

Лучший инструмент для django-миграций. Мы использовали недавно его прямо из транка (потому что версия 0.6.x не поддерживала multi-db), и даже тогда он был вполне себе рабочим инструментом. А сейчас он стал еще стабильнее. Andrew Godwin, ура!

http://www.aeracode.org/2010/3/25/south-07-released/

Eventually Consistent - Revisited 24.03.2010

Отличная статья о распределенных хранилищах данных и их свойствах. Как получается eventual consistency и какими свойствами обладает ваша система при различном соотношении общего числа нод N, числа нод для обязательной записи W и числа нод для обязательного чтения R.

http://www.allthingsdistributed.com/2008/12/eventually_consistent.html

Distributed Version Control is here to stay, baby 22.03.2010

И еще один снаряд в тему DVCS от Джоэла Спольски: "With distributed version control, the distributed part is actually not the most interesting part. The interesting part is that these systems think in terms of changes, not in terms of versions."

http://www.joelonsoftware.com/items/2010/03/17.html

Pure-Python Git Library 22.03.2010

Pure-Python implementation of the Git file formats and protocols. Named after the village in which Mr. and Mrs. Git live in the Monty Python sketch.

https://launchpad.net/dulwich

PyCon 2010:Hg and Git : Can't we all just get along? 22.03.2010

Получасовое выступление Scott Chacon из команды GitHub, автора Hg-Git mercurial plugin. Hg и Git пусть дружат, они не враги друг другу. Общий враг - SVN :)))

http://us.pycon.org/2010/conference/schedule/event/137/

Google Code University 22.03.2010

Лекции и упражнения по программированию: AJAX Programming, Algorithms, Android Programming, Distributed Systems, Web Security, Languages

http://code.google.com/edu/

Download Python 2.6.4 Documentation 08.03.2010

По совету из статьи Code Like a Pythonista скачал документацию по питону - теперь нырять в неё немного быстрее. Кто бы мог подумать, что в 2010 году, в Москве, с многомегабитным интернетом, это будет актуально :)))))

http://www.python.org/doc/2.6.4/download

Code Like a Pythonista: Idiomatic Python 07.03.2010

Swap Values

In other languages:

temp = a
a = b
b = temp

In Python:

b, a = a, b
http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html

Полезные библиотеки для Django 05.03.2010

Юрий Юревич пишет: "Есть один интересный человек, Янис Ляйдель, также известный под ником jezdez. Помимо всего прочего (Pinax & Django core dev, ключевая фигура в немецком Django-коммунити), он известен коллекционированием полезных Django-приложений. Рекомендую посмотреть список “зафоловленных” им приложений на GitHub и Bitbucket, возможно найдете что-нибудь интересное."

http://pyobject.ru/blog/2010/03/05/useful-django-tools/

How Software Engineers and Designers Can Increase Their Focus 01.03.2010

There’s a really simple tip almost everybody can use to increase productivity tremendously. Not only is the tip free, it might even make you a bit of money. And it’ll make you smarter. It’s really easy, there’s only one step involved: Sell your TVs.

http://howtogetfocused.com/chapters/how-software-engineers-and-designers-can-increase-their-focus/

Best practices in web development with Python and Django 27.02.2010

Набор лучших практик от ребят из Chicago Tribune: version control, python, django, javascript, html/css, images, testing.

http://blog.apps.chicagotribune.com/2010/02/26/best-practices/

Ludvig Ericson's code blog 24.02.2010

Людвиг - отличный питонист из Швеции. Одна из его библиотек, pylibmc, скорее всего будет использоваться в django.

http://lericson.blogg.se/code/

Deploying a Django site using FastCGI 19.02.2010

Особенно понравилось про daemontools. Если кто-то еще не читает Django Advent - рекомендую начать читать :)))

http://djangoadvent.com/1.2/deploying-django-site-using-fastcgi/

PyCon 2010: other Python VM's upcoming Python version plans 19.02.2010

Some quick notes about the coming plans by the "other" Python implementations from today's Python Language Summit at PyCon 2010

http://trentmick.blogspot.com/2010/02/other-python-vms-upcoming-python.html

Werkzeug 0.6 – Hammer released 19.02.2010

Werkzeug - набор wsgi-утилит, я пользуюсь очень часто их дебаггером. Новая версия дружит с Google Appengine SDK.

http://lucumr.pocoo.org/2010/2/18/werkzeug-0-6-hammer-released

Блог Толика Вострякова 17.02.2010

"Живой опыт программирования, Python, Django, современные языки и немного фотографий" - много работал с Толиком, даже на питоне вместе от души попрограммировали. Отличный человек и программист, а сейчас еще и блоггер. Рекомендую читать!

http://vostryakov.ru/

Presenting django-devserver, a better runserver. 10.02.2010

django-devserver provides a simple drop-in runserver replacement. It allows you to run a command, python manage.py rundevserver, and to get some additional information. As of writing, that additional information includes real-time SQL logging (aka mass query spam in your terminal), and a summary of cache calls.

http://www.davidcramer.net/code/1174/presenting-django-devserver-a-better-runserver.html

Trains, Elevators, and Computer Science 09.02.2010

The key principle seems to be: do not rely on an action, but on the structure of the system. Make the default, a passive state, a safe state so that when the system fails, it gets to the safe state by default. (via Brett Slatkin)

http://rjlipton.wordpress.com/2010/02/08/trains-elevators-and-computer-science/

Reddit Clone in 10 minutes and 91 lines of Clojure 03.02.2010

Отличный пример создания небольшого, но выразительного веб-приложения на Clojure

http://www.bestinclass.dk/index.php/2010/02/reddit-clone-in-10-minutes-and-91-lines-of-clojure/

Plurk: Instant conversations using Comet 01.02.2010

Ура, node.js оказался более масштабируемым для comet-приложения, чем решение на Java + JBoss Netty:

"We have rewritten to node.js from Java+JBoss Netty, because the old solution had scalability problems. We have also been able to build a very sophisticated messaging system given JavaScript expressiveness and the simplicity of node.js. Generally, we have found node.js and V8 very impressive - and it uses about 10 times less memory than Java+Netty did. The bottom line is if you implement anything comet related - - try to use node.js!"

http://feedproxy.google.com/~r/amixdk/~3/TwhkLuhxcqc/19490

Pingdjack 21.01.2010

django-app для серверной и клиентской обработки pingbacks (уведомлений о том, что на ваш материал поставили ссылку где-то там в вебе)

http://softwaremaniacs.org/blog/2010/01/21/pingdjack/

A successful Git branching model 21.01.2010

Интересная схема веток (branches) git - master для продакшн-кода, develop - integration, hotfixes, ...

http://nvie.com/archives/323

Django Coverage 15.01.2010

Толик Востряков пишет про библиотеку Coverage, показывающую покрытие тестами python/django кода

http://magic-tolik.livejournal.com/124726.html

Shed Skin 0.3 14.01.2010

"Experimental (but obviously restricted) Python-to-C++ compiler." Спросил у автора, в чем отличие от Cython, ответ - "cython relies on type declarations and other manual 'hints' to optimize programs. shed skin's goal is to statically compile restricted python code without any such manual hints"

http://shed-skin.blogspot.com/2010/01/shed-skin-03.html

"coev" python framework 13.01.2010

coev framework is a stab on providing reasonably fast asynchronous IO to both Python code itself, and any C extension modules used

http://code.google.com/p/coev/

DjangoCon 2008 Panel: Django Technical Design 30.12.2009

Разработчики из ядра проекта Django рассказывают о технических решениях, лежащих в основе фреймворка. PS. Отличная возможность посмотреть на людей, которых вы (скорее всего) так много читали :)))

http://www.youtube.com/watch?v=tscMnoS4YU8

Tokyo Tyrant cache backend for Django 30.12.2009

Толик Востряков выложил код cache-бэкэнда для Django, который хранит данные в Tokyo Tyrant. Подробности - в блоге Толика

http://github.com/avostryakov/django-tyrant-cache#

Сборник музыки для наведения феншуя в проектах 30.12.2009

Акве пишет: "К новому году радиостанция Попутка-FM, то есть я, Акве, подготовил сборник песен. И не простых песен, а таких, с которыми хорошо наводить фэн-шуй в проектах. На той стадии, где нужно с любовью полировать каждую деталь - проверено, работает!"

http://akve.livejournal.com/717186.html

Canvas tutorial 29.12.2009

Отличный туториал от Mozilla по html5-элементу Canvas.

https://developer.mozilla.org/en/Canvas_tutorial

MultiTextInputWidget + python properties 25.12.2009

Первый программистский пост Толика Вострякова. 1. MultiTextInputWidget - виджет для формы, представляющий json-поле из базы данных в виде нескольких полей на форме. 2. Разные способы определения свойств в Python

http://magic-tolik.livejournal.com/123477.html

Django multi-db patch committed! 23.12.2009

Сегодня ночью в django trunk закомиттили multi-db patch. Ура, Alex Gaynor и все-все-все!

http://docs.djangoproject.com/en/dev/topics/db/multi-db/#topics-db-multi-db

Faster cPickle in Unladen Swallow 18.12.2009

В Unladen Swallow (проект по ускорению CPython) используются патчи к cPickle, изначально написанные для YouTube.

http://groups.google.com/group/unladen-swallow/browse_thread/thread/7b2277b2e3d835d7

A Curious Course on Coroutines and Concurrency 13.12.2009

David Beazley использует улучшенные Python-генераторы для реализации coroutines. И с помощью этих coroutines строит кооперативную нано-ОС и микро-веб-фреймворк. Я встречал coroutines в первом томе Кнута и с тех пор не видел их много лет, и вот теперь снова встречаю их в Python. Удивительно и познавательно! Иван, спасибо за наводку!

http://www.dabeaz.com/coroutines/index.html

A clean, lightweight alternative to Python’s twisted? 12.12.2009

Очень интересное и свежее (всего 11 дней назад) обсуждение про различные асинхронные python-фреймворки. Все больше и больше новых библиотек опирается на Coroutines via Enhanced Generators и это очень хорошо!

http://stackoverflow.com/questions/1824418/a-clean-lightweight-alternative-to-pythons-twisted

Adisp 11.12.2009

Python-библиотечка (2 декоратора и 1 класс) для удобного написания асинхронного кода без явного указания callbacks.

http://softwaremaniacs.org/blog/2009/12/11/adisp/

Authenticating REST Requests 11.12.2009

Описание формата подписи REST-запросов для всех Amazon Web Services. Детально, безопасно, расширяемо.

http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/index.html?REST_RESTAuth.html

Reddit source code 03.12.2009

Исходники reddit.com. Используют pylons, paste. Понравился декоратор @validateForm - форма создается на лету и валидирует параметры API. Очередь асинхронных задач работает через AMQP (RabbitMQ, Erlang). http://blog.reddit.com/2009/11/rpython-hits-10k-subscribers-so-we.html

Ajax.org platform 02.12.2009

Платформа для рендеринга сложных динамических изображений на веб-страницах. JS, Canvas, VML. А что они делают с графиками! (жмите стрелку вправо и пробуйте таскать графики) http://www.ajax.org/#home

Русскоязычные блоги о Python 01.12.2009

Сегодня нашел сайт со ссылками на русскоязычные ресурсы по Python, в том числе - блоги питонистов. http://pyweb.ru/#topic-blog

Надо все переписать 30.11.2009

Отличный пост Ивана Сагалаева про два разных способа организации многозадачности: многопоточность и асинхронный неблокирующий ввод-вывод. http://softwaremaniacs.org/blog/2009/11/30/gotta-rewrite-everything/

Django Extensions 29.11.2009

Дополнительные команды manage.py для визуализации моделей и отношений между ними, ajax-отладки, db-agnostic экспорта-импорта данных и многого другого. Для Mac OS X рекомендую ставить через порты - sudo port install py26-django-extensions py26-pygraphviz py26-werkzeug. См. также скринкаст http://code.google.com/p/django-command-extensions/

Пространства имен в Memcached 27.11.2009

Элегантное решение для создания пространств имен (namespaces) в Memcached. Патчи не требуются! http://lexabug.habrahabr.ru/blog/55265/

Easy Fabric Deployment (Django) 26.11.2009

Part1 и Part 2 - в последние месяцы в блогах о Python и Django много пишут про Fabric, инструмент позволяющий автоматизировать деплоймент Python-проектов. http://lincolnloop.com/blog/2009/sep/22/easy-fabric-deployment-part-1-gitmercurial-and-ssh/

Redis Session Backend For Django 25.11.2009

По умолчанию все сессии Django хранит в базе данных. Чтобы снять нагрузку на базу, сессии лучше хранить в чем-то побыстрее и проще - memcached (есть в составе django), tokyo-tyrant (есть библиотека django-tokyo-sessions) или redis. Я думаю, что redis будет немного быстрее чем tokyo-tyrant и лишь чуть менее надежнее в плане сохранности сессий (сохранение данных на диск в redis производится асинхронно) http://adam.gomaa.us/blog/2009/may/6/a-redis-session-backend-for-django/

Django self-contained apps conventions 25.11.2009

The goal of self-contained apps is that you can basically plug a few apps together, write a few lines to connect everything, and get your website finished as quickly as possible. http://code.google.com/p/app-engine-patch/wiki/SelfContainedApps

Node.js is genuinely exciting 23.11.2009

Node describes itself as “evented I/O for V8 javascript”. It’s a toolkit for writing extremely high performance non-blocking event driven network servers in JavaScript. Think similar to Twisted or EventMachine but for JavaScript instead of Python or Ruby. http://simonwillison.net/2009/Nov/23/node/

Группа "Аквариум" сочувствует проекту Python 23.11.2009

Науки юношей питают
Но каждый юнош как питон
И он с земли своей взлетает
Надев на голову бидон http://www.falshivim-vmeste.ru/songs/579052800.html

Recommendations against Python 22.11.2009

Обсуждение в гугл-группе Unladen Swallow на следующие темы: почему Python используется нечасто в новых проектах Google, какие задачи будут решать Unladen Swallow и PyPy, какова роль Cython. Участвуют сотрудники Google, работающие над Unladen Swallow (ускорение CPython в 5 раз), и другие интересные люди. http://groups.google.com/group/unladen-swallow/browse_thread/thread/4edbc406f544643e#

Description and status of PyPy 22.11.2009

Very compliant Python interpreter. Not ready as a drop-in replacement of CPython ... yet. They plan to release JIT-ready version somewhere early 2010. It should be able to speed up real-world programs. http://codespeak.net/svn/pypy/extradoc/talk/rupy2009/talk.pdf

Mercurial (hg) is nicer with colors turn on 22.11.2009

Чтобы вывод команд hg diff, hg status стал разноцветным, достаточно добавить 2 строчки в ~/.hgrc http://shitmores.blogspot.com/2008/06/mercurial-hg-is-nicer-with-colors-turn.html

Chrome OS UI concept 20.11.2009

Они собрали воедино лучшие элементы со всех современных систем: Mac-like Spaces (окна), табы и приложения из Google Chrome, панели, похожие на Vista Gadgets. http://www.chromium.org/chromium-os/user-experience

Debugging in Python, missing pdb manual 18.11.2009

Отличное руководство об использовании библиотеки pdb для отладки python-приложений (via Simon Willison) http://pythonconquerstheuniverse.wordpress.com/2009/09/10/debugging-in-python/

How the OAuth Security Battle Was Won, Open Web Style 17.11.2009

В протоколе OAuth обнаруживают уязвимость, сообщают разработчику API Твиттера. Твиттер отключает API 30 секунд спустя и группа специалистов из ведущих компаний, поддерживающих OAuth, начинает работу по устранению уязвимости. А тем временем многие поливают Твиттер грязью за отключенное API, Твиттер держится и ничего не рассказывает - чтобы не утекала информация о уязвимости, которая может поставить под удар другие компании. Через неделю совместной работы уязвимость закрыта. http://www.readwriteweb.com/archives/how_the_oauth_security_battle_was_won_open_web_sty.php