Mailman chronicles

ok, so you know mailman? But how to fetch a subscribers list without using the admin interface?

Mailman does not use a database nor does it store a list’s subscribers in some plain text format. So how to start? I searched the mailman mailinglist archive and didn’t find a clue. I looked a bit at the code, but it’s hard to get started if you’re not into python. ๐Ÿ˜‰
By searching the mailman dir I found a .pck file.. It’s a pickled file. ๐Ÿ™‚ This seems to be the Python term for serialization. So I found a mailinglist in its pickled state which seemed to contain the subscribers. Mmm, okay, let’s download the mailman source and find the usages of the pickle library.. Got it! ๐Ÿ™‚ So hooray, fire up that python eclipse plugin that I’ve been eager to try out on a real piece of code, open up those nice python references and let’s unpickle!

Ehrm.. wait a second.. Apparently, downloading the source code can reveal other interesting parts of mailman. Like, for example, a script that lists all subscribers? =)

Another lesson learned with open source projects: FIRST download the source, before you try to hack it in yourself ๐Ÿ˜‰ Okay, looking at the mailman installation dir would have been sufficient too, but who likes to search some custom installed linux distro over some crappy remote connection? ๐Ÿ˜‰

There is still one step to do: how to get that script’s output on a webpage? One could try cgi or php for example. I looked at how mailman does it, but I guess it uses some precompiled ‘trusted’ executables for that hooked up to apache. After writing a php script, I realised it wouldn’t run on a normal user account, d’oh ๐Ÿ™‚
The problem is not the mailman script itself, but the mailman databases it tries to open. The pickled mailing lists are only readable for users in the mailman group. I didn’t want to open a security hole (everyone has already enough spam), so I set up a cron job which executes the mailman script and puts the output readable to the normal user. It is not as cool as having the actual data, but having it on a daily basis is sufficient.

Belgian government fights spam

The Belgian government have set up a web site to inform its citizens about spam and how to avoid it. I think it’s a good initiative as it states some truly useful information a lot people probably don’t know. ๐Ÿ™‚

On the first page already (probably the only page most people read ;)), they state 4 basic rules (which I support 100%):

  1. Be careful who you give your address to.
  2. Don’t reply to dubious emails.
  3. When publishing your address on a site, make sure it is ‘camouflaged’.
  4. Protect your computer: use a firewall and virus scanner.

I think they deserve praise for the way they managed to condense the whole spam story and what you can do about it in just one informative page. ๐Ÿ™‚

If you understand Dutch or French (what about the German speaking Belgians? :)), read on here.

GoogleToolbarNotifier.exe

You may have noticed you have this process running, even if you’re not using Internet Explorer (I want to distance myself from any IE usage by saying I installed the toolbar for my parents :)). This post explains everything in detail. It’s an agent which tries to keep google as the default search engine. You can simply disable it in the toolbar settings by unchecking the item “Notify me on settings change”.
Unfortunately, it didn’t work in my case… I disabled the checkbutton on all 3 user accounts. I did notice I have a slighter newer version than the one on the google system blog: I have 4.0.1020. This version is even not documented yet in the Google Toolbar Changelog?? I decided to uninstall since my parents probably don’t use it anyway. ๐Ÿ˜‰

What’s wrong with MNG?

Recently, I wanted to make a simple animation to put on a webpage. I have a background image and a rendered 3D animation which should be on top of that.

When it comes to lossless image compression, PNG is my all-time favorite. It has layer support, full transparency, lossless non-patented compression, open format, … So the PNG-derived MNG would be a logical choice for animation, right? Wrong! ๐Ÿ™‚ Almost none of the current browsers support it out of the box! Mozilla supported it for some time, but gave up due to bloated implementation. Konqueror is the only one supporting MNG! Can you believe that? ๐Ÿ˜• Maybe you can, if you see the popularity of Flash. But what if you just want a simple animation? Is the loading of a full flash player justified for a simple animation? And why prefer a closed proprietary format if there are open ones? So I went on a quest for better formats. ๐Ÿ™‚ Continue reading What’s wrong with MNG?

Showing hierarchical category structure in sidebar

