<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4031871</id><updated>2012-02-16T22:08:55.710+01:00</updated><title type='text'>Weholt Dot Org</title><subtitle type='html'>Stuff. About me, my family and what I do. Mostly programming. I`m a nerd.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4031871.post-1367642978866678870</id><published>2012-01-09T23:44:00.001+01:00</published><updated>2012-01-10T09:21:40.492+01:00</updated><title type='text'>Django-photofile v.0.4.0 released</title><summary type='text'>New in 0.4.0:

Photofile can detect screen resolution using a decorator, like so:

    from django.http import HttpResponseRedirect, HttpResponse
    from photofile.decorators import provide_screen_info

    @provide_screen_info
    def index(request):
         return HttpResponse("%sx%s" % (request.session.get('screen_width'), request.session.get('screen_height')))

You also need to add the </summary><link rel='related' href='http://pypi.python.org/pypi/Django-Photofile/0.4.0' title='Django-photofile v.0.4.0 released'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/1367642978866678870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2012/01/django-photofile-v040-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/1367642978866678870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/1367642978866678870'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2012/01/django-photofile-v040-released.html' title='Django-photofile v.0.4.0 released'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-6824661925598390280</id><published>2011-07-06T20:52:00.000+02:00</published><updated>2011-07-06T20:52:23.910+02:00</updated><title type='text'>Kolibri v.0.2.0 released - now taking user input for background processing</title><summary type='text'>For the impatient:

PYPI and source. Modified BSD license.

Screencast showing off the user-input-part.

Comments and ideas highly welcome, especially help in the UI/HTML/CSS-department. My design skills sucks :-(

Thanks for your attention.

Thomas</summary><link rel='related' href='http://pypi.python.org/pypi/Kolibri/0.2.0a' title='Kolibri v.0.2.0 released - now taking user input for background processing'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/6824661925598390280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/07/kolibri-v020-released-now-taking-user.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/6824661925598390280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/6824661925598390280'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/07/kolibri-v020-released-now-taking-user.html' title='Kolibri v.0.2.0 released - now taking user input for background processing'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-5253119126261767145</id><published>2011-06-24T01:34:00.000+02:00</published><updated>2011-06-24T01:34:33.762+02:00</updated><title type='text'>DSE v.3.0.0 Beta #1 released!</title><summary type='text'>For the impatient: Pypi Source Using Modified BSD license.

New in the 3.x version of DSE is the bulk_update-method, more intuitive syntax and code clean up.
NB! The new syntax is not backwards compatible so existing code using DSE must be updated to work.

New syntax:

    with Person.delayed as d:
        d.insert({'name': 'Thomas', 'age': 36, 'sex': 'M'})
        d.update({'id': 1, 'name': '</summary><link rel='related' href='http://pypi.python.org/pypi/dse/3.0.0.Beta-1' title='DSE v.3.0.0 Beta #1 released!'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/5253119126261767145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/06/dse-v300-beta-1-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5253119126261767145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5253119126261767145'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/06/dse-v300-beta-1-released.html' title='DSE v.3.0.0 Beta #1 released!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-9017344966015618150</id><published>2011-06-21T23:06:00.002+02:00</published><updated>2011-06-21T23:11:59.009+02:00</updated><title type='text'>Kolibri released - Asynchronous Processors/Workflow management for django.</title><summary type='text'>For the impatient 

Pypi entry.
Source at bitbucket

Released under the Modified BSD license.

Background

Kolibri is a reusable django app for designing and executing asynchronous processes
and workflows. A workflow is a collections of steps in a defined order,
processing data in each step. A step can break the flow if an exception is
raised and/or a specified step can be executed to handle a </summary><link rel='related' href='http://pypi.python.org/pypi/Kolibri/0.1.0a' title='Kolibri released - Asynchronous Processors/Workflow management for django.'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/9017344966015618150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/06/kolibri-released-asynchronous.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/9017344966015618150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/9017344966015618150'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/06/kolibri-released-asynchronous.html' title='Kolibri released - Asynchronous Processors/Workflow management for django.'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-5060477226368129357</id><published>2011-05-18T12:42:00.000+02:00</published><updated>2011-05-18T12:42:02.832+02:00</updated><title type='text'>DSE: 2.0.0-RC1 released - now using BSD license</title><summary type='text'>No change in code, just a new license. No new issues has been reported. Will try to add the announced and planned unittests related to SQL injection in a few days, but this version of the source is most likely the same as the forthcoming stable 2.0.0.</summary><link rel='related' href='http://pypi.python.org/pypi/dse/2.0.0-RC1' title='DSE: 2.0.0-RC1 released - now using BSD license'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/5060477226368129357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-200-rc1-released-now-using-bsd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5060477226368129357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5060477226368129357'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-200-rc1-released-now-using-bsd.html' title='DSE: 2.0.0-RC1 released - now using BSD license'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-7373281164609235651</id><published>2011-05-16T10:49:00.002+02:00</published><updated>2011-05-16T11:26:50.396+02:00</updated><title type='text'>DSE: When in Rome ..... or "What software license should I use?"</title><summary type='text'>So far I've released all my django-apps using the GPL license. This is not by accident. GPL, FSF, RMS and the whole philosophy of free software was and still is important to me. It was the main motivation for my departure from Windows to Linux about 11-12 years ago.

After posting a question about what license to choose for my django-apps and seeing the amount of debate it generated I recognize </summary><link rel='related' href='http://pypi.python.org/pypi/dse/2.0.0-BETA9' title='DSE: When in Rome ..... or &quot;What software license should I use?&quot;'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/7373281164609235651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-when-in-rome-or-what-software.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/7373281164609235651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/7373281164609235651'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-when-in-rome-or-what-software.html' title='DSE: When in Rome ..... or &quot;What software license should I use?&quot;'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-8455524031250582782</id><published>2011-05-12T08:51:00.000+02:00</published><updated>2011-05-13T23:00:16.171+02:00</updated><title type='text'>DSE - 2000 downloads</title><summary type='text'>I hope to get the last planned unittests in place, mostly related to SQL injection and a few more tests on performance, and then finally release the stable v2.0.0 this weekend or sometime next week.

I encourage any user of DSE to go the page for DSE at djangopackages.com and click "Using this". It would be nice to see how many actually use this package and/or find it useful. The number of </summary><link rel='related' href='http://djangopackages.com/packages/p/dse/' title='DSE - 2000 downloads'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/8455524031250582782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-2000-downloads.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/8455524031250582782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/8455524031250582782'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-2000-downloads.html' title='DSE - 2000 downloads'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-8185218330160880204</id><published>2011-05-10T23:18:00.000+02:00</published><updated>2011-05-10T23:18:24.510+02:00</updated><title type='text'>django-photofile v.0.2.0 - abstract model for EXIF-metadata extraction</title><summary type='text'>Just released v.0.2.0 of django-photofile, featuring an abstact class handling extraction of EXIF-metadata. Define a model, sublcassing the abstract PhotoMetadata-class like so:


from django.db import models
from photofile.models import PhotoMetadata

class Photo(PhotoMetadata):
    image = models.ImageField(upload_to=settings.STATIC_DATA)
    title = models.CharField(max_length=100)

    def __</summary><link rel='related' href='http://pypi.python.org/pypi/Django-Photofile/0.2.0' title='django-photofile v.0.2.0 - abstract model for EXIF-metadata extraction'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/8185218330160880204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/05/django-photofile-v020-abstract-model.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/8185218330160880204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/8185218330160880204'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/05/django-photofile-v020-abstract-model.html' title='django-photofile v.0.2.0 - abstract model for EXIF-metadata extraction'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-cizIvY_8-QU/TcmrOnTqM0I/AAAAAAAAATc/yzpyLINvw7g/s72-c/photophile1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-2032888575503278581</id><published>2011-05-09T16:17:00.000+02:00</published><updated>2011-05-09T16:17:29.831+02:00</updated><title type='text'>Django-photofile released</title><summary type='text'>Just released a simple reusable app with a templatetag for thumbnail generation, with support for automatic rotation based on Exif.Orientation. Looked at sorl-thumbnail and friends, but none of them featured automatic rotation based on Exif.Orientation, which is critical for my photo-based projects.

http://pypi.python.org/pypi/Django-Photofile/

Released as GPL. Alpha status. Testers and </summary><link rel='related' href='http://pypi.python.org/pypi/Django-Photofile/' title='Django-photofile released'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/2032888575503278581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/05/django-photofile-released.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/2032888575503278581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/2032888575503278581'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/05/django-photofile-released.html' title='Django-photofile released'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-5737617499274105548</id><published>2011-05-03T23:47:00.000+02:00</published><updated>2011-05-03T23:47:23.726+02:00</updated><title type='text'>DSE: Reality check - a more real-world test case scenario</title><summary type='text'>During the last days I've done extensive testing on DSE, but still in a very artificial test environment; using the in-memory SQLite database provided by the django testing framework. It shows very well the overhead of using the django ORM, but I was expecting things to change when using a proper database.

After some discussions on the django users mailing list I got motivated to test DSE in a </summary><link rel='related' href='http://pypi.python.org/pypi/dse/' title='DSE: Reality check - a more real-world test case scenario'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/5737617499274105548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-reality-check-more-real-world-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5737617499274105548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5737617499274105548'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-reality-check-more-real-world-test.html' title='DSE: Reality check - a more real-world test case scenario'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-7572008898685614773</id><published>2011-05-03T13:46:00.002+02:00</published><updated>2011-05-03T23:53:37.344+02:00</updated><title type='text'>DSE uses 1.8% of the time compared to the Django ORM updating 100.000 records.</title><summary type='text'>Update #2: My latest blog entry shows more realistic performance against a postgresql database.


Update: I feel I should clear some clear up some stuff; the tests below run using a memory database, using SQLite. It clearly shows the overhead of using the django orm for tasks like these, but I do believe the difference between DSE and the django orm would be smaller in a world scenario, because </summary><link rel='related' href='http://pypi.python.org/pypi/dse/2.0.0-BETA5' title='DSE uses 1.8% of the time compared to the Django ORM updating 100.000 records.'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/7572008898685614773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-uses-18-of-time-compared-to-django.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/7572008898685614773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/7572008898685614773'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-uses-18-of-time-compared-to-django.html' title='DSE uses 1.8% of the time compared to the Django ORM updating 100.000 records.'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-6600416774084658849</id><published>2011-05-03T00:21:00.000+02:00</published><updated>2011-05-03T00:21:14.597+02:00</updated><title type='text'>PyCharm - first impressions</title><summary type='text'>I've been using PyCharm for my django development after I recieved a free open source licence for it based on my work on DSE. I've used free software based editors like Editra so far, but I wanted a visual debugger and the option of running syncdb, the django devserver, and unittests from inside an IDE, spending less time in the shell, more time in the editor. That's what drove me to PyCharm. </summary><link rel='related' href='http://www.jetbrains.com/pycharm/' title='PyCharm - first impressions'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/6600416774084658849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/05/pycharm-first-impressions.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/6600416774084658849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/6600416774084658849'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/05/pycharm-first-impressions.html' title='PyCharm - first impressions'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-7084EjaASYk/Tb8rT46mcrI/AAAAAAAAATY/T7nZJ2MA_U8/s72-c/pycharm1.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-8576384662894458958</id><published>2011-05-01T23:05:00.002+02:00</published><updated>2011-05-01T23:05:29.903+02:00</updated><title type='text'>DSE v.2.0.0 Beta #1 - DSE refactored.</title><summary type='text'>I didn't think it would come this fast, but here it is: the first beta release of DSE v2.0.0.

The code is refactored and rewritten, with performance and simplification of the code in mind. Some features added just before v1.0.0 and right after fixed serious issues, but the implementation of those features had an impact on performance. Version 2.0.0 fixes this, adds the option to cache items for </summary><link rel='related' href='http://pypi.python.org/pypi/dse/' title='DSE v.2.0.0 Beta #1 - DSE refactored.'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/8576384662894458958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-v200-beta-1-dse-refactored.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/8576384662894458958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/8576384662894458958'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/05/dse-v200-beta-1-dse-refactored.html' title='DSE v.2.0.0 Beta #1 - DSE refactored.'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-5729156828844856465</id><published>2011-04-30T03:26:00.001+02:00</published><updated>2011-04-30T03:28:13.465+02:00</updated><title type='text'>Django-Avocado v.0.1.1 released</title><summary type='text'>Just released avocado - a django reusable app for delayed/cached database logging. In very early stages of development, but I'd like to get some feedback on the concept. Head over to pypi for more details on usage or dive into the source at bitbucket.org.

Avocado is released under the GPL lisence.</summary><link rel='related' href='http://pypi.python.org/pypi/Django-Avocado/' title='Django-Avocado v.0.1.1 released'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/5729156828844856465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/04/django-avocado-v011-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5729156828844856465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5729156828844856465'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/04/django-avocado-v011-released.html' title='Django-Avocado v.0.1.1 released'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-258180073195947750</id><published>2011-04-28T22:22:00.000+02:00</published><updated>2011-04-28T22:22:43.067+02:00</updated><title type='text'>DSE v1.0.1 released - Important bug fix. Fix for issue #9</title><summary type='text'>DSE v1.0.1 was released today to fix an important issue. Earlier releases can eat up a lot of memory when reading information about fields in a table when the data in that table grows.

Thanks to Nathan Van Gheem for reporting the bug.</summary><link rel='related' href='http://pypi.python.org/pypi/dse/1.0.1' title='DSE v1.0.1 released - Important bug fix. Fix for issue #9'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/258180073195947750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-v101-released-important-bug-fix-fix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/258180073195947750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/258180073195947750'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-v101-released-important-bug-fix-fix.html' title='DSE v1.0.1 released - Important bug fix. Fix for issue #9'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-5409784101143928145</id><published>2011-04-25T21:08:00.000+02:00</published><updated>2011-04-25T21:08:25.889+02:00</updated><title type='text'>DSE: PyCharm Open Source Lisence application approved! :-)</title><summary type='text'>The same day I decided to release version 1.0.0 of DSE I got email from JetBrains saying my application for a PyCharm lisence for an open source project, namely DSE, was approved.

For the last few months I've been using Editra and been quite happy with it, but coming from a world of IDE's like Borland Delphi and Microsofts Visual Studio I sometimes find myself missing a good visual debugger and </summary><link rel='related' href='http://www.jetbrains.com/pycharm/' title='DSE: PyCharm Open Source Lisence application approved! :-)'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/5409784101143928145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-pycharm-open-source-lisence.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5409784101143928145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/5409784101143928145'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-pycharm-open-source-lisence.html' title='DSE: PyCharm Open Source Lisence application approved! :-)'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-4034339879380569556</id><published>2011-04-25T20:31:00.000+02:00</published><updated>2011-04-25T20:31:19.211+02:00</updated><title type='text'>DSE v1.0.0 released!</title><summary type='text'>Simplified "bulk" insert and update in django has never been this easy.

Head over to pypi for details or bitbucket.org for a peek at the source.</summary><link rel='related' href='http://pypi.python.org/pypi/dse/1.0.0' title='DSE v1.0.0 released!'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/4034339879380569556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-v100-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/4034339879380569556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/4034339879380569556'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-v100-released.html' title='DSE v1.0.0 released!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-7766458468787129227</id><published>2011-04-18T16:26:00.001+02:00</published><updated>2011-04-18T16:56:49.068+02:00</updated><title type='text'>DSE - "Bulk" insert/update simplified</title><summary type='text'>
I find myself scanning filesystems or parsing export data alot and inserting lots of sequential datausing the django ORM is rather slow. DSE is suppose to make such operations faster and easier while being developer and django friendly.  Normal speed gains is approx 10X compared to doing the same thing using the django ORM and DSE even uses default values defined in your models when inserting </summary><link rel='related' href='http://pypi.python.org/pypi/dse/1.0.0-RC1' title='DSE - &quot;Bulk&quot; insert/update simplified'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/7766458468787129227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-bulk-insertupdate-simplified.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/7766458468787129227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/7766458468787129227'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-bulk-insertupdate-simplified.html' title='DSE - &quot;Bulk&quot; insert/update simplified'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-8410148953665188727</id><published>2011-04-14T13:06:00.001+02:00</published><updated>2011-04-17T11:44:59.231+02:00</updated><title type='text'>DSE v.1.0.0-RC1 released!</title><summary type='text'>DSE is simplified "bulk" insert/update for Django - and its purpose in life is to insert or update as much data as possible as fast as possible - and still be developer and django friendly.

Head over to pypi for details or do

hg clone https://bitbucket.org/weholt/dse
or 

pip install dse
Testers wanted!</summary><link rel='related' href='http://pypi.python.org/pypi/dse/1.0.0-RC1' title='DSE v.1.0.0-RC1 released!'/><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/8410148953665188727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-v.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/8410148953665188727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/8410148953665188727'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2011/04/dse-v.html' title='DSE v.1.0.0-RC1 released!'/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-4300049805922519407</id><published>2009-04-07T23:01:00.000+02:00</published><updated>2009-04-08T08:31:18.789+02:00</updated><title type='text'></title><summary type='text'>I released the first version of djwftpserverd.py today. It`s a ftpserver wrapping the fab pyftpdlib, but authentication is done against a django database using the django ORM. This is great if you for instance want a superuser to be able to upload static media using ftpclients, but still want to use the useradministration in django.Basic use:import osos.environ['DJANGO_SETTINGS_MODULE'] = '</summary><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/4300049805922519407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2009/04/i-released-first-version-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/4300049805922519407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/4300049805922519407'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2009/04/i-released-first-version-of.html' title=''/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4031871.post-1066562060475857377</id><published>2009-04-07T10:23:00.001+02:00</published><updated>2011-04-17T11:48:57.908+02:00</updated><title type='text'></title><summary type='text'>Update! There`s much better solutions out there. This code will not be maintained anymore. Don`t you just love open source ;-) ?

Release first version of WFSCache. Available at https://launchpad.net/wfscache.

It`s a tool for monitoring parts of your filesystem for changes. An example :

from wfscache import FSCache

&gt;&gt;&gt; fc = FSCache()
&gt;&gt;&gt; fc.add_path('/temp')
&gt;&gt;&gt; fc.update()

# Do some changes </summary><link rel='replies' type='application/atom+xml' href='http://weholt.blogspot.com/feeds/1066562060475857377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://weholt.blogspot.com/2009/04/release-first-version-of-wfscache.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/1066562060475857377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4031871/posts/default/1066562060475857377'/><link rel='alternate' type='text/html' href='http://weholt.blogspot.com/2009/04/release-first-version-of-wfscache.html' title=''/><author><name>Thomas</name><uri>http://www.blogger.com/profile/04201316942530739404</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_LMUU3fUqOdc/Sb65-KrABbI/AAAAAAAAAAM/-yQMHSZU0og/S220/thomas_halo.jpg'/></author><thr:total>0</thr:total></entry></feed>
