betabug... Sascha Welter

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

Entries : Category [ digital ]
Things having to do with digital world items go in here.
[digital]  [language]  [life]  [security]  [media]  [zope]  [tourism]  [limnos]  [mac]  [athens]  [travel]  [montage]  [food]  [fire]  [zwiki]  [schnipsel]  [music]  [culture]  [shellfun]  [photography]  [hiking]  [pyramid]  [politics]  [bicycle] 

26 August 2007

Burned Internet Connection?

While the country is on fire

While Greece was burning yesterday, at around 14:30 - 15:00 local time the Greek Internet provider OTEnet and likely the parent company OTE (who is also the "old" telecoms monopoly here) had major problems...

I noticed it first because the HelMUG server was offline. HelMUG's server is housed by sponsorship in the OTEnet facilities in Thessaloniki.

Some searching around revealed that it wasn't just our machine, instead all of OTEnet Thessaloniki was unreachable. Even was unreachable, later on dropping from DNS too [1]. Due to the exceptional situation in Greece at the moment I hesitated to call the support hotline (this is after all just a very minor problem compared to the fires that burn forests and houses, and kill people). Later I did, and heard a prerecorded message that there are problems with Internet access in all of Greece. I hung up.

At that point the OTEnet network wasn't reachable from Greece through the network of Vivodi (all traceroutes ending at the AIX, the Athens Internet Exchange), nor from outside the country (traceroutes ending in OTEnet's peering points in London or Frankfurt [2]).

For the HelMUG server we started setting up a small site on my server to inform visitors about the problem. At the moment when it was ready two things happened, almost at once:

  1. My server dropped off the net, due to the nonprofit provider where it's housed having routing problems. It only came back this morning at 9:30 Greek time.
  2. OTEnet came back, at about 21:30 to 22:00 Greek time. HelMUG was back online, but the outage info redirect still pointed to my unreachable server till I changed it back and the change made it through the DNS caches.

