<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>code.h(oe)kje</title>
	<link>http://joost.zeekat.nl</link>
	<description>Webdevelopment en ander cools in Lisp Perl JavaScript &#38; Ruby.</description>
	<pubDate>Thu, 03 Dec 2009 12:15:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>Choosing your clojure startup script from Emacs/SLIME</title>
		<link>http://joost.zeekat.nl/2009/12/03/choosing-your-clojure-startup-script-from-emacsslime/</link>
		<comments>http://joost.zeekat.nl/2009/12/03/choosing-your-clojure-startup-script-from-emacsslime/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 11:59:07 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[clojure]]></category>

		<category><![CDATA[emacs]]></category>

		<category><![CDATA[lisp]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2009/12/03/choosing-your-clojure-startup-script-from-emacsslime/</guid>
		<description><![CDATA[The standard instructions for swank-clojure (the clojure backend to SLIME) imply you always use the same binary and/or classpath for starting your clojure code. The problem with that is that for different projects you generally want to specify at least additional classpaths and possibly even a completely different clojure version.

At the same time, most projects [...]]]></description>
			<content:encoded><![CDATA[<p>The standard instructions for swank-clojure (the clojure backend to SLIME) imply you always use the same binary and/or classpath for starting your clojure code. The problem with that is that for different projects you generally want to specify at least additional classpaths and possibly even a completely different clojure version.</p>
<p>
At the same time, most projects already contain some kind of startup/REPL script, so why not use that? swank-clojure only really needs some code that starts a repl and has the swank-clojure code in its classpath.</p>
<p>
Below is my emacs code to do just that. Just put it somewhere in your emacs init scripts, type <code>M-x clojure</code> and select your startup script and away you go. The following is all my clojure-specific code, but the really "interesting" bit is the <code>(defun clojure ...)</code> bit.</p>
<p><code></p>
<pre>
;; this is needed because swank-clojure complains if you don't have any
;; value for this variable. When you use the clojure command it'll override
;; this value
(setq swank-clojure-binary "clj")

(require 'clojure-mode)
(require 'swank-clojure-autoload)
(require 'swank-clojure)
(require 'slime)

(add-hook 'clojure-mode-hook 'slime-mode)

(add-hook 'clojure-mode-hook 'start-paredit)

(slime-setup
 '(slime-fancy ;; turns on fancy inspector, autodoc and other useful stuff
   slime-highlight-edits)) 

(defun clojure (binary)
  (interactive "fbinary: ")
  (setq swank-clojure-binary (or binary "clj"))
  (setq slime-lisp-implementations
        `((clojure (,swank-clojure-binary) :init swank-clojure-init)))
  (slime))
</pre>
<p></code></p>
<p>My complete emacs init stuff is at <a href="http://github.com/joodie/emacs-d">http://github.com/joodie/emacs-d</a></p>
<p>Oh, before I forget: the code above does assume that you're only using SLIME with clojure and not also with other lisps. If you do need that functionality, you can probably figure out how to make it work.</p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2009/12/03/choosing-your-clojure-startup-script-from-emacsslime/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why the hell doesn&#8217;t IMovie let me save movie files?</title>
		<link>http://joost.zeekat.nl/2009/05/24/why-the-hell-doesnt-imovie-let-me-save-movie-files/</link>
		<comments>http://joost.zeekat.nl/2009/05/24/why-the-hell-doesnt-imovie-let-me-save-movie-files/#comments</comments>
		<pubDate>Sun, 24 May 2009 05:09:55 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2009/05/24/why-the-hell-doesnt-imovie-let-me-save-movie-files/</guid>
		<description><![CDATA[I like my macbook for the OS, but seriously. I just recorded 20 minutes of video and now there's no way to export it? What the bloody @!#@?
]]></description>
			<content:encoded><![CDATA[<p>I like my macbook for the OS, but seriously. I just recorded 20 minutes of video and now there's no way to export it? What the bloody @!#@?</p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2009/05/24/why-the-hell-doesnt-imovie-let-me-save-movie-files/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bassline Synth sourcecode now online</title>
		<link>http://joost.zeekat.nl/2009/03/31/bassline-synth-sourcecode-now-online/</link>
		<comments>http://joost.zeekat.nl/2009/03/31/bassline-synth-sourcecode-now-online/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 11:10:58 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[actionscript]]></category>

		<category><![CDATA[audio]]></category>

		<category><![CDATA[english]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2009/03/31/bassline-synth-sourcecode-now-online/</guid>
		<description><![CDATA[I just released the source code for the simple synthesizer, for those who are interested.
]]></description>
			<content:encoded><![CDATA[<p>I just released <a href="http://github.com/joodie/bassline-experiment/tree/master">the source code</a> for <a href="http://joost.zeekat.nl/bassline.html">the simple synthesizer</a>, for those who are interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2009/03/31/bassline-synth-sourcecode-now-online/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A simple synthesizer in 7.17 Kb of Flash</title>
		<link>http://joost.zeekat.nl/2009/03/19/a-simple-synthesizer-in-717-kb-of-flash/</link>
		<comments>http://joost.zeekat.nl/2009/03/19/a-simple-synthesizer-in-717-kb-of-flash/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 22:52:54 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[actionscript]]></category>

		<category><![CDATA[audio]]></category>

		<category><![CDATA[emacs]]></category>

		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2009/03/19/a-simple-synthesizer-in-717-kb-of-flash/</guid>
		<description><![CDATA[Flash finally raised my curiousity by adding fully programmable audio in Flash player 10. This means you can read the currently playing audio stream to provide reasonably accurate VU meters etc, but more interesting, it means you can write your own audio-generating algorithms.
To test if flash is actually fast enough and to see if it's [...]]]></description>
			<content:encoded><![CDATA[<p>Flash finally raised my curiousity by adding fully programmable audio in Flash player 10. This means you can read the currently playing audio stream to provide reasonably accurate VU meters etc, but more interesting, it means you can write your own audio-generating algorithms.</p>
<p>To test if flash is actually fast enough and to see if it's really possible to write flash apps using nothing but <a href="http://www.adobe.com/products/flex/flexdownloads/">the free mxmlc compiler</a> and <a href="http://www.gnu.org/software/emacs/">emacs</a>, I wrote a simple synthesizer in flash 10. The result is fairly pleasing.</p>
<p><a href='http://joost.zeekat.nl/bassline.html' title='Bassline screenshot'><img src='http://joost.zeekat.nl/wp-content/bassline1.png' alt='Bassline screenshot' /><br><br />
Check it out!<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2009/03/19/a-simple-synthesizer-in-717-kb-of-flash/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adding a modeline to emacs-rails</title>
		<link>http://joost.zeekat.nl/2008/12/06/adding-a-modeline-to-emacs-rails/</link>
		<comments>http://joost.zeekat.nl/2008/12/06/adding-a-modeline-to-emacs-rails/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 20:41:05 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[emacs]]></category>

		<category><![CDATA[lisp]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2008/12/06/adding-a-modeline-to-emacs-rails/</guid>
		<description><![CDATA[I just updated emacs-rails so that feedback on the currently running test is put in the global modeline. This means you get that feedback in all buffers, so you can work on something else while your tests are running, and the minibuffer stays free for useful things.
It's started automatically when emacs-rails is loaded, but that's [...]]]></description>
			<content:encoded><![CDATA[<p>I just updated emacs-rails so that feedback on the currently running test is put in the global modeline. This means you get that feedback in all buffers, so you can work on something else while your tests are running, and the minibuffer stays free for useful things.</p>
<p>It's started automatically when emacs-rails is loaded, but that's customizable of course, and you can switch it on and off using rails-ui:enable-mode-line / rails-ui:disable-mode-line.</p>
<p><img src='http://joost.zeekat.nl/wp-content/modeline.png' alt='the new modeline feature' /></p>
<p>Get it at <a href="http://github.com/remvee/emacs-rails/tree/master">http://github.com/remvee/emacs-rails/tree/master</a></p>
<p><a href="http://github.com/remvee/emacs-rails/commit/f53df6bcfb516ee546fbda8772e9382574ed3676">Here are the commit details</a></p>
<p>Update: actually, the head has some nicely cleaned up code now. So just get that at <a href="http://github.com/remvee/emacs-rails/tree/master">http://github.com/remvee/emacs-rails/tree/master</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2008/12/06/adding-a-modeline-to-emacs-rails/feed/</wfw:commentRss>
		</item>
		<item>
		<title>better console/keyboard menus for emacs</title>
		<link>http://joost.zeekat.nl/2008/09/14/better-consolekeyboard-menus-for-emacs/</link>
		<comments>http://joost.zeekat.nl/2008/09/14/better-consolekeyboard-menus-for-emacs/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 15:32:20 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[emacs]]></category>

		<category><![CDATA[lisp]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2008/09/14/better-consolekeyboard-menus-for-emacs/</guid>
		<description><![CDATA[One of the projects I'm working on is in Ruby on Rails, and I'm using emacs-rails (with some small tweaks) as the development environment.
Emacs rails works fine, except for one thing: the navigation menus (x-popup-menus) are awkward when you want to use the keyboard. So I thought I'd switch on the rails-always-use-text-menus option. Which didn't [...]]]></description>
			<content:encoded><![CDATA[<p>One of the projects I'm working on is in Ruby on Rails, and I'm using <a href="http://github.com/remvee/emacs-rails/tree/master">emacs-rails (with some small tweaks)</a> as the development environment.</p>
<p>Emacs rails works fine, except for one thing: the navigation menus (x-popup-menus) are awkward when you want to use the keyboard. So I thought I'd switch on the rails-always-use-text-menus option. Which didn't actually work, but <a href="http://github.com/remvee/emacs-rails/commit/0ff0e180238d2d87936022a192879dc99a6ba0d1">I fixed that bit</a>.</p>
<p>Rails-always-use-text-menus uses tmm-prompt, which is the standard function on emacs to mimic drop-down menus on the console. and it's <i>almost</i> as horrible as x-popup-menu: if the items in the menu aren't static you can't predict the which key activates which item, and it takes up a lot of screen space:</p>
<h3>Which key can I press to go to the UserPreference model?</h3>
<p><img src='http://joost.zeekat.nl/wp-content/before.png' alt='Before' /></p>
<p>I really like <a href="http://www.emacswiki.org/cgi-bin/wiki/IswitchBuffers">iswitch buffers</a> for buffer navigation, and it seemed to me that it should be possible to navigate the menus using the same technique, even for nested menus.</p>
<p><a href="http://github.com/joodie/iswitch-menu/tree/master">So here is iswitch-menu</a>, a direct replacement for tmm-prompt and/or x-popup-menu. It's not quite finished yet - I'm working out the last issues with some of the more "interesting" constructs used by the menubar keymap - but it's more than adequate for use with emacs-rails, at least.</p>
<h3>Now, I can just type some substring of the name of the model, and go there</h3>
<p><img src='http://joost.zeekat.nl/wp-content/after1.png' alt='after, step 1' /></p>
<h3>First character typed, we can see which models still match</h3>
<p><img src='http://joost.zeekat.nl/wp-content/after2.png' alt='after2.png' /></p>
<h3>Second character typed, only one model still matches.</h3>
<p><img src='http://joost.zeekat.nl/wp-content/after3.png' alt='after3.png' /></p>
<p>Pressing TAB completes the typed text, and goes to the selected model if there's only one. Pressing ENTER opens the first matched model. See also the iswitchb documentation for available tweaks and key bindings.</p>
<p><a href="http://github.com/joodie/iswitch-menu/tree/master" style="font-size: large;">Get iswitch-menu at github</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2008/09/14/better-consolekeyboard-menus-for-emacs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>using emacs&#8217; (compile) command to track errors</title>
		<link>http://joost.zeekat.nl/2008/08/21/using-emacs-compile-command-to-track-errors/</link>
		<comments>http://joost.zeekat.nl/2008/08/21/using-emacs-compile-command-to-track-errors/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 15:14:07 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[emacs]]></category>

		<category><![CDATA[english]]></category>

		<category><![CDATA[lisp]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2008/08/21/using-emacs-compile-command-to-track-errors/</guid>
		<description><![CDATA[For a mod_perl project I'm working on I wanted a way to track the apache error log and jump to the source of the errors from emacs.
Fortunately, emacs' (compile) command makes this very easy:


;; restarts apache and track the error log
(defun apache-restart-and-tail ()
      (interactive)
      (compile [...]]]></description>
			<content:encoded><![CDATA[<p>For a mod_perl project I'm working on I wanted a way to track the apache error log and jump to the source of the errors from emacs.</p>
<p>Fortunately, emacs' <a href="http://www.delorie.com/gnu/docs/emacs/emacs_317.html">(compile)</a> command makes this very easy:</p>
<p><code></p>
<pre>
;; restarts apache and track the error log
(defun apache-restart-and-tail ()
      (interactive)
      (compile "sudo /etc/init.d/httpd restart && sudo tail -f /var/log/httpd/error_log"))

;; key binding
(global-set-key (kbd "&lt;C-kp-enter&gt;") 'apache-restart-and-compile)
</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2008/08/21/using-emacs-compile-command-to-track-errors/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Inconsolata - a nice programming font</title>
		<link>http://joost.zeekat.nl/2008/02/26/inconsolata-a-nice-programming-font/</link>
		<comments>http://joost.zeekat.nl/2008/02/26/inconsolata-a-nice-programming-font/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 13:16:27 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[english]]></category>

		<category><![CDATA[emacs english]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2008/02/26/inconsolata-a-nice-programming-font/</guid>
		<description><![CDATA[My current favorite Emacs*font to work with the new XFT backend is Inconsolata. I've tried a few others, but this font is just very clear, not too fat and not too skinny, and it has a slashed zero, as a programming font should.
There's a debian package too, called "ttf-inconsolata". ** See update below.
Screenshot:

Update: the current [...]]]></description>
			<content:encoded><![CDATA[<p>My current favorite Emacs*font to work with the new XFT backend is <a href="http://www.ghostscript.com/~raph/type/myfonts/inconsolata.html">Inconsolata</a>. I've tried a few others, but this font is just very clear, not too fat and not too skinny, and it has a slashed zero, as a programming font should.</p>
<p>There's a debian package too, called "ttf-inconsolata". ** See update below.</p>
<p>Screenshot:</p>
<p><img src='http://joost.zeekat.nl/wp-content/inconsolata.png' alt='Inconsolata font' /></p>
<p>Update: the current debian ttf-inconsolata has a bug somewhere that means you can't actually use the font. A simple remedy is to install the ttf-inconsolata package and then symlink /usr/share/fonts/truetype/ttf-inconsolata/Inconsolata.ttf to /usr/share/fonts/truetype/ttf-inconsolata/Inconsolata.otf</p>
<p>This may not be technically correct, but it does work.</p>
<p>Also, on my current emacs CVS builds, I need to add the following to my .Xresources to get the anti-aliasing to work reliably:</p>
<p>Emacs.FontBackend: xft</p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2008/02/26/inconsolata-a-nice-programming-font/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rambling on Javascript: &#8220;Constructors considered mildly confusing&#8221;</title>
		<link>http://joost.zeekat.nl/2008/02/11/rambling-on-javascript-constructors-considered-mildly-confusing/</link>
		<comments>http://joost.zeekat.nl/2008/02/11/rambling-on-javascript-constructors-considered-mildly-confusing/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 19:25:42 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[english]]></category>

		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2008/02/11/rambling-on-javascript-constructors-considered-mildly-confusing/</guid>
		<description><![CDATA[In which I poke your eye with the details of prototypes and constructors in JavaScript. Includes pretty diagrams! Read it here:
Constructors considered mildly confusing.
]]></description>
			<content:encoded><![CDATA[<p>In which I poke your eye with the details of prototypes and constructors in JavaScript. Includes pretty diagrams! Read it here:<br />
<a href="/constructors-considered-mildly-confusing.html">Constructors considered mildly confusing</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2008/02/11/rambling-on-javascript-constructors-considered-mildly-confusing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Emacs CVS HEAD (finally) has anti-aliased fonts</title>
		<link>http://joost.zeekat.nl/2008/02/07/emacs-cvs-head-finally-has-anti-aliased-fonts/</link>
		<comments>http://joost.zeekat.nl/2008/02/07/emacs-cvs-head-finally-has-anti-aliased-fonts/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 00:05:44 +0000</pubDate>
		<dc:creator>Joost</dc:creator>
		
		<category><![CDATA[english]]></category>

		<category><![CDATA[link]]></category>

		<category><![CDATA[lisp]]></category>

		<guid isPermaLink="false">http://joost.zeekat.nl/2008/02/07/emacs-cvs-head-finally-has-anti-aliased-fonts/</guid>
		<description><![CDATA[The  emacs-unicode-2 branch has been merged into the main branch. This means really good looking fonts for everyone on X11.
Get it now:

cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co
cd emacs
./configure --with-xpm --with-tiff --with-jpeg --with-png --with-freetype --with-xft --with-rsvg --with-gtk --enable-font-backend
make bootstrap
make
sudo make install

There's no gui interface to select these fonts. I just put the following entry in my .Xresources:

Emacs*font: [...]]]></description>
			<content:encoded><![CDATA[<p>The  emacs-unicode-2 branch has been merged into the main branch. This means really good looking fonts for everyone on X11.</p>
<p>Get it now:</p>
<p><code><br />
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co</p>
<p>cd emacs</p>
<p>./configure --with-xpm --with-tiff --with-jpeg --with-png --with-freetype --with-xft --with-rsvg --with-gtk --enable-font-backend</p>
<p>make bootstrap</p>
<p>make</p>
<p>sudo make install<br />
</code></p>
<p>There's no gui interface to select these fonts. I just put the following entry in my .Xresources:<br />
<code><br />
Emacs*font: Monospace-10<br />
</code></p>
<p>Replace "Monospace-10" with whatever font you like.</p>
]]></content:encoded>
			<wfw:commentRss>http://joost.zeekat.nl/2008/02/07/emacs-cvs-head-finally-has-anti-aliased-fonts/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
