Архив — January, 2010

Статус облаков на одной странице / Михаил Кашкин

Статус облаков на одной странице:

Сервис CloudStatus занимается небольшим и понятным делом — отслеживает статус производительности двух публичных облачных сервиса Amazon и Google App Engine. Результаты замеров отображаются на графиках и показывают изменения скорости работы нескольких стандартных операций по работе с хранилищами данных, внутренними сервисами и внешними службами.

PyCamp в Киеве, 30 января / Михаил Кашкин

30 января 2010 с 09:00 до 19:00 в городе Киев (Украина), ул. Мазепы 34, в учебном центре i-klass пройдет конференция PyCamp.

У вас еще есть возможность зарегистрироваться, но обратите внимание, что регистрация платная (почему-то на сайте об этом не говорится, но в анонсе на Хабре указана цена), цена номинальная: для студентов 20 грн, остальные 50 грн.

Read full entry at origin

Watch this space. / Kevin Dangoor

This is just a test post while I’m setting things up.

Разворачиваем проект при помощи virtualenv и pip / Игорь Давыденко

Наверное, нет смысла подробно останавливаться на том, что такое virtualenv или pip, про эти трендовые понятия питоньего мира написана уже не одна статья. Так что сегодня, я просто поделюсь способом разворачивания проекта основуясь на этих технологиях.

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

Конечно, все это можно делать и руками для каждого следующего проекта. Благо запоминать там немного:

Read full entry at origin

/ Zed Shaw

I just finished putting up a first rough cut of and I’m lookingfor people to try it out. This is about a 2 day hack, with most of the work done yesterday.

Read full entry at origin

HTML5 will lower the use of CDNs for delivering JavaScript / Brett Cannon

As Firefox 3.6 was released today, people have begun to use the async attribute for the script tag from HTML5. For those of you unaware of the new attribute, it tells the browser to execute the JavaScript that a script tag points to through its src attribute in an asynchronous manner. Now from my reading of the spec that should be asynchronously, but one at a time based on the order of the script tags are found in the doc. But if you play with Firefox 3.6 it becomes apparent that Mozilla disagrees with my interpretation as Firefox will begin executing the next async JavaScript file without waiting for the previous one to finish.

