betabug... Sascha Welter

home english | home deutsch | Site Map | Sascha | Kontakt | Pro | Weblog | Wiki

01 October 2007



Douglas Adams is reported to have given this nice quote:

I love deadlines. I like the whooshing sound they make as they fly by.
...and no, I'm not under a deadline myself. But observing the girlfriend on hers, I can't fail to notice some things. I think they teach you something about time and the significance of the moment. When one is so close to the iron gate of the deadline, one wishes to be able to bring back those days when giving a bit of slack for a few hours was just fine. What could be done in those few hours now!

I'd like to add that I'm in no way passing a judgment, except maybe on myself: I'm a lot into delaying stuff till it's almost too late. I have the notion that I've improved my manners in this matter, but currently there is no way to prove that :-).

Posted by betabug at 21:35 | Comments (2) | Trackbacks (0)
05 October 2007

Copy a Folder's Contents

One of those small things

Zwiki's new revision system uses a BTreeFolder2 to permanently store revisions. That's a wise decision, because those revisions can really pile up. Some wikis ran with an interim version of the code, where it created a normal folder to hold revisions. What I did there is to rename the folder to "revisions_orig", create a new "revisions" folder and copy the contents over. Here is a little python script that does the copying over, when the cookie used by ZMI copy & paste can't seem to hold them all. Nothing special, just one of those posts to remind myself...

Continue reading "Copy a Folder's Contents"
Posted by betabug at 11:22 | Comments (0) | Trackbacks (0)

October Coding Haiku

Some things just come up

Not sure which category to put this in, it goes somewhere between "life" and "digital"... here is something that just came up:

writing fresh new code
not seen rain for three long months
all tests will fail now

If I had put it into the "life" category I would have had to explain now that the code I program has tests "built in", and those tests "complain" if new code hits on presumptions older code is building upon. Bah, explaining doesn't help.

Posted by betabug at 12:08 | Comments (0) | Trackbacks (0)
09 October 2007

Some Days Start Strange

Just some things

Woke up at some early time before dawn and distinctly heard rain come down. I thought: "Wonderful, finally there's some rain!" and slept again. When I got up the sky was clear blue, with only a hint of small white clouds, no rain and no wet streets. Did I dream?

Went to work and on the part of my way to work where I pass through a very low traffic street, there was this lady with a big, expensive Mercedes who tried to take a turn on a corner. Now, our streets aren't very wide, and they are filled up to the brim with parked cars, but that particular corner wasn't even so tight. She asked me if I could have a look so she wouldn't scratch on one of the cars parked in the corner. I waved her through and wondered how she manages to keep that expensive toy car in one piece on other occasions.

Posted by betabug at 09:24 | Comments (6) | Trackbacks (0)
13 October 2007

HelMUG Meeting on Sunday

Mac chatter

Tomorrow (Sunday) is another HelMUG (Greek Mac User Group) meeting. Time: 11:30. Place: Cafe Ethnikon on Sintagma square. I'll be there for some friendly Mac chatter.

Posted by betabug at 23:25 | Comments (0) | Trackbacks (0)
17 October 2007


Block me with a 403

Monday evening I thought about yet another way of making life on my site difficult for comment spammers / email harvesters. I attempted to get a Zope product that would make lookups against the Project Honeypot http:BL blacklist ...and I got that one up and running in about 1.2 hours. In the evening it was basically working. Spent some more hours on Tuesday for writing tests and cleaning up.

Right now it's working/testing on my blog, and some bots already got a bloody nose and a 403. Need to write up some more documentation and then it's time for a first release, even if parts of the functionality are still a bit rough, especially towards changing the policy and glueing in with Zope CMS products. Coming soon at an INSTANCE_HOME near you!

So, what's it doing? It's looking up every visitors IP against a DNS blacklist, much like a lot of SMTP servers are doing nowadays. If the visitors IP is listed in the Project Honeypot database, a simple policy decides to let the visitor view pages or reject them with a 403 "forbidden" HTTP response. There are already a couple of modules around to do these lookups, e.g. for apache 2. My reason for coding this up in Zope is that a.) I don't run apache 2 and b.) I'm not sure that every request needs to be looked up, e.g. stylesheets, images, etc. are not requested by "my" bots anyway.

Update 2007-10-24: The code is released now!

Posted by betabug at 10:16 | Comments (3) | Trackbacks (0)
19 October 2007

I Want my Darcs on $EXOTIC_PLATFORM!


When I started dabbling with Zwiki I had to install the darcs revision control system on my Mac laptop. Scared me at first, but was easy enough. I got to love darcs, it really is just how software version control / revision control / source code control (choose your own term) is meant to be. Basically it gets out of the way of the programmer. I mean I started to enjoy it. But...

I just have one (in numbers: 1) small problem with darcs: It's written in Haskell, and there is no Haskell compiler that will run on my exotic hardware/OS combination. Yes, I like running OpenBSD on MacPPC hardware. There is a port of Haskell for OpenBSD but it's not on macppc.

I'm about to release some Zope products, currently in my own CVS repository. So I casually looked at other revision management softwares, hoping for one to come along and do what darcs does (and still hoping that I'd get darcs anyway, so I can use the same thing I use for Zwiki). But most of the descriptions seem to point out that darcs is just what I want. Today I found this post called bzr vs darcs which ruled out bzr for me too... gotta contact that OpenBSD porter now, maybe there's a chance to get Haskell on macppc anyway.

Posted by betabug at 11:13 | Comments (0) | Trackbacks (0)
23 October 2007

Channels of Communication

57 Channels and Nothing On

