<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>ftblog</title>
  <link rel="alternate" type="text/html"            href="http://www.bewatermyfriend.org" />
  <link rel="self"      type="application/atom+xml" href="http://www.bewatermyfriend.org/atom.xml"/>
  <updated>2011-05-22T12:59:01+01:00</updated>
  <subtitle> :: widerstand zwecklos :: </subtitle>
  <id>tag:www.bewatermyfriend.org,2011:05.22</id>
  <icon>http://ft.bewatermyfriend.org/gra/favicon.png</icon>
  <rights>copyleft</rights>
  <generator uri="http://www.bewatermyfriend.org/posts/2006/09-01.21-01-13-blog.html">zblog</generator>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">New waters</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/05-22.12-59-01-blog.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/05-22.12-59-01-blog.html</id>
        <published>2011-05-22T12:59:01+01:00</published>
        <updated>2011-05-22T12:59:01+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
As of today, I'm moving my blog from `zblog' to `ikiwiki'. The new atom feed<br />
URI is <a href="http://bewatermyfriend.org/index.atom">http://bewatermyfriend.org/index.atom</a>. Please update your feed reader<br />
if you want to continue reading this blog.<br />
<br />
The old blog will still be available as <a href="http://bewatermyfriend.org/oldblog.html">http://bewatermyfriend.org/oldblog.html</a>.<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">beast!</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/05-07.12-40-33-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/05-07.12-40-33-computer.html</id>
        <published>2011-05-07T12:40:33+01:00</published>
        <updated>2011-05-07T12:40:33+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
(letrec ((f(lambda(n)(if(= n 0)1(* n(f(- n 1)))))))(f 666))<br />
 =&gt; 1010632056840781493390822708129876451757582398324145411340420807357413802103697022989202806801491012040989802203557527039339704057130729302834542423840165856428740661530297972410682828699397176884342513509493787480774903493389255262878341761883261899426484944657161693131380311117619573051526423320389641805410816067607893067483259816815364609828668662748110385603657973284604842078094141556427708745345100598829488472505949071967727270911965060885209294340665506480226426083357901503097781140832497013738079112777615719116203317542199999489227144752667085796752482688850461263732284539176142365823973696764537603278769322286708855475069835681643710846140569769330065775414413083501043659572299454446517242824002140555140464296291001901438414675730552964914569269734038500764140551143642836128613304734147348086095123859660926788460671181469216252213374650499557831741950594827147225699896414088694251261045196672567495532228826719381606116974003112642111561332573503212960729711781993903877416394381718464765527575014252129040283236963922624344456975024058167368431809068544577258472983979437818072648213608650098749369761056961203791265363665664696802245199962040041544438210327210476982203348458596093079296569561267409473914124132102055811493736199668788534872321705360511305248710796441479213354542583576076596250213454667968837996023273163069094700429467106663925419581193136339860545658673623955231932399404809404108767232000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<br />
<br />
Yes, it's the factorial of the beast.<br />
<br />
<b>[</b>Update<b>]</b><br />
<br />
Oh, actually... you could write this shorter using a "named let":<br />
<br />
(let f((n 666))(if (= n 0)1(* n (f (- n 1)))))<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">zsh: programmierbares globbing</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/05-02.20-30-27-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/05-02.20-30-27-computer.html</id>
        <published>2011-05-02T20:30:27+01:00</published>
        <updated>2011-05-02T20:30:27+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
<a href="http://michael-prokop.at/blog/">Mika</a> fragte neulich, ob zsh-Globbing es zuläßt Dateien *.foo auszuwählen zu<br />
denen keine *.bar Datei existiert. Klar gibt's das.<br />
<br />
<code>% touch abc.{foo,bar} def.foo<br />
% print -l *.foo(e,'[[ ! -e ${REPLY:r}.bar ]]',)<br />
def.foo<br /></code>
<br />
Nun mag man sagen, daß das häßlich ist und niemand das tippen wollen<br />
würde. Da stimme ich zu. Geht auch kürzer.<br />
<br />
Bei Mika ging es darum .changes Dateien zu finden, zu denen es keine .upload<br />
Datei gibt. Debian Kram. Wissenschon. Da kann dann zu einer Datei<br />
`foo.changes' zum Beispiel eine Datei `foo.ftp-master.upload' gehören.<br />
<br />
<code>% function MC() {<br />
  [[ \! -e ${REPLY:r}.${MTAG-ftp-master.}${MSUFF:-upload} ]] ]]<br />
}<br />
% print -l *.changes(+MC)<br /></code>
<br />
Das ganze ist über `$MTAG' und `$MSUFF' konfigurierbar. Standardmäßig ist<br />
ersteres "ftp-master." und letzteres "upload". Mit anderen Worten: Würde man<br />
<br />
<code>% MTAG=''<br />
% print -l *.changes(+MC)<br /></code>
<br />
...machen, würden alle "*.changes" gelistet zu denen es kein "*.upload"<br />
gibt. Analog kann man nun MTAG="ftp-slave." setzen wenn man nach "*.changes"<br />
suchen will für die "*.ftp-slave.upload" nicht existiert.<br />
<br />
Das sollte einmal einen Startpunkt in diese Art von Globbing sein. Man passe<br />
das an, bis es einem gefällt. Dokumentiert ist das ganze in `zshexpn(1)'.<br />
Man suche mal nach "+nt" (je nach $PAGER wird man das `+' escapen müssen).<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">More renaming</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/04-14.08-25-38-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/04-14.08-25-38-computer.html</id>
        <published>2011-04-14T08:25:38+01:00</published>
        <updated>2011-04-14T08:25:38+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Here's yet another public service announcement...<br />
