« 10 Newer Entries
I have to deal with it now and a lot of other people too, judging
by the utf8/unicode/encoding topics on the django mailing list. I
have found this one thread quite interesting and looks
like the problem solver, but may be I also just need to learn a
bit more about the bits and pieces that make this whole thing
work. This message obviously tells how to make mysql
completely aware and well-handling utf8.
Next thing on the list the django setting parameter DEFAULT_CHARSET.
Read here how to change all your DB to utf8, pretty
simple, but you gotta know it. Even when your app runs in latin1
only, it reduces a couple problems in case you forgot some check
and utf8 is slipping through. I will let you know if I can prove
that right. But since Django is trying to be unicode compliant, it’s
easier to use it than to work around it.
It does at least already eliminate the problem of getting this error:
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and
this was discussed here.
ALTER TABLE tbl_name CONVERT TO CHARACTER SET …
I was fighting four days now, with a threading problem, which are known to be hard to track. But I finally found it and learned that I actually had made a beginner’s mistake.
From the front end I trigger via AJAX a view that again starts a thread that does some import work, that might take quite a while. This enables the user to keep going and have the import run without interrupting him/her. Every once in a while an asynchronous call checks on the state of the import.
And here lies the problem: while the thread is running and busy like a bee adding data in the DB the asynchronous call to check on the state also tries to run a query and that causes the following exception:
... File "/Users/cain/programming/django/trunk/django/db/backends/mysql/base.py", line 42, in execute return self.cursor.execute(sql, params) File …
Brian Aker starts work on a memcache engine for mysql. so your memcache cache acts just like a table.
the big thing here which I’ve seen asked for a couple of times on the memcached list is the ability to see a list of keys.
mysql > select * from foo1 WHERE k=”mine”;
freaking amazing.. I love these kind of mashups.
and the 2nd important event.
two interesting posts arrived on the memcached list which might be interesting to performance people.
The first was a comparison of The fastest lanugage binding on which ‘P’ language performed better. To make a note the PHP version actually uses libmemcache a ‘C’ library which goes a bit of the way to explain the wild disparity in speeds.
The 2nd more interesting one (to me) was the discussion of how Digg switched from using mysql to memcached with v3 of their new interface to handle storing sessions, due to a hardware crash on their mysql server.
others mentioned using InnoDB for this instead of MyISAM, with the biggest issue …[Read more]
are you a committer or a member of a large OSS project?
do you participate in any other large open source project?
I’m trying to get a understanding of how all the different major oss projects are being cross pollinated by having people participating in different projects.
feel free to comment, or mail me directly at ian at holsman.net
continuing the recent thread about contenttypes in django I thought I would talk about a feature which got added in the magic removal branch, which doesn’t have as much attention as I think it deserves.
signals and the dispatcher.
signals are way of telling the rest of the world that something happened. If you are interested you simply listen for it (connect in django speak).
One of the performance improvements I added to this was the creation of a ‘summary’ tag which aggregates which the …[Read more]
« 10 Newer Entries