1: The situation inspired aanriot to coin the term OUZOnet.
2: While on Alonissos this summer, we enjoyed some of the misspellings in translated restaurant menus. Now while tracerouting around, I came across this little gem: (

Posted by betabug at 10:11 | Comments (1) | Trackbacks (0)
10 September 2007

veni, vi, map!

Fun editing

Yesterday's pet riddle: Editing a large file, where quotation marks should become "smart" (or typographical) quotation marks. The file being LaTeX, it also contained a big heap of quote marks in code, mainly used for German umlauts (which to LaTeX are written as {\"a}). So I opened the file in vi for some playing...

Step one was to search for the quotation marks, but not giving me all the German umlauts: /[^\\]" would do that trick.

I could then go and change "text in quotes" to "`text in quotes"', by moving the cursor a bit over (the regex stops at one character before the ") and inserting ` for the opening quote char or ' for the closing one. That gets boring pretty fast in a large file.

Next thing was then to define two shortcuts, or "maps" as they are called in vi land:

:map v la`ESC
:map f la'ESC
where the ESC is produced by hitting control-v and then Esc on the keyboard. Note that I'm redefining existing command keys, which usually is a bad idea. But this is a temporary solution, I'm not putting this in any settings file. Next time I'll start up vi, these shortcuts are gone again.

Now I went through the file simply by hitting "n" (for "search next") and then typing "f" or "v" for closing or opening quote marks. It becomes a game.

Posted by betabug at 13:02 | Comments (0) | Trackbacks (0)
04 October 2007

16 Bullets of Stupidity to Windows

How stupid is that?

Yesterday I set up a laptop with Windows XP to use our wifi network at home. Which is "secured" by WPA. With a password of about 16 random alphanumeric and non-ascii characters. For one thing, this laptop has a French keyboard ("AZERTY")... what a crazy thing! Imagine a little kid taking apart a keyboard and then putting the keys back together any random way they liked it, that's how I felt hunting for the keys. So far so good.

But the next thing is that Windows XP wants me to enter the password to the wireless network (WPA password), without an option to see what I type... just the bullets, young man! It's like the kid from our previous image blindfolded you. Now that would be one stupidity which could pretty much be pushed on the "security" excuse, "look, nobody can shoulder surf while you enter that password" - a password which I have written on a piece of paper on our apartment bulletin board [1]. Idiots.

There's more: It wants the password to be entered twice to match them. What's the use for that? This procedure is meant for creating passwords, you morons! The wireless access point will check the entered password good enough.

What does this say about the people working at Microsoft? I can't believe anybody thinking up, coding up, or letting pass tests such a sorry excuse for a "user interface".

[1]The point is to keep people who are outside our apartment out. When you're in my home you're free to wifi of course. So no use in making the password such a secret.

Posted by betabug at 14:44 | Comments (3) | Trackbacks (0)
05 October 2007

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)
14 October 2007

HelMUG, Wetter, programmieren und Die Katze auf dem heissen Stoffdach!

Vom einem zum andern

Das HelMUG-Treffen heute war ganz nett. Zwar sind wiedermal nicht allzu viele Leute dagewesen, aber wir konnten nett über die Befindlichkeit des Vereins reden. Im Grunde läuft alles ganz gut, kein Krach, kein Streit, keine Katastrophen. Aber eigentlich könnte etwas mehr laufen (nein nein, nicht von Krach & Katastrophen). Nur, wenn die Leute nicht wollen, dann wollen sie nicht. (Weiter geht's übers Wetter, Programmieren... und die Katze...)

Katze auf 2CV

Seit dem (zumindest von mir) lang erwartetem Regen ist es einiges kühler geworden, 17° ist ganz schön kalt. Bins halt nicht mehr gewohnt. Obwohl gestern war's noch wärmer, fand auch diese Katze hier. In unserer Strasse war ein fetter, roter 2CV [1] geparkt. Katzen lieben 2CV-Dächer, da ists schön weich zu liegen:

Nach dem HelMUG-Treffen [2] gings dafür zum Barba Yannis nach Exarcheia, was feines essen. Von da nach Hause, wo ich an Zwiki weitergewerkelt habe.

Dabei ist mir wiedermal aufgefallen, dass die bekannte 80-20 Regel auch bei Open Source Software gilt - und sie dort auch eine ganz banale Grundlage hat: Die Leute (laut Faustregel 20%) die den grössten Teil der Arbeit (laut Faustregel 80%) machen [3], bringen das ganz einfach deswegen zu Stande, weil man im programmieren "drin sein" muss. Wer viel Programmcode schreibt, dem fällt es leicht viel Programmcode zu schreiben, er/sie muss nicht jedes irgendwas nachschauen, jede Verzweigung nachvollziehen, weil alles "erst grad schon gesehen" noch frisch im Gedächtnis ist.

Mich selbst seh ich an der Grenze von der grossen Gruppe die wenig macht, aber nach oben strebend. Um da hin zu kommen nehme ich mir vor immer etwas mehr zu machen, irgendwann werd ich die kritische Masse schon erreichen :-)

[1]der 2CV wohnt hier in der Nähe und aufgrund der Parkplatz-Situation steht er mal hier mal da im Quartier.
[2]HelMUG ist die Griechische Mac User Group.
[3]Code schreiben, Bugs fixen, Dokumentation schreiben... also "Arbeit machen" nicht im Sinn von "Arbeit verursachen".

Posted by betabug at 20:39 | Comments (0) | 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)
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...

For HoneyPotBL I had a list of improvements I wanted in the code itself. Stuff I wanted to do before others would see the code. This is the power of open source: If it just has to work for me, I might be fine with something a little bit kludgy, but once I release the code, I feel like someone is looking over my shoulder, pointing, and asking: "Whoah! what's that ugly thing doing there?" So I get rid of that ugly thing before anybody sees it (feel free to point out more ugly things in my code once you see them). Also unit tests, because they raise confidence in my code [1].

Then I needed/wanted repository access for other people. It turns out that's fairly easy with darcs, because I can just rsync the repository directory with all files to a web server, and people can check out there. No plugins, configuration, add-ons, extra-services needed on the web server. Just static files. That's incredible cool and easy! People can then send me patches by mail (automated through darcs on their machines), I can apply them to my local repo, and rsync to the server again. I've set up a subdomain on my webserver for this, just to keep logs separated and make robots.txt exclusion easier.

Also I set up another wiki on my server. This time within the domain. I need something more flexible than static web pages, but not as date-fixated like my weblog. The wiki just has the most basic featureset (and it's not open to edit for others). Still fighting a bit with finding the ideal layout too. But it's now ready to release other tools (like the miniplanet) too. Thus I spent my free time, up until yesterday when I slacked :-)

[1]I think I found a fairly cool solution with the unit tests for HoneyPotBL. Problem is, to actually test the DNS lookups, you need to have an access key from Project Honeypot. But I can't provide one in the code, because you can't have mine. So you can set up your own access key in an environment variable before running the tests and it will use that. If you haven't set that up, the test will inform you what to do.

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)
01 November 2007

feedparser media:title problems

Then there's a workaround...

For some days, some of my "other weblogs" feeds had displayed something funny in some of the entries. For example the titles of Adamo's posts were shown just as "adamo". Turns out there is a little bug in the python feedparser module... it's already a submitted issue, that the media:title tag is misparsed as title. For me this happened with two feeds from Wordpress blogs. The workaround was to use the atom feed instead of the rss feed, as described on the MiniPlanet wiki page.

Update: There's even an unofficial patch for the issue. I haven't tested this one yet.

Posted by betabug at 18:47 | Comments (0) | Trackbacks (0)
07 November 2007

Old Code

Hey there, nice to see you!

Just now I went to fix a little bug I had in one of the oldest pieces of code I wrote in this company. It's like seeing a family member I haven't visited for a long time. It made me think of "back then" when I started here. How long ago that was, how nervous, unsure of myself I was, but also how happy I am here. The code isn't really that great, I was out of touch with hacking for some time back then.

But then, that piece of code does a good job if you take the crufty bits aside, there is some elegance in there. I will give it a cleanup soon, and it will be with loving care, none of that "I hate this old code I wrote, lets just rip it all out and write from scratch". The idea of that code has proven to be very successful, let's go for something of a family reunion.

Oh yes, that bug. It's gone. Was gone in no time actually, I still know my way around in that code, and it was kind of obvious were the bug would be sitting.

Posted by betabug at 15:22 | Comments (0) | Trackbacks (0)
08 November 2007

Cables cut: OTEnet (and HelMUG) Offline

Cuts the mustard

Since this morning 11:00 the HelMUG server had been unreachable. Net traffic in all of Greece was sucking real bad, at times I had packet loss of 90% in getting abroad. Apparently optical cables were cut in two places at once: in Κάστρο Βοιωτίας (Kastro Viotias) and Χιλιομόδι Κορινθίας (Hiliomodi, Corinth). Don't ask me where that is. See the official announcement from OTEnet (in Greek). I don't know how much of OTEnet is out, but the OTEnet hosting in Thessaloniki is definitely not reachable.

Update: about at 17:00 connectivity was back to the HelMUG server.

Posted by betabug at 14:42 | Comments (2) | Trackbacks (0)
19 November 2007

Working Away

Modern World

The first day of "working but not being in the office" turned out to be productive. Setting myself up took some time at first. I also found out, that our office with a proper office chair and desk is much more ergonomic than a corner of the gf's desk or a spot on the sofa. That was counteracted by a much more than average work motivation :-) It's cool to be able to be here and work!

At first I had to bring my laptop to work level again. A secure tunnel to my company mail, ssh-agent for company cvs access, bringing my local repo up-to-date, installing some packages I'd been missing, configuring my local testing setup (where the biggest problem was that I didn't have access to my bookmarks from work). It seems that it's been some while since I've been hacking company stuff from the macbook. A VPN would have been useful, if I get to do more "away working", I'll look into setting one up.

As for the actual work, for the moment I'm mostly cleaning up older code. Now that we've moved to Zope 2.9 and therefore Python 2.4, I'm replacing popen calls with the new subprocess module's Popen class. That stuff is much more flexible and it allows me to keep STDERR output out of the console. I'm also examining some of my older datastructures for stuff like I'd described in Quasi-Normal in Numbers - where an approach using BTrees saves a lot of memory and disk writes. It seems I'm getting more and more strict in these matters.

Posted by betabug at 18:32 | Comments (2) | Trackbacks (0)
21 November 2007


Hooking up a serial port to the server
serial port adaptor and "cybertool" swiss army knife

It's not good to talk to a dead server. But when your server is only almost dead, it might be possible to talk to it through a serial console. Apple's G4 computers never had serial ports built in, but there are products that let you exchange the modem with a "real" serial port. Wildweasel (of #bsdcow fame) got me one, and he also soldered me a suitable cable with his own bare hands (thanks wiwi!). Yesterday I finally set out to install it on my server. It was quite an adventure, but my server is still running (hey, you're reading this on it)...

We arrived in the server room, I switched off the server, took it out of the rack, opened it and inserted the serial card. Wait. I tried to insert the serial card. It wouldn't fit, for something like a few millimeters. Tried this way, tried that way, looked at it from this side, looked at it from the other side. No go.

Since there was no way, I just went over to the club room, ready to eat some pizza and then go back home. When I told the members of the IN-Ulm club there about the card, one of them (raimund) spoke up and after checking the card declared that it should be possible to cut a few mm of plastic and board. I pulled out my "cybertool" swiss army knife and he started to cut and file.

cutting from the mainboard power adapter with a "cybertool" swiss army knife

Now, if this sounds cheesy, dangerous, or crazy to you, I must tell you... you are right. Kids, don't try this at home. Or at work. Some people are crazy enough it seems. Since cutting on the "cereal" board wasn't enough, he cut from the power connector (the one that was in the way) too. That was when it got really scary. In the end the board went in, a little bit wacky and I wouldn't want to shake the box too much. But it works now and hopefully will for a while. Many thanks to raimund, Taxman and the other IN-Ulm guys! Thanks to the_eye for the pictures, there are some more pictures here.

Why did the board not get in cleanly? Apparently (from the leaflet) it was meant for older versions of the G4. Apple must have moved that silly connector around a few mm, and the guy who designed the board made some decisions of placing stuff that he wouldn't have done in hindsight.

I probably would not have gone with this approach, but I had traveled from Athens, over Munich, to Ulm to put in this board (well, not exclusively). Having to go home without the card in would have been ugly. Lucky me it worked.

Posted by betabug at 18:02 | Comments (3) | Trackbacks (0)
30 November 2007

Είναι έτοιμη η Ελλάδα για το Internet;

Ή καλύτερα να περιμένουμε λιγάκι;

<rant>Χτες και σήμερα κοίταξα λίγο τα moderation requests των mailing lists του HelMUG (Hellenic Mac User Group). Οι λίστες αυτές δεν είναι moderated, μόνο αν το λογισμικό υποθέτει να είναι spam το μήνιμα μας το κρατάει. Πολλά από τα συνηθισμένα λοιπόν, χαπάκια κτλ. - αλλά και μερικά που αλλού έχουν γίνει πολύ σπάνια πια: Γιατί πιστεύουν τόσοι μικρή επιχειρηματίες ότι μπορούν να στείλουν "διαφημιστικά email" (δλδ. spam) οπού θέλουν; "Προσφορές" για έντυπα, σεμινάρια, web sites, κτλ. σε έναν σύλλογο; Θα μπορούσα να πω ότι ηλίθιοι και άνθρωποι χωρίς ηθική υπάρχουν παντού - και μάλλον θα το πω αυτό για να κρατηθώ...

Εννοείται ότι δεν βγάζεις άκρη να γράφεις στο abuse@ των providers. Π.Χ. η μαλ... "" που εδώ και πολύ καιρό στέλνει spam στο ΔΣ του συλλόγου μέσον OTEnet: Προσπαθήσαμε μερικές φορές να τους γράφουμε ότι δεν μας απασχολούν αυτά που γράφουν, τίποτα. Έγραψα τελικά στο

This customer of yours has been and is repeatedly spamming our mailing lists. We have repeatedly told them to remove our addresses.

Please inform your customers about your Acceptable Use Policy.


Thank you for bringing this matter to our attention. We inform you that we have tracked down the compromised machine and taken all the necessary actions.

Τι λές "compromised machine"; Μήπως θέλατε να πείτε "compromised minds";

Ωραίο αυτό με τα spammers, η επόμενη μ... είναι τα chain mails. Μου ήρθε σήμερα ένα από τα τύπου "GET RICH QUICK" mails, από κάποιον "Evagelos Barlas" (δεν έχω ιδέα ποιος είναι, μέσων Χελμούγκ πρέπει να βρήκε το mail μου). Ο κύριος αυτός το έκανε forward σε ~ 100 διευθύνσεις - όλα αυτά μέσα στο mail εννοείται. Όσοι του το είχαν κάνει forward αυτουνού επίσης είχαν όλο το address book μέσα στο mail. Περίπου 20 επίπεδα forward. Μεταξύ άλλων από ανθρώπους που έχουν τον τίτλο "Υπεύθυνη Διαφήμισης" σαν τίτλος στην signature τους.

Όχι ότι είναι και τίποτα το εξαιρετικό. Μερικές φορές μου έρχεται να βγάλω όλα αυτά τα ονόματα (τον εταιρειών και τον chain mail ηλίθιων) στην φόρα. Δεν νομίζω ότι θα αλλάζει κάτι. Θα ήτανε ωραία να μπορούσα να τους πω: Παιδιά αφήστε αυτό με το Ιντερνέτη λίγο ακόμα, πηγαίνετε να παίξτε λίγο ακόμα tetris στα PCιά σας.

Posted by betabug at 09:59 | Comments (3) | Trackbacks (0)
20 December 2007

The Software Equivalent of Duct Tape + Swiss Army Knife

Doing crazy stuff with crappy stuff

A few days ago, while waiting for the Metro to get me and some friends to a party, I was thinking about some of the crazy stuff I have done with crappy stuff in the past. I'm not a hardware guy, so I have to do the equivalent of building a rocket launcher with duct tape and a Swiss army knife in software. Here are two things that immediately come to my mind:

First was that crazy sales and contact management database I had built way back then, with FileMaker 3 (then moved to 4). Not crazy? No, so far that's just lame, as lame as FileMaker. But the crazy part was that this was a distributed, replicated database. Keeping the distributed databases from multiple locations in sync over email. It was possible for people to work on it offline on their laptops. The result was slightly crappy in hindsight, but it worked.

Next was of course the first SMS chat on TV (as far as I know ever), which was built in the time frame of 2 weeks. When the people who should originally do it gave up (without even trying), I stepped up and said: "I can do that." Well, I could, but all I had was a handful of crap hardware that nobody else wanted. Don't believe me? Would you say that a couple of Macintosh Performa 630 boxes with Mac System 7.6 are indeed crappy? One of them with 32MB RAM, the other two with 8MB. They were even crappy back in 2001 when this was taking place. Ups. I did this hack in AppleScript and using Claris Emailer. It worked quite well I'd say, even though the Claris Emailer mail database needed emptying quite often :-)

So, what are your software duct tape stories?

Posted by betabug at 11:57 | Comments (2) | Trackbacks (0)
07 January 2008

Shut Up and Listen to the Music

Shure E2C in-ear headphones

My work environment has many acoustic disturbances: phones ringing, people talking, a radio station shuffling through the same 100 songs, sometimes even machines rattling. To listen to music I'm using good old "over the ears" headphones. They passively cancel out some noise, I had considered to get active noise canceling, but from what I hear, they won't do much good with things like the radio whining on. So instead I listened to my friend saad and got Shure e2c in-ear headphones. Haven't tried them at work yet, but they worked wonders on the plane back from Munich...

The problem with plane's in general is that they are noisy in itself, they are filled with noisy people, and there is a law that every plane gets issued at least one crying infant. Oh, and you are forbidden to complain about the infant, else the "mothers of the earth united league" will threaten to kill you. The problem with this particular flight was that it was taking off at 7 AM, which means I got up at 3 AM. I believe this flight time is proof that Lufthansa is very lax on drug testing their employees. I was in the land between being awake and asleep during all of the flight.

I'm not going to complain any more about this flight (or infants) though. I slumbered almost through all the flight. I inserted the headphones the moment electronic devices were allowed after take off and took them out when I had to stop the iPod before landing. I listened to 2 1/2 albums and really heard the music. In the process I even heard new stuff in the music, details that I hadn't heard before, even though I know some of the stuff I listened to since a long time. I was able to hear the music at low volume too, which is what allowed me to slumber in the first place.

I hear that the problem with in-ear headphones is finding the right plugs for your ears. The e2c box contained 3 kinds of plugs, in 3 sizes each. I found some that seem to work for me (and it took me some time to figure out how the earphones go into the ear, I mean wouldn't marking "right" and "left" be kind of have been obvious?) Whatever, I have my system now.

In case you try out these headphones now and they suxx for you, please complain to saad - he's the guy that made me do this! In fact it's strange how lately I'm doing what people tell me to do... I got a camera so wildweasel stops whining, saad tells me to get earphones so I go out and buy some... Also Shure doesn't sell the E2C model any more, they've been replaced with something more expensive, I've got mine from Amazon where they still had some old stock apparently.

Posted by betabug at 17:54 | Comments (0) | Trackbacks (0)
Prev  1   2   3   4   5   6   [7]   8   9   10   11   12   13   14   Next