<?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>2010-09-05T21:22:41+01:00</updated>
  <subtitle> :: widerstand zwecklos :: </subtitle>
  <id>tag:www.bewatermyfriend.org,2010:09.05</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">Schluß mit ICQ Spam</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/09-05.21-22-41-internet.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/09-05.21-22-41-internet.html</id>
        <published>2010-09-05T21:22:41+01:00</published>
        <updated>2010-09-05T21:22:41+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
So. Nun habe ich meinen ICQ Account abgeschaltet. Ich habe darüber eigentlich<br />
nur Spam bekommen. Und abgesehen von einem Kontakt habe ich alle Leute auch<br />
per Jabber verfügbar.<br />
<br />
Und nun habe ich die Schnauze voll. In Zukunft wird man mich dort nicht mehr<br />
treffen. Und wenn tatsächlich jemand nur diese merkwürdige ICQ Nummer von mir<br />
hat: Komm in den Jabber-Bus, verdammt nochmal. Meine Jabber-ID findest du dann<br />
auf meiner Website. :)<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Auf der Suche #0</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/08-31.21-59-03-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/08-31.21-59-03-computer.html</id>
        <published>2010-08-31T21:59:03+01:00</published>
        <updated>2010-08-31T21:59:03+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
...auf der Suche nach einem IRC Client.<br />
<br />
Momentan nutze ich irssi. Von der grundsätzlichen Funktionalität ist der ja<br />
ganz nett. Aber ich habe zwei Dinge, die mich über alle Masse nerven. Erstens,<br />
ist irssi praktisch undokumentiert. Die Kommandos haben Online-Hilfe. Nett,<br />
aber wenn man das Ding anpassen will... die Formate? das Perlinterface? Nada.<br />
Und zweitens: die Art und Weise wie irssi seine Konfiguration handhabt. Das<br />
Ding ist so konzipiert, das man über "/set" Kommandos konfiguriert und dann<br />
Änderungen per "/save" auf die Platte bringt. Völliger Scheiß, wenn man die<br />
Konfiguration in Versionskontrolle pflegen will. Nun kann man da wenn man<br />
vorsichtig ist, eine Menge machen. Aber da nichts richtig dokumentiert ist,<br />
weiß man nie in welcher Sektion welche Variable erwartet wird... Ausserdem ist<br />
die Syntax der Konfigurationsdatei einigermassen gewöhnungsbedürftig.<br />
<br />
Lange Rede, kurzer Sinn: Ich suche Ersatz.<br />
<br />
Die coolen Kinder heut zu Tage scheinen ja weechat zu nutzen. Aber mal<br />
ehrlich, die default Konfiguration ist nicht auszuhalten. Ständig wechselnde<br />
Farben für alle möglichen Nicks im Channel? Eine Nickliste? Come on... Das ist<br />
in jedem Fall keine Alternative für mich. (Ja, ich habe einige der nervenden<br />
Dinge abgeschaltet, aber ich habe keine Lust Default-Settings aufzuräumen. Ich<br />
komme klar, wenn ein Programm sehr spartanisch daher kommt und ich dann alles<br />
meinem Gusto entsprechend einstelle. Aber ich habe genau keine Lust ein<br />
Feature-ShowOff aufzuräumen.) - Oh, und weechats Config in VCS aufzubewahren<br />
ist auch nicht trivial, da jeder Plugin seine eigene Config hat. Auch<br />
ini-artig mit Sektionen. Die Doku ist besser (lies: kompletter) als bei irssi,<br />
aber nichts, was mich aus den Socken hauen würde.<br />
<br />
Ich möchte einen Multi-Fenster-Programm haben. Jeder Channel soll sein Fenster<br />
haben. Das Programm der Wahl muß im Terminal laufen können. Ich will Support<br />
für SSL Verbindungen. Brauchbaren Support für Nickserv. Automatisches Setup<br />
beim Start (also, verbinden zu N Server, dann Nickserv wenn nötig, und erst<br />
dann Channel joinen - und zwar in die richtigen Fenster).<br />
<br />
Was bleibt mir also? Ich habe EPIC5 ausgechecked. Das ist vom Interface sehr<br />
nett. Aber ich sehe Null Unterstützung für Nickserv oder automatisches Setup.<br />
Ich will das eigentlich nicht alles ranskripten müssen. Aber wenn es keinen<br />
anderen Kandidaten gibt, dann werde ich das vielleicht müssen. Die Doku könnte<br />
auch besser sein.<br />
<br />
Ich schaue mir grad auch `sirc' an. Das ist ein Client in Perl. Aber auch wenn<br />
ich die Sprache mag, der Client wird mein Leben glaube ich nicht ändern.<br />
<br />
Gibt's da noch sinnvolle Alternativen?<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Subversiver Kunde</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/08-30.22-46-10-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/08-30.22-46-10-computer.html</id>
        <published>2010-08-30T22:46:10+01:00</published>
        <updated>2010-08-30T22:46:10+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Letztens meinte mal jemand in #grml, daß `git-svn' der einzige brauchbare<br />
