What's new in Django community blogs?

Counting Word Frequency in a File Using Python

Jul 01 2016 [Archived Version] □ Published at tuts+

Ever wondered about a quick way to tell what some document is focusing on? What is its main topic? Let me give you this simple trick. List the unique words mentioned in the document, and then check how many times each word has been mentioned (frequency). This way would give you an indication of what the document is mainly about. But that wouldn't work easily manually, so we need some automated process, don't we?

Yes, an automated process will make this much easier. Let's see how we can list the different unique words in a text file and check the frequency of each word using Python.

Test File

In this tutorial, we are going to use test.txt as our test file. Go ahead and download it, but don't open it! Let's make a small game. The text inside this test file is from one of my tutorials at Envato Tuts+. Based on the frequency of words, let's guess which of my tutorials this text was extracted from.

Let the game begin!

Regular Expressions

Since we are going to apply a pattern in our game, we need to use regular expressions (regex). If "regular expressions" is a new term to you, this is a nice definition from Wikipedia:

A sequence of characters that define a search pattern, mainly for use in pattern matching with strings, or string matching, i.e. "find and replace"-like operations. The concept arose in the 1950s, when the American mathematician Stephen Kleene formalized the description of a regular language, and came into common use with the Unix text processing utilities ed, an editor, and grep, a filter

If you want to know more about regular expressions before moving ahead with this tutorial, you can see my other tutorial Regular Expressions In Python, and come back again to continue this tutorial.

Building the Program

Let's work step by step on building this game. The first thing we want to do is to store the text file in a string variable.

Now, in order to make applying our regular expression easier, let's turn all the letters in our document into lower case letters, using the lower() function, as follows:

Let's write our regular expression that would return all the words with the number of characters in the range [3-15]. Starting from 3 will help in avoiding words that we may not be interested in counting their frequency like if, of, in, etc., and words having a length larger than 15 might not be correct words. The regular expression for such a pattern looks as follows:

\b is related to word boundary. For more information on the word boundary, you can check this tutorial.

The above regular expression can be written as follows:

Since we want to walk through multiple words in the document, we can use the findall function:

Return all non-overlapping matches of pattern in string, as a list of strings. The string is scanned left-to-right, and matches are returned in the order found. If one or more groups are present in the pattern, return a list of groups; this will be a list of tuples if the pattern has more than one group. Empty matches are included in the result unless they touch the beginning of another match.

At this point, we want to find the frequency of each word in the document. The suitable concept to use here is Python's Dictionaries, since we need key-value pairs, where key is the word, and the value represents the frequency words appeared in the document.

Assuming we have declared an empty dictionary frequency = { }, the above paragraph would look as follows:

We can now see our keys using:

Finally, in order to get the word and its frequency (number of times it appeared in the text file), we can do the following:

Let's put the program together in the next section, and see what the output looks like.

Putting It All Together

Having discussed the program step by step, let's now see how the program looks:

If you run the program, you should get something like the following:

Mac OS X terminal

Let's come back to our game. Going through the word frequencies, what do you think the test file (with content from my other Python tutorial) was talking about? 

(Hint: check the word with the maximum frequency).


PyCharm and Django Announce 30% Discount With All Proceeds Going to DSF

Jun 30 2016 [Archived Version] □ Published at The Django weblog

Today and for the next two weeks, our fundraising program is getting a big boost from JetBrains PyCharm, a premiere Python IDE that has supported Django for many years. During this campaign, buy PyCharm Professional Edition with a 30% discount and all money raised will go to our general fundraising and Django Fellowship program. Additionally, JetBrains is sponsoring PEP 484 type hinting in Django through a separate DSF Fellowship grant.

“Django has grown to be a world-class web framework, and coupled with PyCharm’s Django support, we can give tremendous developer productivity,” says Frank Wiles. “The DSF helps make this growth happen, and we are delighted to have JetBrains support in our fundraising.”