And this immediate execution is where things begin to make things interesting for using a CDN for JavaScript code. I don't know about some of you, but I use the Google AJAX Libraries
to get my copy of jQuery through their URL interface. This is great for me as it means the traffic is served by someone (i.e

Read full entry at origin

Linux performance basics / Jonathan Ellis

I want to write about Cassandra performance tuning, but first I need to cover some basics: how to use vmstat, iostat, and top to understand what part of your system is the bottleneck -- not just for Cassandra but for any system.

Read full entry at origin

Yeah, Don't Move To NYC To Do Your Startup (Yet) / Zed Shaw

2010-01-19 : Yeah, Don't Move To NYC To Do Your Startup (Yet)

Let me tell you a little story my people. I had a friend of a friend get me in contactwith a guy who ran a small NYC hedge fund. This guy was very nice and very professional and hadan interesting idea he’d already implemented and which was making his fund fairly wealthy.What he wanted me to do was recreate the web site in Ruby on Rails.

Read full entry at origin

Oplop web app, now using HTML5 / Brett Cannon

Back in October I blogged about why I liked jQuery UI in my search for a JavaScript library that would let me create a wizard interface the way I wanted to do it for Oplop (which is a password hash algorithm app for creating unique account passwords; more details can be found in the How Oplop Works page). And while jQuery UI worked for the initial launch of the wizard approach I took, I quickly realized it was not going to work for me in the long term as I wanted the web app to work on both a desktop and a cell phone using a single version and that meant minimizing download size. While jQuery UI looked fine on my Android phone, it did have some extra overhead that was simply not needed by me. That's when I decided I would create my own replacement for my use of jQuery UI's accordion to get the same effect, albeit specifically tailored to my needs.

I also took this opportunity to completely go all out and only use HTML5 (which should now simply be called HTML). Having used the new version of HTML heavily for my thesis work, I have come to know and appreciate all of the new features in the spec. Add in Mark Pilgrim's wonderful

My Fret War Round 8 Submission / Zed Shaw

2010-01-18 : My Fret War Round 8 Submission

Over at Fret War we’re doing a concept album that’sfairly ridiculous. It’s a horrible rip off of several obnoxious D&D themed storiesand mixed them up while simultaneously ripping off a few well known rock operas.

Read full entry at origin

The importers project is now public / Brett Cannon

For my PyCon talk on importers, I needed a running example. After asking online what people wanted as an example I ended up creating an importer that uses sqlite3 databases ... which I then scrapped and rewrote from scratch after realizing that there was a lot of boilerplate that I could abstract out. I decided to some ABCs to make it easy to write other importers (specifically a zipfile one), much like the ones I have in importlib. This not only helped to simplify the code, but it let me easily conceptualize what is and is not consistent between importers. Knowing what is common helps me know what I need to cover at PyCon.
But there is no need to keep this code to myself, and so the importers project has been created. The project is hosted at Google Code, uploaded to PyPI, with . The code has a bunch of ABCs that let you create finders and loaders as long as you can specify a few simple operations from the perspective of a file path (e.g. a file exists, reading from a path, etc.)

Read full entry at origin

Fret War Embed This Player / Zed Shaw

2010-01-16 : Fret War Embed This Player

I’m now working on letting people pimp their Fret War submissionsso that after they play they can post their submission to their blog.

Read full entry at origin

I'd Like Thomas Ptacek To Apologize Please / Zed Shaw

2010-01-12 : I'd Like Thomas Ptacek To Apologize Please

At about 1:04 in this talk by Thomas Ptacek he says:

“Zed Shaw will kill your company before security kills your company.”


A Few Interesting Ratings System Observations / Zed Shaw

2010-01-11 : A Few Interesting Ratings System Observations

I’m currently crunching some preliminary numbers from the Fret Warrating system experiment. If you haven’t read it, here’s theblog post about how I’m doing Fret War’s ratings.It covers mostly the stats and code behind it, not really thesocial impact.

Read full entry at origin

Where the Hg transition stands / Brett Cannon

[edit 2010-01-09: links to mailing list archives containing latest discussion]

At PyCon 2009 it was announced that python-dev planned to move Python development from svn to hg. Well, just because we chose our distributed version control system (DVCS) does not mean that we were ready to hit the switch. For one I took a three month sabbatical from python-dev to get my PhD thesis proposal finished (which I did, thank science). Luckily Dirkjan Ochtman stepped in with PEP 385 and volunteered to handle the transition. At that point we thought that it would be a matter of creating a new sys.mercurial attribute (which we still need to code up), write up new developer docs on the workflow we expect to use, and then do a high fidelity conversion of the revision history to hg and then flip the switch.

But then bloody line endings wielded their ugly heads. While I was writing PEP 374 and evaluating the three leading DVCSs I was under the impression that the win32text extension for hg did what we needed. No one every spoke up saying otherwise while the PEP was out for discussion or anything so I simply didn't worry about it

Read full entry at origin

DVCS Ponies / Armin Ronacher

So, I have a pony to share. Just maybe someone likes the idea and has thought of something similar :) So, one of the problems the Python guys currently have with mercurial is, that they need newline normalization/conversion on checkout. The problem with decentralized systems is that the client is a server and runs a stock DVCS client with his own set of hooks. In subversion you have a centralized hook that will check stuff and reject commits or rewrite them if they do not work out as expected.

Now I am very happy that hg is decentralized, but at the end of the day everything ends up in a centralized repository and there certain rules apply. So what I do is review all patches by hand in detail and rewrite parts if they do not match the code style, line endings etc. So what I thought about is doing the check/conversion in a local commit hook and in a pre-changeset hook on the server as well, so that I for myself get stopped early checking stupid stuff in and the server later rejects changesets for sure that are improper.

So I have no problem doing that check twice, but other users that are not so fortunate to have my extension might still check improper stuff in and will not even know it, because nothing stops them from doing so. But I will still have to deal with that later and there will be rejections from the server.

Read full entry at origin

If You Hate How I Write, Why Comment Like Me? / Zed Shaw

2010-01-09 : If You Hate How I Write, Why Comment Like Me?

Recently an old essay of mine Programmers Must Learn Statistics Or I Will KillThem All hit a few of the nerdhangouts. As per usual, the commenters on the site can’t string together morethan a few comments but feel they can critique my writing. I apparently haveto work on my presentation because nobody is going to read my rant and it will neverchange how they think about statistics. Nope, I write like a retarded teenagerwho’s an arrogant prick and an asshole so obviously nobody is going to read myessay on statistics.

Read full entry at origin

New Themes in Sphinx 1.0 / Georg Brandl