You may have noticed I upgraded my wordpress to 2.xx, once again. ๐Ÿ˜‰ It involves reapplying all those tiny modifications you forgot you ever needed to tweak that. My changes to the default wordpress theme:

  • adjust feed url to leave out the “feed:” part. I understand they want a new protocol for binding feed links to feed reader applications… Sorry, that’s not what I expect from a feed link; it must be the effective link to the xml feed and nothing else!
  • Adjust post date format to show the time too.
  • Change the header image.
  • Add some page counter code to the footer.
  • Probably some other stuff I’m forgetting right now..

But anyhow, what this post is really about, is that I finally figured out how to have hierarchical categories! I thought it really depended on the theme and searched the php files to find out where I could hack some hierarchy in. But it turns out the default theme supports this by default! ๐Ÿ™‚ That’s a nice surprise. I wonder why they don’t enable that by default? Why would I otherwise want to make a hierarchy in my admin and not see it on the front page?

Ok, almost forgot to explain how to enable it:

  • open sidebar.php
  • find “wp_list_cats(‘sort_column=name&optioncount=1&hierarchical=0’);”
  • change the hierarchical param to 1

mm, somehow have the feeling I already did this tweak before….

Mobile rss

When I bought my phone, I asked the salesman whether it sported a built-in RSS feed reader. The poor chap never heard of RSS before. ๐Ÿ˜‰

I searched SourceForge and came up with RssReaderMidlet. Feedburner seems to come out with an RSS reader too. It’s currently in closed beta, but still seems worth to keep an eye on..

I’m giving up…

*rant alert*
Okay, I fear I’ll have to face the truth: HostForWeb (the web hoster for this site) truly succeeded to mess thing up totally. First I couldn’t believe it: which web provider creates daily backups and fails to notice when something goes wrong? This server has been trouble from in the beginning. Complaints about the slugginess were heard, but not solved. They were talking about too much IO on our VPS. D’uh, if you have disks crashing, the RAID configuration becomes more stressed. ๐Ÿ˜‰ So finally, some disks probably stopped working totally, giving some signal to support. That’s too late of course. Still, after some time, they were solving the problem and everything seemed alright, no data lost. Except, there was a permission error on a temp dir which stopped the mysql server from working. So they decided to restore a backup. Alright for me, except… they forgot they didn’t make backups the last weeks… So data got lost!

I’m telling this all in one post, but I can reassure you reality was less smooth. It took days & weeks until they would admit this! Either HFW is totally understaffed, either there are too little experienced support people. In general I would not complain that much about HFW support, but this incident was simply over the edge.

Data loss could have been easily prevented. In my case, I only lost some mail and posts, but suppose you use your site for more serious ($ping$ping$) stuff? Still, I’m quite pissed off since I just wrote 2 rather long posts about my cell phone and about SED monitors. Oh well ๐Ÿ™‚

Anyhow, I tried to recover as much as could from any cache I could find on the internet. Google seems to cache quite fine, except the latest posts who were only a few days on the net. So I tried several blog searches which all had some pieces; some more than the other, if you digged deep enough.
The funny thing is, I just upgraded my wordpress the night before the data loss. So I _had_ a backup of the database, I _had_ a backup of my wordpress. If only they didn’t nicely overwrite my home dir with an older version :roll eyes:. So for me, it was a quite frustrating experience. ๐Ÿ˜‰

Sorry for ranting so much, but as you can see, I still can’t accept the facts.. ;-p

What I will do now, is repost all old posts with what I recovered from the internet caches. Where information is lost, I’ll link to this posts to clarify. I’m currently not in the mood to rewrite everything (I even can’t remember all the freaky details I like to whine about ;)). I will keep the original dates, so it may become a little confusing. =)

WordPress upgrade

Finally upgraded my wordpress to the 2.xx series. Seemed to be about time. ๐Ÿ˜‰ I hesitated a bit because I feared I would need to do special tricks to keep my Coppermine plugin working, but it seems to have survived quite fine, great plugin. ๐Ÿ˜› ๐Ÿ˜‰ To keep my blog in a solid state while upgrading, I installed a site-unavailable plugin. Worked OK. For spam catching, I thought Iรขโ‚ฌโ„ขd give the now included Akismet plugin, ….

Do NOT read more >>