Skip to main content

Mahnwache am Freitag: Keine Scheuklappen fürs Netz!

Da quasi alle großen deutschen Internetanbieter freiwillig das Internet zensieren wollen, gibt's nächsten Freitag, den 17.04.2009 eine super Gelegenheit, dagegen zu protestieren: Matthias "wetterfrosch" Mehldau vom CCC ruft zur Mahnwache "Keine Scheuklappen fürs Netz!" auf. Ich prophezeie, dass Wikileaks sonst bald aus Deutschland gar nicht mehr betrachtet werden kann. Vonwegen Pr0n0.

Also: Ich geh hin, würde mich freuen, wenn auch du mitkommst. Besonders wichtig noch eine Fußnote, die ich hier mal direkt zitieren möchte, damit sie nicht untergeht:

Termin Vorbehaltlich - sowas ändert sich in letzter Minute ja machmal gerne. Letzte Infos immer auf: keine-scheuklappen-fuers-netz/

findpat: Easing up find through brace expansion

I'm tired of typing minus-name-chains for find like

$ find . -name '*.jpg' -o -name '*.png'

Wouldn't it be nice if instead

$ find . '*.{jpg,png}'

were possible? As find does not expand braces I wrote a little tool to make life a little easier. It's called findpat and either acts as a simple frontend to find (see example 1) or as a expression generator (example 2). Here are a the examples and their plain find equivalents:

$ find . -name '*.jpg' -o -name '*.png'
$ findpat '*.{jpg,png}'
$ find . \( -not -executable \) -a \( -name '*.awk' \
    -o -name '*.sh' \)
$ findpat -p '*.{awk,sh}' | \
    xargs find . \( -not -executable \) -a

The complete usage currently looks like this:

$ findpat --help
  findpat [-v|--verbose] [<dir>] <pattern>
  findpat -p|--print <pattern>
  findpat -h|--help
  findpat -V|--version

You can download findpat 1.0 here:

Google Tech Talks feed clone without duplicates

Result first, story after:

NOTE: 30 minute check interval just right as the script is updated every 60 minutes on my end

I've been subscribed to their feed before but canceled my subscription soon because the flood of duplicates took down the signal to noise ratio below what I was willing to accept. So I have hacked together some sort of feed proxy using Planet to solve that issue. The trick is to re-write the entry's ID to the URL of the video page so the RSS client can and actually does the duplicate detection for you. Here's an example entry after processing:

  <title>Hands-on Teaching, Designing, and Learning</title>
  <pubDate>Mon, 23 Mar 2009 20:34:42 +0000</pubDate>

As a sidenote that talk is quite fun; I like it mostly because of it's hack- everything attitude, the high energy and the remark that restrictions can boost creativity. The trick I told before can be applied to any other YouTube channel. I could release the Planet config but it's trivial and you'd tweak it anyway. So I'll leave that for on-request.

LaTeX Beamer Theme Matrix

First a preview (excerpt) of what this post is about:

Selecting something from a set of candidates works much better when you have comfortable access to all of them. Selecting a theme (and color theme) for a Beamer presentation within an edit-compile-evaluate loop takes time and makes comparison unnecessarily hard. Johannes Buchner automated this procedure to some extent in 2007. I built on his idea and took it to the next level. I create an overview tables showing all possible combinations: Along the x-axis we have color themes, along the y-axis themes. Two different kinds of slides - a title page and a regular content page - are compiled against each combination of theme and color theme. The output is

  • Set of .png files
  • Directory tree allowing you to fix any two dimensions, e.g. the folder ./output/by-page/title/by-theme/Malmoe contains files that show
    • title pages
    • with theme "Malmoe"
    • running through all color themes.
  • Overview table ("matrix") showing thumbnails of all images at once

The script is available under GPLv3 or later. Non-obvious dependencies are

You can find the sources at the beamer-theme-matrix Git repository.

Forced push on libxspf Git repository

Sorry, in case that hits you. I had to do it: I made a mistake during the initial Subversion to Git repository import which is why several commits somewhere around libspiff-0.7.0 were not imported at all. The Subversion server disconnected a few times and it seems that continuing with the very same clone command was the wrong thing to do. This time git svn fetch did better. So all tags and commits should be available through Git by now.

TED 2009: Two talks I'd like to recommend

From the TED talks I just watched I would like to recommend these two:

Barry Schwartz also did "The Paradox of Choice - Why More Is Less" which I stumbled upon and recommended earlier. Both talks stand in strong contrast to Ed Ulbrich's "How Benjamin Button got his face". Something made me watch it but looking backwards I'm wondering what it was and how it was able to trick me.