Subversion Client sei. Und nun, da ich das Ding seit ein paar Wochen nutze, da<br />
muß ich vorbehaltlos zustimmen. Ich fasse das svn Ding selbst nur noch an,<br />
wenn ich nicht plane am Code zu schrauben und nur den Trunk tracken will.<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Gänsehaut #0</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/08-10.01-54-22-entertainment.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/08-10.01-54-22-entertainment.html</id>
        <published>2010-08-10T01:54:22+01:00</published>
        <updated>2010-08-10T01:54:22+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
<a href="http://www.youtube.com/watch?v=ZAY_fJ4IHHE">IK a cappella.</a><br />
<br />
Die C=64 Version. Eh klar.<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">vi-like z-shell</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/08-08.21-16-02-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/08-08.21-16-02-computer.html</id>
        <published>2010-08-08T21:16:02+01:00</published>
        <updated>2010-08-08T21:16:02+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
I've recently started to use zsh's vi like keyboard mode. I used to say, that<br />
this was pretty much unusable for me, even though I'm a long-time vi user.<br />
<br />
Sometimes however, I was missing some of the command-mode (well actually in<br />
vi-lingo, that's "normal mode"...) editing capabilities. So, I tried to use<br />
zsh's vi emulation. The biggest drawback for me was, that - since I'm using<br />
many many shells in parallel - I was easily losing track of what mode a shell<br />
was in. Was it insert mode? Command mode? Did I enable the overwrite bit?<br />
<br />
I knew zsh gained the ability of running a special zle widget when there is<br />
a keymap change. That's pretty good for tracking the keyboard state. Good,<br />
but not perfect. So I worked out a few issues I was having and ultimately<br />
came up with the following: <a href="/media/vi-mode.zsh">ft's example vi mode setup for zsh</a><br />
<br />
I'm tracking the current keyboard state in `psvar[1]' and use that at the<br />
start of my prompt definition (the `i', `c', `im' etc. strings in the<br />
following screenshots). At first I'll load up an xterm that runs zsh without<br />
any configuration (the `-f' option):<br />
<br />
<code>PS1='zsh%% ' xterm -e zsh -f<br /></code><br />
<br />
Then I'm loading my example setup, which drops me into the following session:<br />
<br />
<a href="/media/vimode0.png"><img src="/media/vimode0.png" alt="initial screenshot"></a><br />
<br />
See the little `i' at the beginning of the line? That tells me, I'm in insert<br />
mode. There is a variable in my setup - `zle_default_mode' - which, if set to<br />
`cmd' will cause zsh to put the line editor into command mode per default. I<br />
used to think that was a very good idea. But I've since switched back to<br />
insert mode per default. The code supports both modes as the default, though.<br />
<br />
Like in vi, hitting `ESC' brings us to command mode. Or does it?<br />
Well, in this setup it doesn't at least not per default. Why? First of all,<br />
hitting Ctrl-d is easier then ESC (No, really. I'm doing that in vim and also<br />
in emacs' viper mode). Also, in many terminals you'll experience a slight<br />
delay between hitting ESC and the shell taking any action. That's due to how<br />
the terminal interprets escape sequences; and you can't do much about it. If<br />
you'd prefer to use `ESC' instead of `Ctrl-d' anyway, you can do that by<br />
setting the variable `zle_use_ctrl_d' to `no'.<br />
<br />
Here's how my prompt looks like after hitting `Ctrl-d'. The `c' tells me, my<br />
shell's line editor is now in command mode:<br />
<br />
<a href="/media/vimode1.png"><img src="/media/vimode1.png" alt="entered command mode"></a><br />
<br />
Now let's go back to insert mode, but turn on the overwrite bit. That'll cause<br />
the shell to overwrite an existing character if the cursor is on said<br />
character and a new character is entered. Like in vi, hitting `R' will do that<br />
for us (and the `r' will tell us of the mode change:<br />
<br />
<a href="/media/vimode2.png"><img src="/media/vimode2.png" alt="replace mode"></a><br />
<br />
Now we'll hit `Ctrl-d' and `i' to go back to insert mode:<br />
<br />
<a href="/media/vimode3.png"><img src="/media/vimode3.png" alt="back to insert mode"></a><br />
<br />
Now let's use a widget that opens a minibuffer; like one of the incremental<br />
history searching widgets:<br />
<br />
<a href="/media/vimode4.png"><img src="/media/vimode4.png" alt="isearch backward"></a><br />
<br />
Since we moved from insert mode to a minibuffer, the prompt shows `im'. The<br />
`m' signals the existence of a minibuffer.<br />
<br />
Escaping from that minibuffer, by using `Ctrl-g' or `Ctrl-c' will also reset<br />
the keyboard mode in the prompt:<br />
<br />
<a href="/media/vimode5.png"><img src="/media/vimode5.png" alt="escaping the minibuffer"></a><br />
<br />
The same works from command mode, too. Let's enter one of the vi-mode history<br />
searching widgets:<br />
<br />
<a href="/media/vimode6.png"><img src="/media/vimode6.png" alt="search from command mode"></a><br />
<br />
Hitting `Ctrl-c' gets us back out of that again and the prompt will only<br />
contain a `c' to tell us, the minibuffer is gone.<br />
<br />
That's almost all. Almost.<br />
Remember that I'm using `Ctrl-d' to switch from insert mode to command mode?<br />
Sure you do. What about that key sending an `end-of-file' character, which<br />
closes the shell quickly? Yeah. Bummer. But here's my way out. I've created<br />
a widget which goes by the name `q'. So you can do `:q' like you would to<br />
close vi. And to remind people about that, hitting `Ctrl-d' in command mode<br />
will display the following:<br />
<br />
<a href="/media/vimode7.png"><img src="/media/vimode7.png" alt=":q reminder in command mode"></a><br />
<br />
<br />
There's one problem with this setup: When using the `execute-named-command'<br />
widget, we cannot do any proper signaling at all. That's because you cannot<br />
wrap that widget into your own. There's some nastiness in zsh's source code<br />
that prevents that from working. See<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.zsh.org/mla/workers/2005/msg00384.html">http://www.zsh.org/mla/workers/2005/msg00384.html</a><br />
<br />
for details. If you read that thread, you'll conclude that fixing this<br />
requires quite some knowledge of the involved code. And that takes me out of<br />
the picture. :)<br />
<br />
Until that gets fixed, you'll be seeing an `i' while `execute-named-command'<br />
is active. Deal with it. Because except for that, this seems to be working<br />
pretty damn well.<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">When you see this guy...</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/08-05.22-56-47-entertainment.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/08-05.22-56-47-entertainment.html</id>
        <published>2010-08-05T22:56:47+01:00</published>
        <updated>2010-08-05T22:56:47+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
<a href="/media/ftsp.png"><img src="/media/ftsp.png" alt="southparkme"></a><br />
...buy him a beer.<br />
Single Malt Scotch Whisky has been reported to work as well. :)<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Mach mal nicht so ne Welle!</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/08-05.09-52-44-news.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/08-05.09-52-44-news.html</id>
        <published>2010-08-05T09:52:44+01:00</published>
        <updated>2010-08-05T09:52:44+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Das wird nun sicherlich alle genau so sehr schockieren wie mich... :-)<br />
<br />
<a href="http://www.heise.de/newsticker/meldung/Google-Wave-wird-eingestellt-1050992.html">Mit Google Wave ist dann mal Schluß.</a><br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Zeichen und Wunder #1</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/07-30.16-12-50-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/07-30.16-12-50-computer.html</id>
        <published>2010-07-30T16:12:50+01:00</published>
        <updated>2010-07-30T16:12:50+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
In dieser Ausgabe von ZUW: <a href="http://marc.info/?m=128025009212021">OpenBSD kann nun Multi-byte Locales</a><br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">You dumped a porn star!?</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/07-21.23-23-51-entertainment.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/07-21.23-23-51-entertainment.html</id>
        <published>2010-07-21T23:23:51+01:00</published>
        <updated>2010-07-21T23:23:51+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Dude. FRIENDSHIP OVER!<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">M-x whatever-you-want</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/06-28.22-19-53-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/06-28.22-19-53-computer.html</id>
        <published>2010-06-28T22:19:53+01:00</published>
        <updated>2010-06-28T22:19:53+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
<a href="http://julien.danjou.info/blog/2010.html#M-x%20google-maps">Abgefahren. Ehrlich</a>.<br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">Letzte Frequenzmodulation</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/06-21.02-16-31-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/06-21.02-16-31-computer.html</id>
        <published>2010-06-21T02:16:31+01:00</published>
        <updated>2010-06-21T02:16:31+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
Gerade mal eben meinen alten <a href="http://www.last.fm/user/efftee">last.fm Account</a> in Betrieb genommen. Mit <a href="http://xmms2.org">xmms2</a><br />
und <a href="http://code-monkey.de/pages/xmms2-scrobbler">xmms2-scrobbler</a> - von cmc gesteuert. Man beachte wann ich das letzte mal<br />
etwas davor "gescrobbled" habe. :-)<br />
<br />
<a href="/media/lastfm.png"><img src="/media/lastfm.png" alt="lastfm.png"></a><br />
]]>
        </content>
      </entry>
      <entry>
        <author>
          <name>ft</name>
          <email>ft@bewatermyfriend.org</email>
        </author>
        <title type="text">running rakudo</title>
        <link rel="alternate" type="text/html" href="http://www.bewatermyfriend.org/posts/2010/06-20.01-02-52-computer.html" />
        <id>http://www.bewatermyfriend.org/posts/2010/06-20.01-02-52-computer.html</id>
        <published>2010-06-20T01:02:52+01:00</published>
        <updated>2010-06-20T01:02:52+01:00</updated>
        <content type="html" xml:base="http://www.bewatermyfriend.org">
            <![CDATA[
<code>% <a href="http://perl6.org/">perl6</a> -e \"Hello\ World.\".say<br />
Hello World.<br /></code>
<br />
<a href="http://rakudo.org/">Rakudo Perl6!</a><br />
]]>
        </content>
      </entry>
</feed>