“For six years, Django has been the stable rock in our feature set. We share common ideals, and the success of Django is invaluable for us as well as for the whole Python community,” says Dmitry Filippov, JetBrains Product Marketing Manager. “This promotion gives us an opportunity to strengthen PyCharm’s relationship with Django by helping the DSF reach its fully-funded campaign goal.”

Take Advantage of the Promotion

During this two-week promotion, you can effectively contribute* to Django by purchasing an Individual PyCharm Professional annual subscription at a 30% discount:

  1. Click this link to go to the PyCharm annual subscription page.
  2. On the check-out page, сlick “Have a discount code?”.
  3. Enter this 30% discount promo code: IDONATETODJANGO
  4. Fill in other required fields on the page and click the “Place order” button.

Read more details on the special promotion page.

Again, all proceeds from this promotion will go to the DSF fundraising campaign—not just the profits, but actually the entire sales amount. The funds will go towards our outreach and diversity programs: Django Girls workshops, the Django Fellowship program, sponsoring official Django conferences, and others.

*Please note this purchase is not a tax-deductible donation.

Type Hinting (PEP 484) in Django under the Django Fellowship Program

Additionally, the DSF and JetBrains announce a grant for the Django core development activity under the Django Fellowship program, in order to bring the new Python Type Hints standard (PEP 484) into future versions of Django.

“Python 3 support has been a strong focus for Django in recent years,” says Wiles. “Python 3.5 and type hinting are a huge step towards developer productivity, especially combined with powerful tools like PyCharm. This JetBrains grant helps our Django Fellows and community bring type hinting to Django.”

The standard is already quite stable, with only a few amendments over the last year. With this work, which is starting soon, the DSF will be funding Django core developers and other community members to help with the development.

“We believe in Python 3 and the benefits of type hinting, particularly for frameworks like Django,” says Filippov. “Type hints in Django can let PyCharm boost Django developer productivity with better code inspections, code completion, and refactorings. We’re going to pioneer PEP 484 use in Django, making tremendous headway into the future of Django and Python.”

There's no exact timeline for the project yet, but keep an eye on the django-developers mailing list and the Django blog for updates as work progresses.

If you have any questions, get in touch with us at fundraising@djangoproject.com or JetBrains at sales@jetbrains.com.


Full time Django Developer in Bristol UK

Jun 30 2016 [Archived Version] □ Published at Djangojobs.Net latest jobs

Django Developer

Overview

Omni Digital is looking for a confident developer with experience in Python and Django. The start date is immediate, the position offers flexible hours and the opportunity to work from home, and you will be provided with a new computer to use.

The salary will be commensurate with experience, and will be pro-rata.

About Us

We are a mature Digital agency (14 years!) and we build websites and web-based applications almost exclusively in Django. Our clients come from a wide range of sectors - public, private; engineering, commercial, etc - and all expect the very best service from us.

We are committed to only hiring the best people, and in return we offer a flexible working relationship, in a nice office environment, with the usual agency perks such as away days.

We try not to fall into agency cliches, and we also try and avoid bullsh*t in all our work and our communications. Hence no ‘Ninja rockstar developer’ job title.

But we do have a ping pong table. And are in a industrial-style, open-plan office with a lot of macs and some fake grass in the corner. Sorry.

About You

You will need to be able to work quickly and proficiently with Django and Python.

You will also be committed to best practices, have good DevOps capabilities, and be able to work as part of a team. A passion for open source technology is essential, and ideally you will have experiencing in open-sourcing your own code.

Although generally you will not be dealing with clients on a day-to-day basis, we do ask that you are able to talk to clients when necessary.

Ideally you will be Bristol / South-West based.

You’ll also have your own interests that we’d like you to share with the team. Ideas for our days out, new business venture proposals (no matter what field or industry), improvements to our office, new tech talks, etc - all welcome.

The Work Involved

