Failing justice system
Yes, yes, I know, no justice system is infallible, but I can become furious about some results. Hanneke got the results from her hearing today and they were in favour of her husband. The hearing was about custody of the kids. Although both parents had negative points (her almost-ex-husband is an alcoholic, she herself takes medication for her pessimism) and they both did things that were at least a little strange (he abused her and threatened my father, she ran away from her children when she just couldn’t cope with everything anymore), I still think the judge made a very poor decision.
How can you leave children in the custody of an alcoholic? Why put children through that? What the hell is wrong here? Okay, so she’s a bit pessimistic, at least she’s doing something about it by taking those drugs. He doesn’t even recognise he’s addicted to alcohol and when someone tries to tell him, he balks! Even when that someone is a psychiatrist! I think that’s very irresponsible behaviour. And don’t get me talking about men who feel it necessary to hit their wives, I’ll keep going for hours. Noone, but I mean NO-ONE has the right to hit another and at the very least their wives! That’s just lunacy. If you feel so strong a dislike for someone, divorce them but don’t start getting physical.
Why can a judge say “it’s better to leave them where they are”, when he knows the guy he’s putting in charge of them is an abusive alcoholic? Why is that justice? Which part don’t I get about this? Is it because they’d had to move to Limburg from Drenthe? Of course, that’s a large thing for a child, but people move all the time, kids are far more resilient to those things than “grown-ups”.
I say, our justice system has failed. I’m dreading the day we’re called and getting to hear he’s beat up one of his kids. I really fear for that day.
Comments Off
Kupu for TWiki on Debian Sarge
Okay, since we’re using TWiki with our new customer, I created a twiki-kupu package, so it’s easier to install Kupu for TWiki under Debian Sarge. You can find the package here:
- twiki-kupu_1.0b4.1-1_i386.deb (if you only want to install it, you’ll only need this one)
- twiki-kupu_1.0b4.1-1.diff.gz
- twiki-kupu_1.0b4.1-1.dsc
- twiki-kupu_1.0b4.1-1_i386.changes
- twiki-kupu_1.0b4.1.orig.tar.gz
You’ll need the TWiki package from the Debian Unstable release, though, since Sarge doesn’t have those. They work splendid on Sarge. Don’t forget to read the README.Debian from the twiki-kupu package, or else you’ll find it doesn’t work ;-)
Have fun!
Comments Off
Google prefetch, the drawbacks (2)
Ah well, my addition to .htaccess didn’t seem to work so I removed the Recent Searches from my frontpage. Let’s hope it’ll stop the deadends.
Google prefetch, the drawbacks
Recently Google enhanced their search engine for Mozilla/FireFox users by adding the prefetch-functionality to their search pages. Not only is that quite redundant in my point of view (since most people have broadband these days), but it also messes up my logs! Since I wrote an article about Constantine and one about a certain torrent, a Google search for “constantine torrent” turns up my blog at the top! And because those results are prefetched, they get displayed on my site (a nice little feature I added to WordPress with a plugin from chait.net) and therefor my blog is found earlier when someone searches on those keywords! We’ve got a loop here, folks…
So, I tried something but I’m not sure yet if it’s going to work. I added a few lines in my .htacces, like some people talked about on a forum on webmasterworld.com. The lines are:
SetEnvIf X-moz prefetch HAVE_X-moz
Deny from env=HAVE_X-moz
I’m not sure if those need to be in a <Location>-directive or something. So I’ll have to wait to see that. I hope this stiffled all those unnessary hits to my blog. I like it when people visit my blog (that’s why I keep one, you know), but they should want to be here, not visit because they’re searching for something else.
Any suggestions are of course appreciated. Let’s first see if this solves the problem.
Cyrus + SASL2 + LDAP + automatic account creation
What I first thought would be several hours work, became two days worth of work. Therefor I decided to explain some things here, so others can benefit from the time I spent.
First, let me explain what we want to achieve. The Cyrus Project has several deamons to distribute mail with. The nice thing about Cyrus in particular, in my opinion, is SIEVE, a protocol to filter mail on the server when it arrives. There are some other benefits, of course, but SIEVE was the primary reason for us to implement Cyrus at this customer site.
The first thing we noted was the steps that had to be taken to create new mailboxes. Apparantly, you’d have to create each mailbox by hand and since we’re implementing LDAP too, that would be nasty, since we’d had to script it into phpLDAPAdmin, the programme we use to let the customer create the employee accounts by themselves. Since Cyrus would need a password, we had to hardcode it in the phpLDAPAdmin template, which is most definatly insecure, or have the customer insert the password each and every time he added or deleted an account, which is a drag.
Luckily, there’s a solution, created by the University of Athens. It’s a patch to have Cyrus autocreate the mailboxes on succesful login or when an email arrives for that user (a user that exists in our LDAP-database, of course).
Alas, Debian Sarge doesn’t have that patch included in their distribution, so I had to work for about a day and a half to make my own packages to have this working. In the future I’ll probably distribute them in an apt-able repository, for now you’ll have to download them yourselves:
- cyrus21-admin-autocreate_2.1.18-1_all.deb
- cyrus21-clients-autocreate_2.1.18-1_i386.deb
- cyrus21-common-autocreate_2.1.18-1_i386.deb
- cyrus21-dev-autocreate_2.1.18-1_i386.deb
- cyrus21-doc-autocreate_2.1.18-1_all.deb
- cyrus21-imapd-autocreate_2.1.18-1_i386.deb
- cyrus21-murder-autocreate_2.1.18-1_i386.deb
- cyrus21-pop3d-autocreate_2.1.18-1_i386.deb
- libcyrus-imap-perl21-autocreate_2.1.18-1_i386.deb
Now, I’m not a pro in building Debian-packages, but these work on our system. If you want to build the packages yourself, do a apt-get source cyrus21-imapd and apply this patch. It contains every change I made to the original package, including the changelog and everything. If you fix mistakes I made, be sure to send me your own patch :)
Also, to install the packages, make sure you don’t have any other cyrus package installed already. Do a apt-get remove on all of them and then install these new packages.
Now, for how to change your configuration so it’ll work correctly:
SASL configuration
I’m not saying I completely understand the way this works, but I’ll tell you the steps I took to make this work.
- After installing the packages, I editted /etc/pam.d/imap and added the following on the TOP of that file (after the normal comments):
auth sufficient /lib/security/pam_ldap.so
account sufficient /lib/security/pam_ldap.so - Then I edited /etc/default/saslauthd and uncommented the line:
#START=yes(remove the # in front of that line)
- Run:
/etc/init.d/saslauthd startas root (we use sudo for that, use it too, saves you a lot of trouble).
Right, if all is well, we now have saslauthd running. Let’s move on to IMAPd.
Cyrus IMAPd
Okay, this is some tricky stuff, because we’re going to make things unsafer. The best thing is to have IMAP eventually work only over an SSL-encrypted connection (imaps). The thing is, SASL can’t use CRAM-MD5 or any other form of encryption when retrieving the passwords from LDAP. That’s because our LDAP setup stores the passwords in ssha hashes, not in md5. Those are (of course) incompatible and so the server has no way of authenticating a md5 password. We’ll have to use plaintext passwords. And that’s why you want to use imaps instead of unencrypted imap. I’m not going to explain how to have Cyrus do imaps here, you’ll have to figure that out on your own (lots of docs online, though).
These are the steps to take to have Cyrus IMAPd use the correct authentication method (ie. SASL2 using the LDAP backend):
- Edit /etc/imapd.conf and change the following settings:
sasl_mech_list: PLAIN
sasl_pwcheck_method: saslauthd - If you don’t want to create every mailbox in Cyrus by hand, but have mailboxes automatically created when a user succesfully authenticates, change/add the following lines in /etc/imapd.conf:
autocreatequota: -1
autocreateinboxfolders: Sent | Drafts | Trash | SpamThe ‘-1′ doesn’t put a maximum on the folders that are created, but does allow autocreation.
- Restart Cyrus with
/etc/init.d/cyrus21 restartas root.
Okay, that should be it.
Test the setup
We’re going to use imtest for that. Change ‘cvd’ in the user that’s available in LDAP that you want to authenticate with.
imtest -a cvd localhost
You’ll get a lot of text which end in the question for your password. Give it to the server and it should respond with:
S: L01 OK User logged in
Authenticated.
Security strength factor: 0
You can leave with Ctrl+d. Check /var/spool/cyrus/mail to see if the mailbox is created.
This should be it. Does it work for you? Leave a comment! It doesn’t work for you? Ask a question in the comments :) Either way, I like comments :)
Baukje died
Today, while I was working in Eindhoven, one of our puppies died. We think it was a heart attack and shock that killed her in the end. I’m sad about that, but I try to lift my father’s and Hanneke’s spirit by reminding them we still have 6 puppies left. But still, it’s easier to handle stillborn puppies then when they die after a few days.
Endscore: 7 puppies
So, I woke up hearing the vet arrive again. I wasn’t worried about that, I knew she would come again to check if Anouk was really through and to give her a final shot to make sure every piece of garbage is gone from her womb. When I dressed and went to see her, Hanneke and dad told me there are 7 puppies. As usual, you can see them here. The page is in Dutch, but I think you can figure it out. The links on the bottom are pointed to the different sets of pictures I put online.
Two puppies died during birth. One was born with an open stomach, no chance for life. The last one was stillborn, which can happen in a litter like Anouk’s. Although the echo told us there should’ve been 10 puppies, there were only 9 in the end. Which means the echo was a bit uncertain or 1 puppy was incomplete in an early stage and taken back into Anouk’s body (a normal thing, that, although it may sound a bit strange).
So we have 7 puppies, alive and kicking. And making noise. And suckling loudly at Anouk’s breasts. And making a mess (although Anouk is cleaning their mess herself, of course, when she stimulates their intestines by licking their tummies). They’re so cute, though. Go take a look at the pictures, you’ll like them.
The only downside is that they’re all black. I don’t really think that’s a dowside, but Hanneke told me totally black puppies were harder to sell, because most people like their dogs to have a bit brown and black together. We’ll see. I still think that will not be a problem, because they will, of course, be beautiful. And very sweet. Although a little bit on the less-than-smart side, but that’s their father’s genes ;-)
Six puppies and counting
Well, all seems well now. At the time of writing, six puppies are born and considered healthy alive. That may sound morbid, but you only truly know if they survive the first few days. At least they’re breathing and suckling on their mother’s breasts. At the moment there are three girls and three boys, so that’s nice and even.
As I told you before, birthing didn’t go really easy for Anouk. The vet came and she reported she re-read her report of last year about Anouk’s first litter and she expected things to go even worse than last year. She did however give Anouk a “Python”-shot, to stimulate her contractions, something which normally starts working after about 30 minutes. She told us we shouldn’t expect an easy labour and should just wait until Mother Nature decided it was time for the birthing. Although we could of course call her when we thought it necessary, she wouldn’t be surprised if the second pup (the first was already born) didn’t arrive until the next morning. Man, was she wrong.
About 10 minutes after she left, Anouk had contractions again. Almost 10 minutes later, the second pup was born. All went well, so far. The other four followed promptly, with short intermezzo’s, so Anouk could take a little rest.
Birthing is an amazing and disgusting thing. It’s amazing because, you know, a new life enters this world. That’s an absolutly fabulous thing to watch. Such a small, wet, sightless, deaf, squirming thing that takes its first breath, you get the feeling it takes it breath right out of your lungs. Life is such a wonderful and precious thing. And it’s a disgusting thing because the afterbirth is eaten by the mother-dog. Trust me, not something you’d like to see.
My father’s girlfriend, Hanneke, and my sister, Kitty, were both panting for Anouk when she had contractions. They laughed about that, but couldn’t stop.
When Hanneke’s daughter, Marina, phoned, I told her Anouk was giving birth and of course she asked promptly if she could come over this weekend :) Such is the beauty of birth, everyone wants to see it.
I’ll not be putting up photographs of it. You can look at those on my father’s site. The photo’s are here. Have fun. I know I’m having fun! I’m off to bed now. My father and Hanneke will stay awake all night and I have to attend dancing-classes tomorrow, so I need my sleep. They’ll probably wake me up around 10ish so they can go to sleep themselves. I told them they could do that. Let’s hope they stay awake for a long time ;-)
Vet was here…
And gave Anouk her shot. Now, not more than 15 minutes later, she’s already pushing for the next one. Looking good.
Trouble in puppy-land
Darn it. Same trouble as last time. Her first pup was born at 17:20u and healthy at that. But still no second one yet. We’re getting worried and called the vet. I already told you about how her first litter took three days with christmas, we had the vet come over that time about six times. She wasn’t happy with that, because, after all, it was christmas. Now it’s weekend and vets in the neighbourhood take turns on the weekend-shift. But the same vet as with christmas 2003 is on duty this weekend. What are the odds?
I’m worried about Anouk and her puppies. I do hope she’ll start delivering them normally after the vet has been to give her those shots again. I’m not too thrilled about those shots. Yes, really worried. I’m gonna go play with Fluffy now, she needs some attention too.
Anouk’s having her babies
Well, this morning, Anouk’s water broke. So we knew she would be delivering soon. During the midday, Monique and I decided to go walking with Aagje in the forests, but after about 30 minutes, Hanneke called me. Anouk was delivering her first pup. Now, more than an hour and a half later, we’re awaiting her second one still. You can look at the pictures I’m putting online at irregular intervals here.
I’m kinda expecting this to take a long time. Her first litter took 3 days (and she started on Christmas Night 2003, so you can imagine it was a wonderful christmas that year) and that were only 5 puppies. We expect things to go faster this time, but you never know for sure. I say, let’s have Nature take her course. It’ll all work out well, I’m sure. I’ll keep you posted when I’ve got more news. Go have a look at the photo’s now. The page is in Dutch, but the links only refer to picture-pages.