<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.81 (http://www.squarespace.com/) on Mon, 28 May 2012 18:58:55 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>Blog</title><subtitle>Blog</subtitle><id>http://www.seanoc.com/blog/</id><link rel="alternate" type="application/xhtml+xml" href="http://www.seanoc.com/blog/"/><link rel="self" type="application/atom+xml" href="http://www.seanoc.com/blog/atom.xml"/><updated>2012-02-06T17:33:46Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.11.81 (http://www.squarespace.com/)">Squarespace</generator><entry><title>Snippet: Syslog Config for Django 1.3</title><category term="Django"/><category term="django"/><category term="snippet"/><category term="syslog"/><id>http://www.seanoc.com/blog/2011/7/5/snippet-syslog-config-for-django-13.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2011/7/5/snippet-syslog-config-for-django-13.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2011-07-06T02:34:06Z</published><updated>2011-07-06T02:34:06Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>After a bunch of searching and dealing with odd errors, I finally figured out how to get syslog to play nice with Django 1.3&#8217;s new <a href="https://docs.djangoproject.com/en/1.3/topics/logging/">logging</a> config.  I&#8217;m posting it here for my own future reference and for anybody else who might find it useful.</p>

<pre class="brush: python; toolbar: false;">
from logging.handlers import SysLogHandler
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'syslog': {
            'format': 'songtrust: %(levelname)s %(module)s "%(message)s"'
        },
    },
    'handlers': {
        'syslog':{ 
            'level':'DEBUG', 
            'class': 'logging.handlers.SysLogHandler', 
            'formatter': 'syslog', 
            'facility': SysLogHandler.LOG_LOCAL2,
            'address': '/dev/log',
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['syslog'],
            'level': 'DEBUG',
            'propagate': False,
        },
    },
}
</pre>
]]></content></entry><entry><title>Chill The F*!% out over the Google/Verizon Proposal</title><category term="Google"/><category term="policy"/><category term="politics"/><category term="verizon"/><id>http://www.seanoc.com/blog/2010/8/17/chill-the-f-out-over-the-googleverizon-proposal.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2010/8/17/chill-the-f-out-over-the-googleverizon-proposal.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2010-08-18T00:31:57Z</published><updated>2010-08-18T00:31:57Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<p>In the last week or so since Google and Verizon put out their <a href="http://googlepublicpolicy.blogspot.com/2010/08/joint-policy-proposal-for-open-internet.html">proposed legislative framework</a> for dealing with net neutrality almost everybody has completely freaked out.  I&#8217;m all for fighting to keep the internet open but a lot of what I&#8217;ve been hearing over the last week has been simply a mess of FUD, irrational screaming, and dogma.  Let&#8217;s take a look at a number of the complaints that I&#8217;ve heard recently that drive me nuts&#8230;</p>
]]></summary></entry><entry><title>Djangocon Early Bird Rates Ending</title><category term="django djangocon"/><id>http://www.seanoc.com/blog/2010/6/7/djangocon-early-bird-rates-ending.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2010/6/7/djangocon-early-bird-rates-ending.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2010-06-07T19:33:16Z</published><updated>2010-06-07T19:33:16Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Just a quick reminder for everybody that the early bird rates for <a href="http://djangocon.us">Djangocon.us</a> 2010 will end tomorrow (6/8) at midnight PDT (GMT-8).</p>