The role will largely see you focused on back-end development in Python and Django, but you will also have to support our enterprise search servers (Elastic), as well as the agency’s DevOps setup, including Travis, a custom GitHub integration, and soon ELK.

Specifically, the work will involve, but will not be exclusive to:

  • Building sites in Django
  • Integrating HTML flats
  • Continuous integration
  • Testing - unit and function testing within a TDD environment
  • DevOps
  • Any training for new or existing staff in back-end technologies
  • Research and development of new systems

Contact To apply, please email [email protected] with a one page C.V.

If you are a recruitment agency and get in touch about this job you will be charged a day’s worth of consultancy time (our minimum billable amount for recruitment agencies).


Quick Tip: How to Read Extremely Large Text Files Using Python

Jun 30 2016 [Archived Version] □ Published at tuts+

Let me start directly by asking, do we really need Python to read large text files? Wouldn't our normal word processor or text editor suffice for that? When I mention large here, I mean extremely large files!

Well, let's see some evidence on whether we would need Python for reading such files or not.

Obtaining the File

In order to carry out our experiment, we need an extremely large text file. In this tutorial, we will be obtaining this file from the UCSC Genome Bioinformatics downloads website. The file we will be using in particular is the hg38.fa.gz file, which as described here, is:

"Soft-masked" assembly sequence in one file. Repeats from RepeatMasker and Tandem Repeats Finder (with period of 12 or less) are shown in lower case; non-repeating sequence is shown in upper case.

I don't want you to worry if you didn't understand the above statement, as it is related to Genetics terminology. What matters in this tutorial is the concept of reading extremely large text files using Python.

Go ahead and download hg38.fa.gz (please be careful, the file is 938 MB). You can use 7-zip to unzip the file, or any other tool you prefer.

After you unzip the file, you will get a file called hg38.fa. Rename it to hg38.txt to obtain a text file.

Opening the File the Traditional Way

What I mean here by the traditional way is using our word processor or text editor to open the file. Let's see what happens when we try to do that.

I first tried using Microsoft Word to open the file, and got the following message:

Microsoft Word cant open a file because its too large

Although opening the file didn't also work using WordPad and Notepad on a Windows based machine, it did open using TextEdit on a Mac OS X machine.

But you get the point, and having some guaranteed way to open such extremely large files would be a nice idea. In this quick tip, we will see how to do that using Python.

Reading the Text File Using Python

In this section, we are going to see how we can read our large file using Python. Let's say we wanted to read the first 500 lines from our large text file. We can simply do the following:

Notice that we read 500 lines from hg38.txt, line by line, and wrote those lines to a new text file output.txt, which should look as shown in this file.

But say that we wanted to directly navigate through the text file without extracting it line by line and sending that to another text file, especially since this way seems more flexible.

Navigating Through Large Text Files

Although the above step allowed us to read large text files by extracting lines from that large file and sending those lines to another text file, directly navigating through the large file without the need to extract it line by line would be a preferable idea.

We can simply do that using Python to read the text file through the terminal screen as follows (navigating through the file 50 lines at a time):

As you can see from this script, you can now read and navigate through the large text file immediately using your terminal. Whenever you want to quit, you just need to type STOP (case sensitive) in your terminal.

I'm sure that you will notice how smooth Python makes it to navigate through such an extremely large text file without having any issues. Python is again proving itself to be a language striving to make our lives easier!


netbox

Jun 30 2016 [Archived Version] □ Published at Latest Django packages added

IP address management (IPAM) and data center infrastructure management (DCIM) tool.


Djangorecipe: easy test coverage reports

Jun 30 2016 [Archived Version] □ Published at Reinout van Rees' weblog under tags  buildout django

Code coverage reports help you see which parts of your code are still untested. Yes, it doesn't say anything about the quality of your tests, but at the least it tells you which parts of your code have absolute the worst kind of tests: those that are absent :-)

