Cake++

December 13th, 2008

We recently visited our friends who started their own start-up. No, not in the Silicon Valley, but here in Kilchberg. And not in IT, but in pâtisserie.

We heard the [chocolate cake](http://www.cake-plus.ch/Web-Site/Meine%20Produkte.html) is to die for. We are so getting it for Christmas, topped with Christmas decorations. Sweet ;-)

Talking TLS to SMTP

December 2nd, 2008

I recently wanted to test TLS with SMTP. I followed instructions on and got it to work in less than 30s ;-)

In short:

perl -MMIME::Base64 -e 'print encode_base64("\000user\000password")'
openssl s_client -starttls smtp -crlf -connect <ip>:<port>
auth <auth_command>
mail from:<tadek@pietraszek.org>
rcpt to:<tadek@pietraszek.org>
data
...
.

Interestingly, when I tried typing `RCPT` s_client would interpret it as “renegotiate”, which confused me a bit, but you can inhibit it with `–quiet` or type it in lowercase like I did ;-)

T.

xdu: analyzing disk-space usage

November 27th, 2008

I recently started getting nagmails about running out of quota on my home directory. Being a very messy user, I had no idea where the space went. I tried playing with `du` manually, but it’s much easier with `xdu`:

sudo apt-get install xdu
du > /tmp/blah
xdu -n /tmp/blah
  • Real-time map of planes approaching the Zurich airport. Now I know why my plane was making crazy circles before landing. (0)
  • (almost) real-time map of Swiss trains (0)
  • – how to import a trusted CA certificate in OSX. (0)
  • – a (commercial) site about fonts: let’s search in numerous ways has an amazingly comprehensive information about the creator and the history of each font. (0)
  • – awesome in-flight photos. I wish my “office” had such views ;-) (0)

Removing all files older than X days

March 19th, 2008

I know it’s easy, but every time I write it I have to study the man page of `find` to figure out the correct parameters:

File only deletion:

find

-atime +7 -type f -print | xargs rm -f

Recursive deletion (be careful):

find

-atime +7 -print | xargs rm -rf

Installing SVN with Apache2 support on my server.

March 6th, 2008

I just enabled SVN access on my server through the web interface. It was quite easy and, since we have a Postgres DB authentication, there’s no need to edit inconvenient password files ;-)

All I had to do was to enable the SVN module: link `dav_svn.{load|conf}` in `mods-enabled` and add the following line to the SSL-ed vhost.


SVNPath /var/lib/svn/foo
Dav svn

Require user user@example.com user2@example.com

Since the SSL-ed vhost already requires authentication, I didn’t have to change anything. I also had to create an SVN repository `svnadmin create –fs-type fsfs /var/lib/svn/foo` and change the permissions to `www-data`.

The checkout command is:

svn –username user@example.com –password my_secret_password co https://my.example.com/svn/foo

SVN caches the username and password, so any further operations are done without prompting you for it. If you don’t like it, you can disable it with `–no-auth-cache`.

Finally, one annoying thing. Initially, I would just try to connect without –username and SVN would first try my Unix user name and then ask for it. Unfortunately, some (but not all) users I tried in this way would get a mysterious:

svn: PROPFIND request failed on ‘/svn/foo’
svn: PROPFIND of ‘/svn/foo’: authorization failed (https://example.com)

WTH?