When I come in to work in the morning I "wake up" my workstation [1], and then I start up communications channels. There is a telephone on my desk, but through the computer, there is much more communication these days. Let's see what I do to communicate:

  • open for my company mail account
  • open iChat for company internal chat (using Bonjour only) - no more yelling through the open office
  • connect to my server, in a screen I have:
    • AIM/iChat (via bitlbee displayed in my irc client irssi)
    • irc (4 channels on two irc servers)
    • private mail account
  • open RSS feed reader for some work related and a few private feeds
  • open Skype

So, there are about 10 different channels through which more or less personal messages can reach me (not counting the phone). Even if I don't count multiple accounts (mail, irc channels) I end up with 7 channels of stuff reaching me. And there I was, thinking of the telephone as an annoyance.

[1]As they say: Buses stop at a bus station, trains stop at a train station, work stops at a workstation.

Posted by betabug at 14:33 | Comments (0) | Trackbacks (0)
25 October 2007

Slacking, Plans, and Darcs

I'm not justifying... or am I?

Yesterday evening I stayed at home and slacked. Thank $DEITY for having a net connection at home again, so the joy of mindlessly clicking through web page after web page is available to me. Actually I had some plans on my list, like porting GHC and then darcs to OpenBSD/macppc (yeah! more like "attempting to..."), making my miniplanet product (the stuff that powers my "Other Weblogs" links) ready for release... but I slacked. I'm not feeling too bad about it. The last few days whenever I wasn't out I hacked on various things to get HoneyPotBL out of the door, so maybe my mind just wanted a rest...

Continue reading "Slacking, Plans, and Darcs"
Posted by betabug at 11:47 | Comments (0) | Trackbacks (0)

vi temp file + Zope webdav setup

Just a "note to self" post

These settings in ~/.exrc (or ~/.vimrc) will keep a lot of vi (or vim) temp files out of the way when accessing a Zope database over WebDAV:

" zope / webdav stuff, avoids creating new files on writing
set nobackup
set nowritebackup
" keep swapfiles in my home directory
set dir=~/.tmp

(Note to others: Accessing a Zope database over WebDAV works fine with the built in Mac OS X WebDAV client, dunno about others. I use it over https.)

Posted by betabug at 19:21 | Comments (0) | Trackbacks (0)
27 October 2007

Smoke Detector in Place

It's about time

Maybe someone might remember the story Tired and Buying a Smoke Detector in which I was woken up by neighbors who noticed smoke coming out of our apartment. I resolved to buying a smoke detector. Some days ago I finally (!) put it up. Promptly I was asked by my new flatmate what this thing was, so I had to explain the story. Hope we'll never need this thing. But I'm all for doing security stuff in the sense that you'll never need it, kind of Swiss I am there.

When I was roaming Europe in an old 2CV, I had all sorts of spare parts with me. The stuff that broke was never what you had in spare parts with you. So more spare parts in the car. Did I mention I got a smoke detector now?

Placement of the smoke detector was a bit of a riddle. I first thought it goes into the kitchen, but the docs say that's a big "no". Cooking fumes will clog the detector and cooking smoke may trigger false alarms. OK, so it goes into the hallway, central point of the place. More checkpoints: Minimum distance from walls, place central on ceiling, highest point, but not when roof is going up, ... etc. etc. Well, all that stuff can't work here. Our ceilings are really high, there is a horizontal structure crossing it (so the highest point is not in the flow of the smoke, kind of like the "roof is going up" situation), the hallway is not very wide (distance from wall...). In the end it went on the horizontal structure. Hope that does the trick if it ever has to.

Also, as for buying the smoke detector... I had looked at a few electricians shops in the neighborhood. They did not have something so fancy. I'd have to go to the center, around Athinas street. Which I didn't, because Eleni was at that time flying over from Germany. She happened to pass by a big electronics store there and picked up a smoke detector for something like 6 Euro. I must admit it was the cheap way out of hunting it down and learning where these devices are sold in Athens. But at some point lazy was good enough.

Posted by betabug at 21:23 | Comments (0) | Trackbacks (0)
28 October 2007

This Week in Pictures

...more or less this week
Winter time, getting dark earlier

Here are a couple of pictures I've taken more or less in the last week or so.

No particular reason, no particular topic... ranging from the change of time, the sea, storage, to demonstrations with bicycles.

Continue reading "This Week in Pictures"
Posted by betabug at 18:04 | Comments (0) | Trackbacks (0)
30 October 2007

Quasi-Normal in Numbers

How much is that?

Zope programmers learn sooner or later that persistent objects don't like dictionaries and lists as attributes. Why? Because to keep their values around you have to assign them back to the object - and that will write a new revision compromising all of the object to the ZODB. Which wastes space and can lead to more ConflictErrors. But how much space? Yesterday evening I found one such case in Zwiki and in moving the dictionary in question to a BTree, I wrote down some numbers, in the process also rediscovering the ZCatalog in there...

Continue reading "Quasi-Normal in Numbers"
Posted by betabug at 11:34 | Comments (0) | Trackbacks (0)
31 October 2007

Black is the New Black

Concentrating in black space

While friends and fellow Mac users around me already start to install Leopard, I'm holding back till 10.5.1 or 10.5.2 - I'm way too conservative. Rodolfo mentioned this morning that he's glad about "spaces" (which provides "virtual desktop switching"). I'm using a different approach. When I want to concentrate on working on a single task (usually in the Terminal, hey, I'm a programmer!) I start up Backdrop and MenuShade, then I hide the dock. I have configured Backdrop and MenuShade to provide me with a completely black screen. I bring the Terminal to the front and voilà! instant concentration. Or so.

Posted by betabug at 09:26 | Comments (5) | Trackbacks (0)