Ned Batchelder's coverage.py is the number one tool in python.

Note: I use buildout instead of pip to set up my projects. Reason: I can integrate extra automation that way. One of those extra automation steps is "djangorecipe": a recipe is a buildout plugin. It installs django, amongst others.

My previous setup

I use nose as a test runner. Easier test discovery was the reason at the time. Python's unittest2 is better at that, so it might be time to re-visit my choice. Especially as I just read that nose isn't really being maintained anymore.

A nice thing about nose is that you can have plugins. coverage.py is a standard plugin. And with django-nose you can easily use nose as a test runner instead of the standard django one. So once I put a few nose-related settings in my setup.cfg, coverage was run automatically every time I ran my tests. Including a quick coverage report.

The setup.cfg:

[nosetests]
cover-package = my_program
with-coverage = 1
cover-erase = 1
cover-html = 1
cover-html-dir = htmlcov

Running it:

$ bin/test
......................................
Name                       Stmts   Miss  Cover   Missing
--------------------------------------------------------
djangorecipe                   0      0   100%
djangorecipe.binscripts       42     16    62%   25, 37-57
djangorecipe.boilerplate       1      0   100%
djangorecipe.recipe          115      0   100%
--------------------------------------------------------
TOTAL                        158     16    90%
----------------------------------------------------------------------
Ran 38 tests in 1.308s

OK

An important point here is that laziness is key. Just running bin/test (or an equivalent command) should run your tests and print out a quick coverage summary.

Note: bin/test is the normal test script if you set up a project with buildout, but it is effectively the same as python manage.py test.

New situation

"New" is relative here. Starting in django 1.7, you cannot use a custom test runner (like django-nose) anymore to automatically run your tests with coverage enabled. The new app initialization mechanism already loads your models.py, for instance, before the test runner gets called. So your models.py shows up as largely untested.

There's a bug report for this for django-nose.

There are basically two solutions. Either you run coverage separately:

$ coverage run python manage.py test
$ coverage report
$ coverage html_report

Ok. Right. You can guess what the prototypical programmer will do instead:

$ python manage.py test

That's easier. But you don't get coverage data.

The second alternative is to use the coverage API and modify your manage.py as shown in one of the answers. This is what I now build into buildout's djangorecipe (version 2.2.1).

bin/test now starts coverage recording before django gets called. It also prints out a report and export xml results (for recording test results in Jenkins, for instance) and html results. The only thing you need to do is to add coverage = true to your buildout config.

The details plus setup examples are in the 2.2.1 documentation.

(An advantage: I can now more easily move from nose to another test runner, if needed).

Not using buildout?

Most people use pip. Those using buildout for django will, I think, really appreciate this new functionality.

Using pip? Well, the basic idea still stands. You can use the call-coverage-API-in-manage.py approach just fine in your manage.py manually. Make it easy for yourself and your colleagues to get automatic coverage summaries!


djangobeat

Jun 30 2016 [Archived Version] □ Published at Latest Django packages added

Periodic Tasks for Django channels


a webpage with too many videos

Jun 28 2016 [Archived Version] □ Published at from __future__ import braces

<html>
    <head>
       
    </head>
    <body>
        <div class="video" style="width:560px; height:315px;" data-href="//www.youtube.com/embed/3Jk9lOK650c?autoplay=1">
            <img src="http://img.youtube.com/vi/3Jk9lOK650c/maxresdefault.jpg" width="200px;" heigh="200px;"/>
           
        </div>
        <br>
    </body>
   
   
    <script src="http://code.jquery.com/jquery.js"></script>
    <script>
    $(function(){
        $('.video').click(function(){
        ahref = $(this).attr('data-href');
        $(this).html('<iframe width="560" height="315" src="'+ ahref +'" frameborder="0" allowfullscreen></iframe>').css('background', 'none');
    });   
    });
   
       
    </script>
</html>


Mongodb and mongoengine

