On 4 Mar 2009, at 10:56, Matthew King wrote:
[ Assuming you meant to send this to the list and now find some
combination of your MUA and the list software more hateful than you
did previously. ]
[ Correct. Reply-To: munging considered less hateful than not doing
so. ]
[...]
[1] As an aside, I was tasked with moving dp from one server to
another
a while ago. I thought I'd upgrade at the same time but the new
version
made thousands of SQL queries opening the post-login page (this is not
an exaggeration. Actually it could have been in the 10s of
thousands. I
can't remember.) and took some 10 seconds to open. On a brand new
server
doing nothing else in a small company. I stuck with the present
version
which makes 'only' a few hundred SQL queries for the same page.
*twitch*
Reminds me of Movable Type. Now I need to go and start drinking to
make the pain go away, and it's not even lunchtime yet.
After successful login - not that this was in any way guaranteed - MT
would bring up a front page. The particular kind of hate depended on
the version number:
In MT 3.34, this page contains a list of all blogs you're allowed to
poke at, and the count of posts and comments in each. This is done
with the ObjectDriver ORM, a whole world of hate in itself. Anyway, it
basically does "SELECT COUNT(*) FROM mt_entry WHERE entry_blog_id = ?"
and ditto for comments.
This is fine if you've got a tinpot personal blog. Not so great if
you've got a multi-gigabyte PostgreSQL database and you've just told
it to do a full-table scan across the two largest tables umpteen times
for each login or return to the bookmarked front page.
(There are rumours that I hacked the MT core to skip the count and
just generate random numbers. These are false, although I did jokingly
suggest it. I actually wedged in a ten hour cache on results, so only
one poor sucker per day had to suffer.)
MT 4 found a new way to suck. Instead of this COUNT(*) malarkey, it
has a dashboard thingy. Which by default includes a RSS reader so you
can read "important" announcements from SixApart. So on every visit to
the home page, there's now an outgoing HTTP request, which is nicely
blocked by the corporate firewall and stalls MT until the TCP
connection times out. Sure, you can delete this widget but the fucker
always seemed to reappear again at an inopportune moment.
Surprisingly, some of the users did actually manage to log in before
their browser timed-out the request.
[2] MD5($plain_string) - yay PHP namespaces!
*shrug*
It's not too much different to "use Digest qw/ md5 /;", really, except
that it's imported whether you want it or not. Sometimes procedural
interfaces are just what you need. Zealously avoiding it gives you
something like Java.
[3] I despise web forums.
*twitch*
No, I shall stick to just one hate per post, except to note that the
blasted things are, of course, inevitably written in PHP.