<br />
I've registered <a href="https://www.ohloh.net/p/arename">arename with ohloh.net</a>. Feel free to submit a rating and hit<br />
the "I use this" button if you do.   Oh, and also: There is a <a href="http://github.com/ft/arename/downloads">tarball up for<br />
arename v4.0-rc0 at the github download page</a> (if you're not so much into VCS<br />
checkouts).<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">arename 4.0-rc0</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/04-12.21-55-05-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/04-12.21-55-05-computer.html</id>
        <published>2011-04-12T21:55:05+01:00</published>
        <updated>2011-04-12T21:55:05+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Hey there, dear target audience!<br />
<br />
It's been quite some time since the last <a href="http://ft.bewatermyfriend.org/comp/arename.html">arename</a> release. Version 3.0 was<br />
released about one and half years ago. And it has seen only a small number of<br />
minor fixes that led to v3.1 a few months later. 3.0 was a quick jump from<br />
2.0 because of broken backwards compatibility.<br />
<br />
And again, the upcoming release is going to be a major release for the very<br />
same reason. It is going to be version 4.0. And I've just tagged a commit as<br />
release candidate #0.<br />
<br />
Now I call upon my fierce two-person user base to give the new code a<br />
serious spin! Try to break it. Find problems when upgrading. Tell me.<br />
<br />
There is an UPDATING file included now, which will document known<br />
incompatibilities between major versions. Make *sure* you read it. Also,<br />
there is a REPORTING_BUGS document, which outlines some instructions for<br />
reporting bugs. Make sure you follow those when reporting anything.<br />
<br />
I've enabled the <a href="https://github.com/ft/arename/issues">issue tracker for arename</a> at github a while back. I don't<br />
know how well that one works. So consider this a trail run. If it turns out<br />
to be a pile of horse crap, I'll just disable it again.<br />
<br />
FWIW, I'm using the current code pretty much exclusively. It appears to work<br />
fairly well so far, even though the code underwent quite substantial changes.<br />
Take a look at the CHANGES file for new and changed features; and as I said,<br />
tell me about anything that breaks for you.<br />
<br />
There is no date set for the final release. And even though this is a release<br />
candidate, I would not be against adding yet another entirely awesome<br />
feature. I won't be rushing this.<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Excavation site</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/03-31.10-39-52-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/03-31.10-39-52-computer.html</id>
        <published>2011-03-31T10:39:52+01:00</published>
        <updated>2011-03-31T10:39:52+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Yesterday evening I committed a new backend for vcs_info, which adds support<br />
for the <a href="http://fossil-scm.org/">fossil scm</a>. That increases the number of supported version control<br />
systems to a dozen (plus support for quilt). Yay!<br />
<br />
The fossil support was added by <a href="http://blog.mired.org/">Mike Meyer</a>. Thanks to him!<br />
<br />
I added a few minor enhancements to vcs_info, as well. But that's for another<br />
time.<br />
<br />
Oh, and also: Hey Planet Grml! :-)<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Schimpfwort des Tages #0</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/03-03.16-03-53-news.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/03-03.16-03-53-news.html</id>
        <published>2011-03-03T16:03:53+01:00</published>
        <updated>2011-03-03T16:03:53+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Armes-Deutschland-Rufer! (...und -Schreiber und -Sager und ...)<br />