Jun 28 2016 [Archived Version] □ Published at from __future__ import braces

class Comment(Document):
    text = StringField()

class MUser(Document):
    name = StringField(required=True)
    email = EmailField(required=True)


class Article(Document):
    title = StringField(required=True)
    content = StringField(required=True)
    comments = ListField(ReferenceField(Comment))
    author = ReferenceField(MUser, required=False)

 
foreign key relation, use ReferenceField(MUser, required=True/False)

m2m relation, ListField(ReferenceField(Comment))

update fk in mongo shell,

db.article.update({'title':'MAUKA'}, {$set:{'author':vs}})
vs is _id of muser object

update m2m,

db.article.update({'title':'MAUKA'}, {$push:{'comments':cc}})
cc is _id of some comment

from django shell
article_object.comments gives a list (unlike django where we do article_object.comments.all() to get all comments)

to update comment from django shell,
article_object.update(add_to_set__comments=[comment_object])


django-easycart

Jun 27 2016 [Archived Version] □ Published at Latest Django packages added

A flexible session-based shopping cart application for Django.


Your Django Story: Meet Anna Makarudze

Jun 27 2016 [Archived Version] □ Published at Django Girls Blog

This is a post in our Your Django Story series where we highlight awesome ladies who work with Django. Read more about it here.

 
Image of Anna Makarudze, Python developer

Anna Makarudze lives in Harare, Zimbabwe, and was born and raised in Masvingo. She is an an ICT consultant as well as a Python/Django developer.

How did your story with code start?

Well, I started learning programming in high school when I was studying Computer Studies for my GCE Ordinary level. I also learned many other languages in school while studying for my GCE Advanced Level and my BSc in Computer Science. However, after graduating, I did not do any coding, so I kind of forgot the syntax for most of the languages I had learned in school.

After consulting on some projects in which I felt the developers were failing to develop simple business processes, I decided to get back into coding by learning a language that would not only allow me to implement these processes but also allow me to play with data science. No wonder I learnt Python, after doing some bit of research on the language.

 

What did you do before becoming a programmer?

I have been a career nomad within the ICT sector, changing jobs within the industry. The industry I’ve stayed the longest in is the telecom sector, where I have held several positions including: NOC Technician, Billing Analyst and Senior BSS/OSS Consultant.

 

What do you love the most about coding?

Coding enables me to utilize my creative and problem-solving abilities. In my opinion, it is one of the few disciplines that thoroughly engages your mind and gets your brain working to generate and develop new ideas.

 

Why Django?

I learned Flask and struggled with implementing login. During that process, I decided to switch to Django, which automates so much for you and as a result, shortens development time.

 

What cool projects are you working on at the moment/planning on working on in the near future?

I am working on my website/ blog, which I haven’t visited in a while because of tight schedule. I am also working on developing an email classifier to embed to my website.

 

What are you most proud of?

Well, at first I didn’t see myself as able to organize a Django Girls workshop and impact the lives of so many women in a positive way, but I did it! You can read about our Django Girls Harare workshop here. Just being able to do that has made me so proud of myself.

 

What are you curious about?

I am still learning Python and Django and I am so curious to see how an application developed with Django can support data science and analytics. Although I am working on a classifier at the moment, I still haven’t quite figured out how it will work with my apps.

 

What do you like doing in your free time? What’s your hobby?

I enjoy most just hanging out with my close friends and just talking. After that, traveling and going to new places and sight-seeing. I also love going for walks, especially when not in an urban setup, and just enjoying nature.

 

Do you have any advice/tips for programming beginners?

One thing that I always tell new programmers is that programming is always difficult before you plan your code. Planning your code enables you to understand what is required of you. When I don’t plan my code, I have realized my chances of getting it wrong are very high. But when I do plan, I manage to achieve my goals, so take your time to plan your code.

 

How did attending a Django Girls workshop influence your life/career? What did you get out of attending a Django Girls workshop?