<p>If your planning on attending, sign up today to save $100.</p>
]]></content></entry><entry><title>Djangcon.eu 2010 - How to make running a user group feel like cheating (video)</title><category term="djangcon"/><category term="django"/><category term="djangonyc"/><category term="talk"/><category term="video"/><id>http://www.seanoc.com/blog/2010/5/27/djangconeu-2010-how-to-make-running-a-user-group-feel-like-c.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2010/5/27/djangconeu-2010-how-to-make-running-a-user-group-feel-like-c.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2010-05-27T14:06:34Z</published><updated>2010-05-27T14:06:34Z</updated><content type="html" xml:lang="en-US"><![CDATA[<embed src="http://blip.tv/play/heALgeHPFAI%2Em4v" type="application/x-shockwave-flash" width="480" height="300" allowscriptaccess="always" allowfullscreen="true"></embed>
]]></content></entry><entry><title>Djangcon.eu 2010 - How to make running a user group feel like cheating</title><category term="djangcon"/><category term="django"/><category term="djangonyc"/><category term="user groups"/><id>http://www.seanoc.com/blog/2010/5/24/djangconeu-2010-how-to-make-running-a-user-group-feel-like-c.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2010/5/24/djangconeu-2010-how-to-make-running-a-user-group-feel-like-c.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2010-05-24T12:36:43Z</published><updated>2010-05-24T12:36:43Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Here are the <a href="http://www.seanoc.com/storage/presentations/UserGroupsTalk.pdf">slides</a> from my talk at <a href="http://djangocon.eu">Djangocon.eu</a>.  On their own, they&#8217;re not terribly useful but I figured there may be some interest anyway.  I&#8217;ll update with the much more interesting video of the talk once it&#8217;s been posted.</p>
]]></content></entry><entry><title>Changes afoot at Django-NYC</title><category term="Django"/><category term="Django-NYC"/><id>http://www.seanoc.com/blog/2009/11/15/changes-afoot-at-django-nyc.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2009/11/15/changes-afoot-at-django-nyc.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2009-11-15T21:59:33Z</published><updated>2009-11-15T21:59:33Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<p></p>]]></summary></entry><entry><title>Solango Tips and Gotchas</title><category term="Django"/><category term="Guides/How-Tos"/><category term="Open Source"/><category term="Python"/><category term="Solr"/><id>http://www.seanoc.com/blog/2009/5/25/solango-tips-and-gotchas.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2009/5/25/solango-tips-and-gotchas.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2009-05-25T21:21:15Z</published><updated>2009-05-25T21:21:15Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<p>For the last week or so I've been wrapping my brain around Solr and Solango.  The whole time that I've been doing this I've had the feeling that they can do awesome, powerful things but they're documentation is so poor that I couldn't figure anything out beyond the basic examples.  Ultimately I had to dig through a bunch of code and do some experimentation.  Now that I've finally figured out how to do what I've been trying to do and have wrapped my brain around some of the trickier bits I'm going to share some of the gotchas and solutions I've found.</p>]]></summary></entry><entry><title>sPaste Update</title><category term="Django"/><category term="Open Source"/><category term="Personal-Projects"/><category term="Python"/><category term="Security"/><category term="sPaste"/><id>http://www.seanoc.com/blog/2009/2/24/spaste-update.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2009/2/24/spaste-update.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2009-02-24T01:08:05Z</published><updated>2009-02-24T01:08:05Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<p></p>]]></summary></entry><entry><title>sPaste|source - a secure, open source, pastebin</title><category term="Django"/><category term="Open Source"/><category term="Python"/><id>http://www.seanoc.com/blog/2008/10/31/spastesource-a-secure-open-source-pastebin.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2008/10/31/spastesource-a-secure-open-source-pastebin.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2008-10-31T00:52:40Z</published><updated>2008-10-31T00:52:40Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<p></p>]]></summary></entry><entry><title>Quick Django Trick</title><category term="Databases"/><category term="Django"/><category term="Frameworks"/><category term="Guides/How-Tos"/><category term="Open Source"/><category term="Python"/><id>http://www.seanoc.com/blog/2008/9/3/quick-django-trick.html</id><link rel="alternate" type="text/html" href="http://www.seanoc.com/blog/2008/9/3/quick-django-trick.html"/><author><name>Sean O&amp;#39;Connor</name></author><published>2008-09-03T23:37:02Z</published><updated>2008-09-03T23:37:02Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<p></p>]]></summary></entry></feed>
