<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Emacs blog</title>
    <link>blog-emacs.html</link>
    <description></description>
    <language>en-us</language>
    <generator>Emacs Muse</generator>

<item>
<title>bbdb spell v1.2</title>
<link>blog-emacs.html#bbdb%20spell%20v1%2E2</link>
<description><![CDATA[
<p>Mark Simpson reported that version 1.1 did not work with BBDB 2.35.
Version 1.2 fixes that. You can download it <a href="http://kanis.fr/bbdb-spell.el">here</a>. If you are running
BBDB 3.0 you don't need to do anything as Roland Winkler has added the
file in git.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Thu, 15 Dec 2011 00:00:00 CET</pubDate>
<guid>blog-emacs.html#bbdb%20spell%20v1%2E2</guid>

</item>

<item>
<title>bbdb spell v1.1</title>
<link>blog-emacs.html#bbdb%20spell%20v1%2E1</link>
<description><![CDATA[
<p>After many constructive criticism by Roland Winkler I am please to
release bbdb spell version 1.1. It's available <a href="http://kanis.fr/vcs/emacs/bbdb/bbdb-spell.el">here</a>.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Fri, 09 Dec 2011 00:00:00 CET</pubDate>
<guid>blog-emacs.html#bbdb%20spell%20v1%2E1</guid>

</item>

<item>
<title>Export bbdb name to aspell personal dictionary</title>
<link>blog-emacs.html#Export%20bbdb%20name%20to%20aspell%20personal%20dictionary</link>
<description><![CDATA[
<p>I got tired of people's name being highlighted red when composing
e-mail with flyspell. So this bit of <a href="http://kanis.fr:/vcs/emacs/init/ivan-bbdb.el">code</a> does an export of peoples
first and last name from bbdb to aspell custom dictionaries.</p>

<p>You need to set the variable ivan-bbdb-aspell-dictionary to a list of
personal dictionaries. Then run M-x ivan-bbdb-export-aspell.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Fri, 02 Dec 2011 00:00:00 CET</pubDate>
<guid>blog-emacs.html#Export%20bbdb%20name%20to%20aspell%20personal%20dictionary</guid>

</item>

<item>
<title>Stopwatch</title>
<link>blog-emacs.html#Stopwatch</link>
<description><![CDATA[
<p>Emacs doesn't have a precise stopwatch so I <a href="http://kanis.fr/vcs/emacs/ivan/stopwatch.el">wrote one</a>. It has millisecond
accuracy.</p>

<p class="image"><img src="stopwatch.png" alt=""></p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Wed, 16 Nov 2011 00:00:00 CET</pubDate>
<guid>blog-emacs.html#Stopwatch</guid>

</item>

<item>
<title>Nterm 0.5</title>
<link>blog-emacs.html#Nterm%200%2E5</link>
<description><![CDATA[
<p>I have managed to squeeze some time to work on <a href="nterm.html">nterm</a>. So this new
version is much faster. All drawing characters are now bitmap.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Tue, 11 Oct 2011 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Nterm%200%2E5</guid>

</item>

<item>
<title>The Land Of Lisp music video</title>
<link>blog-emacs.html#The%20Land%20Of%20Lisp%20music%20video</link>
<description><![CDATA[
<p>Lovely <a href="http://www.youtube.com/watch?v=HM1Zb3xmvMc">http://www.youtube.com/watch?v=HM1Zb3xmvMc</a>, it reminds me I
have to buy the book.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sat, 03 Sep 2011 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#The%20Land%20Of%20Lisp%20music%20video</guid>

</item>

<item>
<title>Handling multiple SMTP servers</title>
<link>blog-emacs.html#Handling%20multiple%20SMTP%20servers</link>
<description><![CDATA[
<p>Here's how I deal with multiple SMTP servers. I have a function that
runs just before sending an e-mail (after hitting C-c C-c in the
message buffer). It asks where the e-mail is coming from and sets the
right SMTP server.</p>

<p>In the example below inputting google will pick the google SMTP
server. Everything else will be sent via kanis.fr.</p>

<p>The last setq removes the &quot;From&quot; header when composing an e-mail. This
is required since I query this value just before sending the message.
Using the default value would send the wrong header.</p>

<pre class="src">
(<span style="color: #8b008b; background-color: #b9babd;">defun</span> <span style="color: #00008b; background-color: #b9babd;">private-gnus-prompt-address</span> ()
  <span style="color: #008b00; background-color: #b9babd;">"Prompt for sender address before sending e-mail
  Optionally cover address name to avoid spam"</span>
  (interactive)

  <span style="color: #008b00; background-color: #b9babd;">;; </span><span style="color: #008b00; background-color: #b9babd;">never user agent for e-mail
</span>  (setq message-send-mail-real-function nil)

  (setq user-mail-address (read-string <span style="color: #8b5a00; background-color: #b9babd;">"From: "</span> <span style="color: #8b5a00; background-color: #b9babd;">"google"</span>)
  (<span style="color: #8b008b; background-color: #b9babd;">cond</span>
   ((string= user-mail-address <span style="color: #8b5a00; background-color: #b9babd;">"google"</span>)
    (setq
     user-mail-address <span style="color: #8b5a00; background-color: #b9babd;">"ivan.kanis@googlemail.com"</span>
     smtpmail-smtp-server <span style="color: #8b5a00; background-color: #b9babd;">"smtp.gmail.com"</span>
     smtpmail-smtp-service 587))
   (t
    (setq
     smtpmail-smtp-server <span style="color: #8b5a00; background-color: #b9babd;">"kanis.fr"</span>
     smtpmail-smtp-service 2525
     mail-host-address <span style="color: #8b5a00; background-color: #b9babd;">"kanis.fr"</span>)))
  (<span style="color: #8b008b; background-color: #b9babd;">if</span> (not (string-match <span style="color: #8b5a00; background-color: #b9babd;">"@"</span> user-mail-address))
      (setq user-mail-address
            (concat user-mail-address <span style="color: #8b5a00; background-color: #b9babd;">"@"</span> mail-host-address))))

(add-hook 'message-send-hook 'private-gnus-prompt-address)

(setq
  <span style="color: #008b00; background-color: #b9babd;">;; </span><span style="color: #008b00; background-color: #b9babd;">Prevent "From" headers when composing
</span>  message-required-mail-headers
  '(Subject Date (optional . In-Reply-To) Message-ID (optional . User-Agent))
  message-required-headers '((optional . References)))

</pre>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Wed, 31 Aug 2011 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Handling%20multiple%20SMTP%20servers</guid>

</item>

<item>
<title>My gnus setup</title>
<link>blog-emacs.html#My%20gnus%20setup</link>
<description><![CDATA[
<p>The file <a href="http://kanis.fr/hg/emacs/init/ivan-gnus.el">ivan-gnus.el</a> contains all the code I have written on top of
gnus. Here is an example of how I setup my mail accounts. The last
entry is a file that I use with getmail.</p>

<pre class="src">
<span style="color: #008b00; background-color: #b9babd;">;; </span><span style="color: #008b00; background-color: #b9babd;">POP
</span>(setq
 mail-sources '((pop <span style="color: #00688b; background-color: #b9babd;">:server</span> <span style="color: #8b5a00; background-color: #b9babd;">"kanis.fr"</span>
                      <span style="color: #00688b; background-color: #b9babd;">:port</span> 995
                      <span style="color: #00688b; background-color: #b9babd;">:user</span> <span style="color: #8b5a00; background-color: #b9babd;">"bob"</span>
                      <span style="color: #00688b; background-color: #b9babd;">:connection</span> ssl
                      <span style="color: #00688b; background-color: #b9babd;">:password</span> <span style="color: #8b5a00; background-color: #b9babd;">"3l33t"</span>)
                (pop <span style="color: #00688b; background-color: #b9babd;">:server</span> <span style="color: #8b5a00; background-color: #b9babd;">"pop.gmail.com"</span>
                     <span style="color: #00688b; background-color: #b9babd;">:port</span> 995
                     <span style="color: #00688b; background-color: #b9babd;">:connection</span> ssl
                     <span style="color: #00688b; background-color: #b9babd;">:user</span> <span style="color: #8b5a00; background-color: #b9babd;">"foo.bar@googlemail.com"</span>
                     <span style="color: #00688b; background-color: #b9babd;">:password</span> <span style="color: #8b5a00; background-color: #b9babd;">"more3l33t"</span>)
                (file <span style="color: #00688b; background-color: #b9babd;">:path</span> <span style="color: #8b5a00; background-color: #b9babd;">"~/tmp/ivan.mbox"</span>)))
(setq
  gnus-select-method '(nntp <span style="color: #8b5a00; background-color: #b9babd;">"news.gmane.org"</span>)
  gnus-secondary-select-methods '((nnml <span style="color: #8b5a00; background-color: #b9babd;">""</span>))
  user-mail-address <span style="color: #8b5a00; background-color: #b9babd;">"foo.bar@googlemail.com"</span>
  smtpmail-smtp-server <span style="color: #8b5a00; background-color: #b9babd;">"smtp.gmail.com"</span>
  smtpmail-smtp-service 587)
</pre>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sat, 27 Aug 2011 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#My%20gnus%20setup</guid>

</item>

<item>
<title>Remap left key</title>
<link>blog-emacs.html#Remap%20left%20key</link>
<description><![CDATA[
<p>C-b is too hard for me to type. I don't use the right control key
because it's too hard to reach. So I use the left key which makes me
leave the home row. I believe it's a waste of time.</p>

<p>Maybe if I had a Kinesis keyboard it would be different but I am not
willing to shell out $$$ for work and home. Beside it wouldn't work
when I am on a laptop.</p>

<p>I had a heretic idea. Why not map C-h for left a bit like vim? I have
done that today for zsh and emacs. I have unmapped the left arrow so I
get into the habit of using it. I will see how it goes.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Tue, 23 Aug 2011 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Remap%20left%20key</guid>

</item>

<item>
<title>Emacs Expert Kit</title>
<link>blog-emacs.html#Emacs%20Expert%20Kit</link>
<description><![CDATA[
<p>The emacs <a href="emacs-expert-kit.html">expert kit</a> is for people who wants to experience an advance
setup of emacs.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Fri, 05 Aug 2011 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Emacs%20Expert%20Kit</guid>

</item>

<item>
<title>Pomodoro Technique for emacs</title>
<link>blog-emacs.html#Pomodoro%20Technique%20for%20emacs</link>
<description><![CDATA[
<p>I read about the Pomodoro Technique on the org mode mailing list. I
have decided to try it out and have noticed a definite gain in
productivity.</p>

<p>I naturally take breaks such as browsing the web or chatting...  The
pomodoro mode gives me a precise slice of time for such breaks. I am
always surprised how quickly a five minutes break just flies by. The
other gain is that I am tracking my time better.</p>

<p>Since I use it so much I decided to write <a href="http://kanis.fr/hg/lisp/ivan/pomodoro.el">write code</a> to integrate it
with emacs.</p>

<p class="image"><img src="pomodoro.png" alt=""></p>


<p>In the screen shot above the modeline indicates that I am on my second
set of work. The number indicates I have 22 minutes left and it
decreases each minute. The pomodoro buffer pops up in between break
and work.  At that time the emacs windows will be raised in front
so that I don't miss it when I am working outside emacs.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sat, 16 Apr 2011 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Pomodoro%20Technique%20for%20emacs</guid>

</item>

<item>
<title>Org camp Paris 2, my impressions</title>
<link>blog-emacs.html#Org%20camp%20Paris%202%2C%20my%20impressions</link>
<description><![CDATA[
<p>We started with a talk by the current org maintainer Bastien. I think
the most promising feature he is working on is org-bot. It's a way for
someone to manipulate somebody else org file via ERC. I think it's
quite exciting: this may lead the way for org to become multi user.</p>

<p>I gave a short talk in the beginning of the afternoon on how I
implement GTD with org. We then split up in small group. Isabelle,
Thierry and Vincent-Xavier took care of translating the reference card
in french. I heard that Bastien and Julien specified how to implement
numbered lists. Kaze, Kinouchou and others were working on usage and
workflow. I showed Bernard, Mohamed and Vivien how fun it was to
program in elisp.</p>

<p>We then went to a restaurant and had a good time. I think everyone
involved felt that their time was put to good use. I hope we will do
this again.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sun, 10 Apr 2011 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Org%20camp%20Paris%202%2C%20my%20impressions</guid>

</item>

<item>
<title>Winpack works with Windows XP SP3</title>
<link>blog-emacs.html#Winpack%20works%20with%20Windows%20XP%20SP3</link>
<description><![CDATA[
<p>I noticed <a href="winpack.html">winpack</a> didn't work very well with Windows XP service pack
3. I have removed gnuwin32 in favor of msys/mingw. I updated hg and
vim while I was at it.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Thu, 16 Dec 2010 00:00:00 CET</pubDate>
<guid>blog-emacs.html#Winpack%20works%20with%20Windows%20XP%20SP3</guid>

</item>

<item>
<title>Diary block without week-end</title>
<link>blog-emacs.html#Diary%20block%20without%20week%2Dend</link>
<description><![CDATA[
<p>I have written a diary block function without weekend. To use it put
the following line in your diary or org file</p>

<p>%%(diary-block-no-week-end 15 9 2010 30 10 2010) block without week-end</p>

<pre class="src">
(<span style="color: #8b008b; background-color: #b9babd;">defun</span> <span style="color: #00008b; background-color: #b9babd;">diary-block-no-week-end</span> (m1 d1 y1 m2 d2 y2 <span style="color: #8b008b; background-color: #b9babd;">&amp;optional</span> mark)
  <span style="color: #008b00; background-color: #b9babd;">"Block diary entry.
Entry applies if date is between two dates and not in the
weekend."</span>
  (<span style="color: #8b008b; background-color: #b9babd;">let</span> ((date1 (calendar-absolute-from-gregorian
                (diary-make-date m1 d1 y1)))
        (date2 (calendar-absolute-from-gregorian
                (diary-make-date m2 d2 y2)))
        (day (calendar-day-of-week date))
        (d (calendar-absolute-from-gregorian date)))
    (and (&lt;= date1 d) (&lt;= d date2) (not (= day 6)) (not (= day 0))
         (cons mark entry))))
</pre>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Wed, 15 Sep 2010 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Diary%20block%20without%20week%2Dend</guid>

</item>

<item>
<title>Verbiste</title>
<link>blog-emacs.html#Verbiste</link>
<description><![CDATA[
<p>I have written a new interface for verbiste. It shows french
conjugation for a word near the point. If you want this feature
download <a href="http://kanis.fr/hg/lisp/ivan/verbiste.el">verbiste.el</a> and put it somewhere in your load path.</p>

<p class="image"><img src="verbiste.jpg" alt=""></p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Tue, 14 Sep 2010 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Verbiste</guid>

</item>

<item>
<title>IRC with furigana</title>
<link>blog-emacs.html#IRC%20with%20furigana</link>
<description><![CDATA[
<p>Today I have written code that displays kanji reading in Japanese
while chatting on IRC. I often know the meaning of the character but
forget the pronunciation. Other people who go to Japanese channel
might find this hack helpful.</p>

<pre class="src">
<span style="color: #008b00; background-color: #b9babd;">;; </span><span style="color: #008b00; background-color: #b9babd;">lisp/emacs.d/ivan-erc.el
</span>
(<span style="color: #8b008b; background-color: #b9babd;">defvar</span> <span style="color: #000000; background-color: #b9babd;">ivan-erc-japanese-channel</span>
  <span style="color: #8b5a00; background-color: #b9babd;">"#japanese</span><span style="color: #8b8b00; background-color: #b9babd;">\\</span><span style="color: #8b8b00; background-color: #b9babd;">|</span><span style="color: #8b5a00; background-color: #b9babd;">#nihongo"</span>
  <span style="color: #008b00; background-color: #b9babd;">"Regexp of channels that are in Japanese"</span>)

(<span style="color: #8b008b; background-color: #b9babd;">defun</span> <span style="color: #00008b; background-color: #b9babd;">ivan-erc-furigana</span> ()
  <span style="color: #008b00; background-color: #b9babd;">"Display furigana when receiving a message in Japanese"</span>
  (<span style="color: #8b008b; background-color: #b9babd;">let</span> ((string (buffer-substring-no-properties
                 (point-min) (1- (point-max)))))
    (<span style="color: #8b008b; background-color: #b9babd;">when</span> (and (string-match ivan-erc-japanese-channel (buffer-name))
               (memq 'unicode (find-charset-region
                               (point-min) (point-max)))
               (ivan-japanese-kanji string))
      (goto-char (point-max))
      (forward-char -1)
      (insert (concat <span style="color: #8b5a00; background-color: #b9babd;">"\n"</span> (ivan-japanese-kakasi string))))))

(add-hook 'erc-insert-modify-hook 'ivan-erc-furigana)

<span style="color: #008b00; background-color: #b9babd;">;; </span><span style="color: #008b00; background-color: #b9babd;">/lisp/emacs.d/ivan-japanese.el
</span>
(<span style="color: #8b008b; background-color: #b9babd;">defvar</span> <span style="color: #000000; background-color: #b9babd;">ivan-japanese-kakasi-buffer</span> <span style="color: #8b5a00; background-color: #b9babd;">"*kakasi*"</span>
  <span style="color: #008b00; background-color: #b9babd;">"Define temporary buffer for kakasi conversion"</span>)

(<span style="color: #8b008b; background-color: #b9babd;">defun</span> <span style="color: #00008b; background-color: #b9babd;">ivan-japanese-kakasi</span> (input)
  <span style="color: #008b00; background-color: #b9babd;">"Take a Japanese string and return INPUT in hiragana"</span>
  (get-buffer-create ivan-japanese-kakasi-buffer)
  (<span style="color: #8b008b; background-color: #b9babd;">with-temp-buffer</span>
    (insert input)
    (<span style="color: #8b008b; background-color: #b9babd;">let</span> ((coding-system-for-read 'euc-jp)
          (coding-system-for-write 'euc-jp))
      (call-process-region
       (point-min) (point-max)
       <span style="color: #8b5a00; background-color: #b9babd;">"kakasi"</span> nil ivan-japanese-kakasi-buffer nil <span style="color: #8b5a00; background-color: #b9babd;">"-JH"</span> <span style="color: #8b5a00; background-color: #b9babd;">"-s"</span>)))
  (<span style="color: #8b008b; background-color: #b9babd;">prog1</span>
      (<span style="color: #8b008b; background-color: #b9babd;">with-current-buffer</span> ivan-japanese-kakasi-buffer
        (buffer-substring-no-properties (point-min) (point-max)))
    (kill-buffer ivan-japanese-kakasi-buffer)))

(<span style="color: #8b008b; background-color: #b9babd;">defun</span> <span style="color: #00008b; background-color: #b9babd;">ivan-japanese-kanji</span> (string)
  <span style="color: #008b00; background-color: #b9babd;">"Return t if string contains Japanese kanji"</span>
  (<span style="color: #8b008b; background-color: #b9babd;">let</span> ((length (length string))
        (count 0)
        (ret nil)
        (char ?a))
    (<span style="color: #8b008b; background-color: #b9babd;">while</span> (&lt; count length)
      (setq char (aref string count))
      (<span style="color: #8b008b; background-color: #b9babd;">if</span> (and (&lt; char ?\u9fa5)
               (&gt; char ?\u4e00))
          (setq ret t))
      (setq count (1+ count)))
    ret))

</pre>

<p class="image"><img src="erc-furigana.png" alt=""></p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sun, 29 Aug 2010 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#IRC%20with%20furigana</guid>

</item>

<item>
<title>nterm version 0.4</title>
<link>blog-emacs.html#nterm%20version%200%2E4</link>
<description><![CDATA[
<p>In this <a href="nterm.html">version of nterm </a>I have added unit testing and reworked ED and EL.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Thu, 26 Aug 2010 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#nterm%20version%200%2E4</guid>

</item>

<item>
<title>nterm version 0.3</title>
<link>blog-emacs.html#nterm%20version%200%2E3</link>
<description><![CDATA[
<p>This version fixed several bugs that made the program
crash. Optimisation makes nterm noticably faster.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sun, 25 Jul 2010 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#nterm%20version%200%2E3</guid>

</item>

<item>
<title>etags and bookmarks</title>
<link>blog-emacs.html#etags%20and%20bookmarks</link>
<description><![CDATA[
<p>I did some contracting work on a C++ project that was a complete
disaster. I used etags on hundreds of classes and I wish I had a tag
history listing mode for emacs. With bookmark it's dead simple, the
following code will stash all etags you jumped to in the bookmark file.</p>

<pre class="src">
<span style="color: #008b00; background-color: #b9babd;">;; </span><span style="color: #008b00; background-color: #b9babd;">put etags information in bookmark
</span>(<span style="color: #8b008b; background-color: #b9babd;">defun</span> <span style="color: #00008b; background-color: #b9babd;">ivan-etags-bookmark</span> ()
  (bookmark-set tagname))

(add-hook 'find-tag-hook 'ivan-etags-bookmark)
</pre>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sun, 30 May 2010 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#etags%20and%20bookmarks</guid>

</item>

<item>
<title>new version of winpack</title>
<link>blog-emacs.html#new%20version%20of%20winpack</link>
<description><![CDATA[
<p>I have made a new version of <a href="winpack.html">winpack</a>. I cut it to half the size. It
includes emacs and many other goodies. Most Unix users will feel at
home with a bash shell and several GNU tools.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sat, 17 Apr 2010 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#new%20version%20of%20winpack</guid>

</item>

<item>
<title>appointment implement variable warning time</title>
<link>blog-emacs.html#appointment%20implement%20variable%20warning%20time</link>
<description><![CDATA[
<p>I use appointment with org. I find that a global time delay for each
appointments is inconvenient. For example I need to be warned an hour
before an appointment downtown and only 5 minutes for a meeting at
work. I have hacked appt.el to keep track of a delay for each
appointment. The function appt-add is compatible with the old appt.</p>

<p>Download the new <a href="appt.el">appt</a>, or apply the <a href="appt.patch">patch</a>.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Thu, 17 Dec 2009 00:00:00 CET</pubDate>
<guid>blog-emacs.html#appointment%20implement%20variable%20warning%20time</guid>

</item>

<item>
<title>nterm version 0.2 is out</title>
<link>blog-emacs.html#nterm%20version%200%2E2%20is%20out</link>
<description><![CDATA[
<p>The big new feature is double width and height font. If you are
interested it can be downloade <a href="nterm.html">here</a>.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sun, 29 Nov 2009 00:00:00 CET</pubDate>
<guid>blog-emacs.html#nterm%20version%200%2E2%20is%20out</guid>

</item>

<item>
<title>Picture for bbdb</title>
<link>blog-emacs.html#Picture%20for%20bbdb</link>
<description><![CDATA[
<p>Bbdb (Big Brother DataBase) is the rolodex of emacs. I have added
picture support so that you can see your contacts face.</p>

<p class="image"><img src="bbdb-picture.png" alt=""></p>

<p>All you need is to download the following file <a href="bbdb-picture.el">bbdb-picture.el</a>.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Sun, 27 Sep 2009 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Picture%20for%20bbdb</guid>

</item>

<item>
<title>Why emacs is great</title>
<link>blog-emacs.html#Why%20emacs%20is%20great</link>
<description><![CDATA[
<p>With emacs you can chat in japanese in irc and look up words you
don't know.</p>

<p class="image"><img src="emacs-erc-lookup.png" alt=""></p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Mon, 14 Sep 2009 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Why%20emacs%20is%20great</guid>

</item>

<item>
<title>Gradient Color Faces on Emacs</title>
<link>blog-emacs.html#Gradient%20Color%20Faces%20on%20Emacs</link>
<description><![CDATA[
<p>Another productive day hacking and what not. A picture is worth a
thousand words. <a href="ivan-face.el">Download the code</a> if you want to use it.</p>


<table class="image">
  <tr><img src="http://kanis.fr/emacs-gradient-face.png" alt="Snapshot of emacs with gradient color faces"></td></tr>
  <tr><td class="image-caption">Snapshot of emacs with gradient color faces</td></tr>
</table>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Fri, 08 Jun 2007 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Gradient%20Color%20Faces%20on%20Emacs</guid>

</item>

<item>
<title>Miscelleneous projects</title>
<link>blog-emacs.html#Miscelleneous%20projects</link>
<description><![CDATA[
<p>This month has been productive with Emacs. The mercurial back-end I
wrote last year made it in CVS. I wrote a world clock that should be
included as well.</p>

<p>I have made a <a href="realplay.el">Real Player interface</a>. It needs X Windows to run. It
interface with emacs-w3m so that you can listen to radio. Users can
bind keys to pause, fast forward, rewind stream.</p>

<p>It can even embed the player in a frame if emacs is compiled with
GTK, I am not using this functionality. I expect it could play video
in a different frame.</p>

<p>I made good progress on a <a href="keyring.el">password manager</a> called keyring. It was
designed with a modular back-end.</p>

<p>Currently, there are two back-ends pwsafe and palm. Pwsafe uses the
program of the same name. Palm is a back-end for the GNU Keyring
program for the Palm OS. It uses a Perl script that called <a href="http://kanis.fr/hg/bin/keyring.pl">keyring.pl</a>.</p>

<p>Support for editing, renaming and deleting entries still needs to
be written.</p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Fri, 29 Jun 2007 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Miscelleneous%20projects</guid>

</item>

<item>
<title>Nxml Mode For Emacs</title>
<link>blog-emacs.html#Nxml%20Mode%20For%20Emacs</link>
<description><![CDATA[
<p>Another tips on emacs. Use James Clark's nxml mode, it is a fantastic
XML mode that validates document on the fly. It is handy to edit
Docbook document.</p>

<p>It can also be used to edit XHTML pages. No need to run the document
through a validator as the errors will be highlighted on the fly. This
software is just too good for words and helps me create valid HTML
document quicker.</p>

<p>The screenshot belows show a document with intentional errors. All
errors are underlined red. If you move the cursor on the error, it
will display more information on the status bar.</p>

<table class="image">
  <tr><img src="http://kanis.fr/nxml.png" alt="Nxml mode in action"></td></tr>
  <tr><td class="image-caption">Nxml mode in action</td></tr>
</table>

<p>There is package ready to install on Debian testing called <code>nxml-mode</code>.</p>

<p><a href="index.html">back</a></p>

]]></description>
<author>Ivan Kanis</author>
<pubDate>Thu, 24 Jun 2004 00:00:00 CEST</pubDate>
<guid>blog-emacs.html#Nxml%20Mode%20For%20Emacs</guid>

</item>

  </channel>
</rss>