Organizing Django Girls enabled me to realize that I can actually organize a workshop, engage sponsors and be able to run the workshop. I had coached at a Django Girls workshop before in Windhoek this January but I had coached adults only. Our Django Girls workshop had a wide range of age groups, ranging from eight to sixty years old. I coached an eight year old and a lady over 40. Another coach coached a nine year old.

One thing all coaches agreed were that our two youngest attendees had greater potential than anybody else present. Despite their young ages, they worked so hard and enjoyed the day so much. It was so thrilling that I did not regret accepting them. It also made me realize that even kids can learn programming: the earlier, the better. I will work on impacting more women and more kids.

 

Thank you so much, Anna!

 

If you would like to suggest someone to be featured in the Your Django Story series (or would like to nominate yourself!), please email us at [email protected]!


image

Adrienne Lowe

@adriennefriend


django-indonesia-regions

Jun 25 2016 [Archived Version] □ Published at Latest Django packages added

Pluggable django apps provide indonesian regions database


django-admin-rangefilter

Jun 24 2016 [Archived Version] □ Published at Latest Django packages added

django-admin-rangefilter app, add the filter by a custom date range on the admin UI


Software Engineer

Jun 23 2016 [Archived Version] □ Published at Djangojobs.Net latest jobs

Are you the hands-on Software Engineer with excellent mathematic skills and able to cope under pressure? Do you have a strong desire to master new technologies and work on cutting edge technology? Then maybe you’re just the Software Engineer Key Technology is looking for!

Software Engineer

Belgium based Hasselt (between Genk, Leuven and Maastricht)

Your job as a Software Engineer

The Software Engineer researches, designs and develops state-of-the art software. With your strong communication and time-management skills you are used to work in a multi-disciplinary team. You, as a Software Engineer, are able to act resourceful and creative in a problem-solving manner to develop software implementations in different domains. For this, you are able to use modern design tools, technologies and agile software development principles.

The Software Engineer is responsible for:

  • Top-quality software implementations in domains such as real-time image processing, machine vision, industrial process control, human-machine and machine-machine interfacing, using modern design tools, technologies and agile software development principles.
  • Analyzes software requirements and specifications to determine feasibility of the design within time and cost constraints.
  • In collaboration with several departments identify, specify and develop robust diagnostic capabilities.
  • Providing technical support for our customers and employees.
  • Performing software quality assurance and continuous improvements of previously developed software.
  • Developing documentation and training content and participating in new product introduction teams.

Requirements for the Software Engineer - Master degree in Engineering, with a specialization in computer science. - Knowledge of signal and image processing algorithms and knowledge of C++, Phyton, Qt and/or - - Boost is an advantage. - 3-5 years of relevant work experience. - Experience with programming, within the Linux operating system - Experience with GCC build tools, source code versioning and collaboration tools - Good knowledge of English and Dutch, other European languages is a plus. - Willingness to, occasionally, travel to costumer sites.

In Return, Key Technology offers

Besides good benefits, we also offer a challenging job in an international organization and large diversity of products and technologies.

Who is Key Technology?

Key Technology is the producer of inspection, transport and sorting machines within the food industry. We serve the market EMEIA (Europe / Middle East / India / Africa). Key Technology is located in Hasselt (BE) has a sister company in Beusichem (the Netherlands) and is a subsidiary of the listed Key Technology Inc. (USA).

How to apply see "How to Apply" section below

Acquisition is not appreciated

Keywords: Job vacancy, fulltime, Hasselt, Software Engineer, computer science


Senior Django Software Engineer

Jun 23 2016 [Archived Version] □ Published at Djangojobs.Net latest jobs

At JAKT we are an established yet growing design and development consultancy that uses technology to solve problems for startups and brands. We work with our clients on their goals and objectives and adopt the role of serving as Interim CTO and/or Creative Director for the duration of the engagement. We are looking to add an experienced Django developer to our team who thrives in a highly collaborative environment.

