Remember to bring your laptop because Mike will have a Real-time feedback tool for chatting with the presenters and give feedback on their talks (he has been") workingfor thelastthreemonths).
Last night at PyGTA, Mike gave a short talk/demo about his
findings using Tornado and CouchDB to write a
real time chat and voting application for his PyCon talk.
Tornado is a lightweight non-blocking web server created by
FriendFeed and Open Source by Facebook. The API is similar
to web.py and App Engine's webapp framework. Mike's ending comments was that Tornado can out perform Twisted. But
he found he had to write a lot of code to do things that were built
into Twisted (or any other modern web framework) already.
His thoughts on CouchDB:
I'm really beginning to regret the choice of CouchDB for the
back-end. It's working perfectly well, but I have literally dozens
of pieces of code hanging around for doing SQL-based paging... none
of which are applicable to CouchDB.
This website (and a few other sites I manage) will be moving from
Apache 2 and WSGI to Tornado and Nginx#. It
will still be built on top of Django thought so most of the
issues Mike was talking about wouldn't apply to me.
My personal philosophy, in web development, is to log exceptions, not found pages, and performance to almost extreme levels. Then weekly I take the logs and analyzes them with a script which puts them into a database, which groups the results. If an error happens more than five times in the given week the script creates a ticket in the issue tracker for me to work on later. I log all not found pages by real people (not search engine bots) to try and understand why they navigated to that page. The performance log is how long the system took to generate the page and SQL queries and time it took to execute them.
Mike took some good notes so if you are interested you should definitely check it out.
When I first started developing this website I always wanted to release the source code. Over the months only a select few (the ones who emailed me and asked) have received any code. I have started to release the project slowly at Gitorious under the team Asgard Project. I also bought the domain asgardproject.org (nothing to see yet) for documentation.
At work I started developing a intranet, nothing to complicated just an address
book, microblog, timesheet, and forum. I knew from the beginning of development
I wanted to release the final project open source. But it was developed in the
monolithic approach (one project for multiple ideas) so instead I am releasing
one sentence ideas:
django-blogs: A multi-person blog similar to MovableType.
django-bugle: A microblog. (This isn't my originally code I forked it off Simon Willson's Bugle Project and made it a more portable application.)
django-voting: An Apache Style voting application.
I still have to release django-voting, django-projects, django-forums,
django-calendar, django-bugle, and django-blogs which will probably be some
time next week and I also want to do a Pinax style
release at the end of the month.
Sorry for the second Adam Savage related post, but I thought this one was interesting. Early working as a consultant I found myself saying yes to a project just for a paycheck (or to show my parents why I didn't need to stay in college) even though I really couldn't do what the client is asking for; but I would get the project done.
One time I got a really simple project from a new client, the project was so simple and I had so much school work the project got pushed to two night before it was due (which was the same day as an exam). They were using a custom web framework with no documentation or even comments in the source code and I couldn't finish on time. Around 6:45 am i left for school with the project unfinished. I got to school around 7:00 am took my exam finished by 10:00 am and went to the library to write an email to the project manager and tell him I couldn't finish and I was sorry. While instead of doing the write thing I went home and fell asleep and didn't wake up till 9:00 pm. Where in my email inbox was an email from my project manager which wasn't really good, but I dissevered every word in that email.
Since then I stop taking project I didn't have the time to finish. But this situation taught me two really important thing about myself: one I will always fail horribly at some point and two I will always learn from the horrible failures.
I find I am also like this with software, if I see something computer based that I find interesting I do crazy amounts of research to mimic. Recently made my site XML-RPC completely compatible with a WordPress weblog to use WordPress iPhone application.
Google App Engine is a platform to building and hosting web applications on Google's infrastructure (which is sometimes called PaaS1). It has a pay-for-what-you-use payment level but anything below 5 million pageviews a month.
PaaS
Platform as aService is the delivery of a computing platform and solution stack as a service.
If you have ever deployed a website for a company one of the features you are asked to implement is Email to a Friend, a nice little feature that allows the website visitor to send a link with a little description of the page and a message to another person. Most of us have probably at some point in our lives have used this simple easy to use feature.
The company I am working at, I maintain three Drupal websites all with the Forward module, which is a great little module. Today a spammer decide they could use this feature to their advantage, if they sent out the spam messages using this feature they could hit a large number of people. Within a thirty minute window they launched their attack send roughly 30,000 email messages across the three websites.
You maybe wondering I found out what they were doing. While I am a somewhat good system administrator so I receive all the system base email that are sent though the system (root, apache2, etc.), because the the module sends out it's emails using the apache2 user I received all the bounce back emails. Which at this point have my inbox at around 10,000 unread email messages and they are still coming down! I have had to put my email account on an official hiatus until this queue is empty.
So how can we fix this problem in the future? While one way is before sending out any of these email they could go though some type of spam filter. Or why do we need this service in the first place, how difficult is it to copy and paste?
You are not lost. You are one link away from your destination. Photo by Daevious.