Since theming support was introduced in Sphinx 0.6, I’ve seen a few good ones that I’ve subsequently added to the core, and that will be part of Sphinx 1.0.

These themes are (click for larger images):

scrolls, designed by Armin Ronacher, used for Jinja:

Read full entry at origin

Mercurial codesmell extension / Georg Brandl

I know it’s bad behavior, but I’m simply too lazyto do a hg diff before commit, so quite often I committed debugging statements likeimport pdb; pdb.set_trace() or print foo, left in some module by accident.

Thankfully I’m using Mercurial for most projectsnow, so it was easy (and fun) to hack up a little extension to “fix” this.

The extension is called hgcodesmell and can be found, as always,on BitBucket. It currently asks youfor confirmation when it recognizes any of these smelly changes:

Read full entry at origin

Status of Sphinx / Georg Brandl

Reading several reactions to Tarek’s New Year meme suggestion, I saw Sphinx in the first answer of quite a few of them, and that made me very happy. Thanks to you all!

As a result, I feel I should give a short summary of what is up next for Sphinx.

Although it may have seemed that way before Christmas: Unlike Armin, I am not going to switch away from my Python development (I’ve also volunteered for the post of release manager for Python 3.2.x), although it has been slowed by the diploma thesis quite a bit, so progress is not always as fast as I hoped it could be.

Read full entry at origin

Pros and Cons about Python 3 / Armin Ronacher

I was briefly expressing my disagreement with the Python 3 development decisions, so I want to elaborate on that a bit. While I was previously addressing some of the problems I have with Python 3, I took the time to create a list of things that were solved in a way other than I expected or hoped.

Let's start with the biggest grief of mine...

Unicode Support

Read full entry at origin

Unladen Swallow: Python 3’s Best Feature. / Jesse Noller

Well all know (well – unless you’ve under a rock) about Unladen-Swallow, the semi-Google-Sponsored optimization-focused branch of Python 2.x. Collin, Jefferey and many others have been working tirelessly on porting the CPython interpreter over to LLVM, applying optimization patches, writing tests, etc all aimed at speeding up real-world operations and code since before last year’s [...]

Read full entry at origin

Status Update 2010 / Armin Ronacher

As you can see from the archives, the activity in this blog was ratherlow the last couple of weeks. But not only the blog, also my visibleprogramming activity and everything related. There are a couple of reasonfor that but unfortunately I'm not entirely sure how this will change in the next few weeks.

University turned out to be boring and stressful at the same time andis the main limiting factor of my productivity. While at the same timemany courses bore or frustrate me, there is still a lot of stuff that hasto be delivered or learned for.

While this is the primary reason for not being active at all, there area couple of other reasons as well. What I spend most of my time with thelast couple of years was certainly Open Source (I guess even freesoftware), Python and web applications. For a time I aminterested in other topics as well, I just never had the impression that Iwould be able to learn was has to be learned to succeed at it.

Read full entry at origin

looking for a project to join / Максим Ищенко

I love programming. I want to make a decent living and (trite as it is) I want to make a difference in this world. I believe in capitalism and markets and to me building a (hi-tech) business seems like the best way to achieve my goals.

Read full entry at origin

Announcing the "Little Bit of Python" podcast / Brett Cannon

Andrew Kuckling had an idea about doing a podcast about Python, focused more directly on the language itself, and on the PSF and its actions. He approached Jesse Noller and me about joining him in doing it as we said we liked the idea on Twitter. We then got Michael Foord and Steve Holden involved so we could have some variation on accents in the podcast.

And thus the 'Little Bit of Python' podcast was born. We currently have two episodes up and have recorded the third but have still to edit it and post it online. We are all new at this so forgive us if the audio is not perfect or we seem a little stiff. I know I for one was rather quiet in these first two episodes but talk a lot more in the third. We have tried to keep these podcasts clean, but I expect I will be the first to break this rule at some point. =) We also plan on having a more proper web site in the future once Jesse has the time to get it up.

You can also see Michael's post on announcing the podcast as well. Read full entry at origin

Managing student expectations for open-source projects / Titus Brown

On the heels of my aggressive competence post,about (among other things) my failure to outline my expectations for students,I've started putting together a page to help manage student expectations forthe pony-build project, which is participating in the Undergraduate CapstoneOpen-Source Projects (UCOSP) course thisterm.

(Please comment over at the Wordpress blog for UCOSP:

Read full entry at origin