Our company culture is one of schedule and project flexibility, through which we encourage self-growth using cutting edge technologies for innovative, creative projects. At JAKT, our team members have exciting challenges every day and use each other for support. You will have the opportunity to influence not only how your applications are built, but also what they consist of, in the first place.

Desired Skills and Qualifications

  • 3+ years professional experience in a web developer role
  • 1-2 years Django and Django Rest Framework experience
  • Proven history creating REST API clients for web and mobile clients
  • Strong affinity for tackling complex business logic and problems
  • Solid understanding of Git
  • Unit testing in pytest, nose, or unittest
  • Knowledge and experience deploying to Heroku and/or AWS (EC2, RDS)
  • Payment processing and integration with several third party APIs
  • Understanding of fundamentals important to maintainable, production scale applications: database admin, caching, documentation, scaling, CI, etc.

What we’d like to see

  • Understands the benefits of close collaboration over individual genius
  • Experience working with a cross functional team.
  • Samples of apps you have done and/or your GitHub profile

What you will get

  • Competitive salary
  • Benefits
  • Flexible schedule
  • Equal opportunity employer (EOE)


django-planet aggregates posts from Django-related blogs. It is not affiliated with or endorsed by the Django Project.

Social Sharing

Feeds

Tag cloud

admin administration adsense advanced ajax amazon angular angularjs apache api app appengine app engine apple application security aprendiendo python architecture articles asides audrey authentication automation backup bash basics best practices binary bitbucket blog blog action day blogging book books buildout business c++ cache capoeira celery celerycam celerycrawler challenges chat cherokee choices class-based-views cliff cloud cms code codeship codeship news coding command community computer computing configuration continuous deployment continuous integration couchdb coverage css custom d data database databases db debian debugging deploy deployment deployment academy design developers development devops digitalocean django django1.7 django cms djangocon django-nose django-readonly-site django-rest-framework django-tagging django templates django-twisted-chat django web framework tutorials documentation dojango dojo dotcloud dreamhost dughh easy_install eclipse education elasticsearch email encoding english error events expressjs extensions fabric facebook family fashiolista fedora field file filter fix flash flask form forms frameworks friends fun gae gallery games geek general gentoo gis git github gmail gnome google google app engine guides gunicorn hack hackathon hacking hamburg haskell heroku holidays hosting howto how-to how-tos html http i18n image imaging indifex install installation intermediate internet ios iphone java javascript jobs journalism jquery json justmigrated kde linear regression linkedin linode linux login mac machine learning mac os x math memcached mercurial meta migration mirror misc model models mod_wsgi mongodb months mozilla multi-language mvc mysql nelenschuurmans newforms news nginx nodejs nosql ogólne openshift opensource open source open-source operations orm osx os x ottawa paas packages patterns pedantics pelican performance personal philosophy php pi pil pinax pip piston planet plone plugin pony postgis postgres postgresql ppoftw presentation private programmieren programming programming &amp; internet project projects pycharm pycon pygrunn pyladies pypi pypy python python3 queryset quick tips quora rabbitmq rails rant ratnadeep debnath reactjs redis refactor release request resolutions rest reusable app review rhel rtnpro ruby ruby on rails scala scaling science screencast script scripting security server setup simple smiley snaking software software collections software development south sphinx sql ssh ssl static storage supervisor support svn sysadmin tag tag cloud talk nerdy to me tastypie tdd techblog technical technology template templates template tags test testing tests tip tips tools tornado transifex travel tumbles tutorial tutorials twisted twitter twoscoops typo3 ubuntu uncategorized unicode unittest unix use user authentication usergroup uwsgi uxebu virtualenv virtualenvwrapper web web 2.0 web application web applications web design &amp; development webdev web development webfaction web framework websockets whoosh windows wordpress work workshop yada znc zope