<br />
Wer kennt sie nicht. :)<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">arename4 preview</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/02-24.11-14-26-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/02-24.11-14-26-computer.html</id>
        <published>2011-02-24T11:14:26+01:00</published>
        <updated>2011-02-24T11:14:26+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
A few weeks ago, I've started <a href="https://github.com/ft/arename">to work</a> on <a href="http://ft.bewatermyfriend.org/comp/arename.html">arename</a> again. Since then, I've tagged<br />
two preview "releases" (v4.0-pre0 and v4.0-pre1). These are mainly for people<br />
who would like to take an early look at arename4's major changes.<br />
<br />
First and foremost, that would be the big change in backend land. In earlier<br />
versions, arename used three different backends to gather information from mp3<br />
files, ogg and flac files. With arename4 that changes entirely. The new version<br />
uses <a href="http://search.cpan.org/~agrundma/Audio-Scan-0.85/lib/Audio/Scan.pm">Audio::Scan</a>, which is able to work with many file formats on its own. That<br />
simplifies the way arename fetches information, which has a positive impact on<br />
code complexity. Audio::Scan is not available in debian yet. But I've been told<br />
it is being worked on.<br />
<br />
From the user's point of view, that breaks the old hook API, since there were<br />
a number of file-type specific hooks. They are not needed anymore and were<br />
therefore removed. The other impact for the user is that arename now supports<br />
many more file formats than before. See the manual for details.<br />
<br />
The second big change is the introduction of more complex expressions in<br />
templates. Again, there are corner cases, in which this change may introduce<br />
backwards compatibility issues. Though, with "normal, non-constructed<br />
templates, that shouldn't be the case. Again, consult the manual for details.<br />
<br />
Because of the fundamental changes described above, breaking backwards<br />
compatibility was inevitable. It is the main reason the upcoming release will<br />
be yet another major version release.<br />
<br />
<br />
Feel free to try arename4 today (I'm using v4.0-pre1 exclusively). But please<br />
be extra-careful and make sure you're using the `--dryrun' option a lot, to<br />
avoid surprises. If you find anything unusual or even bugs, please tell me.<br />
<br />
Please do not use the preview releases of arename4 as a drop-in replacement for<br />
arename3. There is no documentation for upgrading yet. So just don't do that.<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Grinsen 2.0</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/02-24.10-01-15-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/02-24.10-01-15-computer.html</id>
        <published>2011-02-24T10:01:15+01:00</published>
        <updated>2011-02-24T10:01:15+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
<a href="http://www.unicode.org/charts/PDF/Unicode-6.0/U60-1F600.pdf">Oh Boy...</a> [<a href="http://www.heise.de/-1195391.html">Quelle</a>]<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Pressen!</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/02-06.10-05-38-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/02-06.10-05-38-computer.html</id>
        <published>2011-02-06T10:05:38+01:00</published>
        <updated>2011-02-06T10:05:38+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
<a href="http://lists.debian.org/debian-announce/2011/msg00001.html">Upgrade.</a><br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Congenital Abnormality 2.0</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/01-14.12-44-26-news.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/01-14.12-44-26-news.html</id>
        <published>2011-01-14T12:44:26+01:00</published>
        <updated>2011-01-14T12:44:26+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Gerade bei <a href="http://blog.fefe.de/?ts=b3ceecf2">fefe</a> gesehen. Aus <a href="http://www.tagesspiegel.de/medien/die-ard-steht-fuer-eine-allianz-gegen-google-bereit/3687510.html">einem Interview des Tagesspiegels</a> mit der WDR<br />
Intendantin, die zum Jahreswechsel den ARD Vorsitz übernommen hat... Es prangt<br />
der Titel "Die ARD steht für eine Allianz gegen Google bereit". Fantastisch!<br />
<br />
Geht aber noch weiter mit "Den Geburtsfehler des Internets - kostenlose<br />
Inhalte - zu beseitigen ist aber schwierig und langwierig."; Keine weiteren<br />
Fragen, euer Ehren. :)<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Relax</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2011/01-10.10-18-08-news.html" />
        <id>http://www.bewatermyfriend.org/posts/2011/01-10.10-18-08-news.html</id>
        <published>2011-01-10T10:18:08+01:00</published>
        <updated>2011-01-10T10:18:08+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Wer hat eigentlich das Gerücht in die Welt gesetzt, daß man sich im<br />
Urlaub erholen würde? So ein Quatsch. Echt.<br />
]]>
        </content>
      </entry>
</feed>
