<?xml version="1.0"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Demonastery.org</title>
    <link>https://demonastery.org/</link>
    <atom:link href="https://demonastery.org/rss.xml" rel="self" type="application/rss+xml" />
    <description>demonastery.org</description>
    <language>en-us</language>
    <pubDate>Sat, 13 Dec 2025 14:09:48 -0600</pubDate>
    <lastBuildDate>Sat, 13 Dec 2025 14:09:48 -0600</lastBuildDate>

    
      
    <item>
      <title>Using Monado QWERTY driver</title>
      <link>https://demonastery.org/2023/04/using-monado-qwerty-driver/</link>
      <pubDate>Thu, 06 Apr 2023 12:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2023/04/using-monado-qwerty-driver</guid>
      <description>&lt;p&gt;The &lt;a href=&quot;https://monado.dev/&quot;&gt;Monado&lt;/a&gt; OpenXR implementation provides a &quot;QWERTY&quot; driver for testing applications using the keyboard and mouse.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Virtual camera and audio on Linux</title>
      <link>https://demonastery.org/2023/04/virtual-camera-and-audio-on-linux/</link>
      <pubDate>Tue, 04 Apr 2023 15:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2023/04/virtual-camera-and-audio-on-linux</guid>
      <description>&lt;p&gt;(The below content was made for NixOS, but the actual configuration should apply to any Linux distribution with Pipewire and other related packages)&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Useful NixOS snippets</title>
      <link>https://demonastery.org/2023/04/useful-nixos-snippets/</link>
      <pubDate>Tue, 04 Apr 2023 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2023/04/useful-nixos-snippets</guid>
      <description>&lt;p&gt;Miscellaneous Nix snippets that I&apos;m using in my configs. While I don&apos;t have sources for these, many have been found and remixed from the &lt;a href=&quot;https://discourse.nixos.org&quot;&gt;NixOS Discourse&lt;/a&gt; and other places online.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Openbox sticky workspaces</title>
      <link>https://demonastery.org/2022/07/openbox-sticky-workspaces/</link>
      <pubDate>Sun, 17 Jul 2022 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2022/07/openbox-sticky-workspaces</guid>
      <description>&lt;p&gt;A feature I find useful in a multi-monitor environment is the ability to pin a workspace to a specific monitor, so that some windows can follow you between workspaces.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Custom packages with NixOS</title>
      <link>https://demonastery.org/2022/05/custom-packages-with-nixos/</link>
      <pubDate>Mon, 16 May 2022 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2022/05/custom-packages-with-nixos</guid>
      <description>&lt;p&gt;Building a simple C daemon with Nix, adding it into an existing NixOS configuration without modifying nixpkgs, and then wiring the daemon up to systemd.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>insert-file-as-base64</title>
      <link>https://demonastery.org/2020/07/insert-file-as-base64/</link>
      <pubDate>Wed, 29 Jul 2020 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2020/07/insert-file-as-base64</guid>
      <description>&lt;p&gt;Small Emacs function I used to base64 encode the icons in the &lt;a href=&quot;/assets/main.css&quot;&gt;CSS for demonastery.org&lt;/a&gt;. Requires the GNU coreutils &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;base64&lt;/code&gt; tool.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Window Capture hotkey for OBS</title>
      <link>https://demonastery.org/2020/05/window-capture-hotkey-obs/</link>
      <pubDate>Fri, 15 May 2020 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2020/05/window-capture-hotkey-obs</guid>
      <description>&lt;p&gt;OBS Studio allows you to configure a hotkey to change the captured window for a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Game Capture&lt;/code&gt; source. However this ability to use a hotkey is missing from the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Window Capture&lt;/code&gt; source.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Long time no C</title>
      <link>https://demonastery.org/2020/05/long-time-no-c/</link>
      <pubDate>Fri, 08 May 2020 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2020/05/long-time-no-c</guid>
      <description>&lt;p&gt;I&apos;m spending some quality time with C again after a solid multi-year detour with Rust and I&apos;m really enjoying myself.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Push multiple git remotes</title>
      <link>https://demonastery.org/2013/07/git-mpush/</link>
      <pubDate>Sun, 21 Jul 2013 00:15:00 -0500</pubDate>
      <guid>https://demonastery.org/2013/07/git-mpush</guid>
      <description>&lt;p&gt;Push to multiple remotes with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git mpush origin,github master&lt;/code&gt;.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Being evil with narrow-to-region-indirect</title>
      <link>https://demonastery.org/2013/04/emacs-evil-narrow-region/</link>
      <pubDate>Sun, 21 Apr 2013 23:55:00 -0500</pubDate>
      <guid>https://demonastery.org/2013/04/emacs-evil-narrow-region</guid>
      <description>&lt;p&gt;Emacs has a great vim emulation mode named &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;evil-mode&lt;/code&gt;. Of course it is also trivial to extend. Here is an example of defining a custom operator for by using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;evil-define-operator&lt;/code&gt;:&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Narrow-to-region-indirect for Emacs</title>
      <link>https://demonastery.org/2013/04/emacs-narrow-to-region-indirect/</link>
      <pubDate>Thu, 18 Apr 2013 08:25:00 -0500</pubDate>
      <guid>https://demonastery.org/2013/04/emacs-narrow-to-region-indirect</guid>
      <description>&lt;p&gt;I&apos;m once again an Emacs convert (spoken multiple times since this was first posted). I used Emacs a fair bit back in 2011 as my main editor (when &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;vimpulse&lt;/code&gt; was becoming a viable alternative to native Vim and I forced Emacs upon myself for as long as I could), I &lt;a href=&quot;http://demonastery.org/2010/10/sawfish-and-emacs-org-mode/&quot;&gt;even&lt;/a&gt; &lt;a href=&quot;http://demonastery.org/2011/07/emacs-tip-vimpulse/&quot;&gt;wrote&lt;/a&gt; a &lt;a href=&quot;http://demonastery.org/2011/05/org-agenda-sms-el/&quot;&gt;few&lt;/a&gt; &lt;a href=&quot;http://demonastery.org/2009/05/automatic-agenda-notification/&quot;&gt;posts&lt;/a&gt; about extending it. But eventually it was starting to feel sluggish with everything I was throwing at it and I had to give it up (looking back, it was probably a bad minor-mode or two).&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>A literate-style program compiler'</title>
      <link>https://demonastery.org/2013/02/litc-literate-program-compiler/</link>
      <pubDate>Thu, 28 Feb 2013 20:45:00 -0600</pubDate>
      <guid>https://demonastery.org/2013/02/litc-literate-program-compiler</guid>
      <description>&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Literate_programming&quot;&gt;Literate programming&lt;/a&gt;, introduced by Donald Knuth, is a technique of writing programs in the natural order and style that you would use if you were to verbally describe the way a program works. Literate programming is designed to break the order of source code required by traditional compilers. It can be fun to build programs in this way by simply starting a document with a description and a list of headers for each feature.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>"Monkey Patching" in Ruby</title>
      <link>https://demonastery.org/2012/11/monkey-patching-in-ruby/</link>
      <pubDate>Wed, 28 Nov 2012 23:00:00 -0600</pubDate>
      <guid>https://demonastery.org/2012/11/monkey-patching-in-ruby</guid>
      <description>&lt;p&gt;I don&apos;t use a whole lot of Ruby in my day to day work, but it is a language that is very quickly growing on me for several reasons.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>A Jekyll hook for Gitolite</title>
      <link>https://demonastery.org/2012/11/jekyll-gitolite-hook/</link>
      <pubDate>Tue, 20 Nov 2012 02:39:00 -0600</pubDate>
      <guid>https://demonastery.org/2012/11/jekyll-gitolite-hook</guid>
      <description>&lt;p&gt;I&apos;m back again to share a quick hook for updating a mojombo/jekyll based website or blog upon pushing to sitaramc/gitolite.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Live project documentation in Redmine</title>
      <link>https://demonastery.org/2012/11/project-documentation-in-redmine/</link>
      <pubDate>Sat, 17 Nov 2012 18:27:00 -0600</pubDate>
      <guid>https://demonastery.org/2012/11/project-documentation-in-redmine</guid>
      <description>&lt;p&gt;Continuing this &lt;a href=&quot;/2012/10/a-redmine-hook/&quot;&gt;series&lt;/a&gt; of posts on &lt;a href=&quot;/2012/09/a-hooking-system-for-gitolite/&quot;&gt;Gitolite hooks&lt;/a&gt;, this time I will be adding live project documentation to Redmine, using &lt;a href=&quot;http://www.doxygen.org&quot;&gt;Doxygen&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>A SkypeKit transport for DCBot</title>
      <link>https://demonastery.org/2012/10/skypekit-transport-for-dcbot/</link>
      <pubDate>Mon, 29 Oct 2012 04:30:00 -0500</pubDate>
      <guid>https://demonastery.org/2012/10/skypekit-transport-for-dcbot</guid>
      <description>&lt;p&gt;A couple of posts back I walked through putting together a (somewhat) &lt;a href=&quot;http://demonastery.org/2012/07/building-a-decoupled-irc-bot-part-zero/&quot;&gt;decoupled bot system&lt;/a&gt; using &lt;a href=&quot;http://zero.mq&quot;&gt;ZeroMQ&lt;/a&gt; and a bunch of scripts in various languages.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>A Redmine hook for repo updates</title>
      <link>https://demonastery.org/2012/10/a-redmine-hook/</link>
      <pubDate>Sat, 27 Oct 2012 19:50:00 -0500</pubDate>
      <guid>https://demonastery.org/2012/10/a-redmine-hook</guid>
      <description>&lt;p&gt;In my last post I showed how to build a simple &lt;a href=&quot;/2012/09/a-hooking-system-for-gitolite&quot;&gt;hooking system&lt;/a&gt; for sitaramc/gitolite Now I just want to share a very small script used to update &lt;a href=&quot;http://redmine.org&quot;&gt;Redmine&lt;/a&gt; changesets when you push to a git repository.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>A hooking system for Gitolite</title>
      <link>https://demonastery.org/2012/09/a-hooking-system-for-gitolite/</link>
      <pubDate>Fri, 07 Sep 2012 06:42:00 -0500</pubDate>
      <guid>https://demonastery.org/2012/09/a-hooking-system-for-gitolite</guid>
      <description>&lt;p&gt;sitaramc/gitolite is a wonderful tool that makes hosting git repositories pain-free. Gitolite also supports adding custom hooks but for whatever reason I found it a little hard to get my head around for what I wanted (a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;post-receive&lt;/code&gt; hook per repository).&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Building a decoupled IRC bot. Part Two: Functionality</title>
      <link>https://demonastery.org/2012/08/building-a-decoupled-irc-bot-part-two/</link>
      <pubDate>Sat, 04 Aug 2012 07:44:00 -0500</pubDate>
      <guid>https://demonastery.org/2012/08/building-a-decoupled-irc-bot-part-two</guid>
      <description>&lt;p&gt;Welcome to part three of this series. In this post I&apos;m going to show how easy it is to turn what is currently a completely useless bot into something genuinely useful to you and your team.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Building a decoupled IRC bot. Part One: Transports</title>
      <link>https://demonastery.org/2012/07/building-a-decoupled-irc-bot-part-one/</link>
      <pubDate>Sat, 21 Jul 2012 07:20:00 -0500</pubDate>
      <guid>https://demonastery.org/2012/07/building-a-decoupled-irc-bot-part-one</guid>
      <description>&lt;p&gt;&lt;em&gt;First rule of writing blog posts, don&apos;t give yourself arbitrary deadlines! :)&lt;/em&gt;&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Building a decoupled IRC bot. Part Zero: Core</title>
      <link>https://demonastery.org/2012/07/building-a-decoupled-irc-bot-part-zero/</link>
      <pubDate>Sun, 15 Jul 2012 15:30:00 -0500</pubDate>
      <guid>https://demonastery.org/2012/07/building-a-decoupled-irc-bot-part-zero</guid>
      <description>&lt;p&gt;In todays episode of demonastery.org I&apos;m going to build yet another IRC bot!&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Lambda concealing in Vim</title>
      <link>https://demonastery.org/2012/07/lambda-conceal-in-vim/</link>
      <pubDate>Thu, 12 Jul 2012 20:30:00 -0500</pubDate>
      <guid>https://demonastery.org/2012/07/lambda-conceal-in-vim</guid>
      <description>&lt;p&gt;One of the features I miss the most from Emacs when using Vim is the ability to mask certain strings as other strings (eg. Unicode symbols). The most often used case for this is when dealing with Greek characters (such as &lt;em&gt;lambda&lt;/em&gt;), or when writing Tex.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>LogPixels DPI hack</title>
      <link>https://demonastery.org/2012/01/logpixels-dpi-hack/</link>
      <pubDate>Wed, 04 Jan 2012 00:00:00 -0600</pubDate>
      <guid>https://demonastery.org/2012/01/logpixels-dpi-hack</guid>
      <description>&lt;p&gt;Here&apos;s a handy tip for those netbook users out there in dire need of more screen estate.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Docstrings in my Chicken?</title>
      <link>https://demonastery.org/2011/11/docstrings-in-my-chicken/</link>
      <pubDate>Sun, 13 Nov 2011 00:00:00 -0600</pubDate>
      <guid>https://demonastery.org/2011/11/docstrings-in-my-chicken</guid>
      <description>&lt;p&gt;Here&apos;s a little bit of amateur code to enable the use of &lt;a href=&quot;http://en.wikipedia.org/wiki/Docstring&quot;&gt;docstrings&lt;/a&gt; in Chicken Scheme.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Emacs Tip: Vimpulse</title>
      <link>https://demonastery.org/2011/07/emacs-tip-vimpulse/</link>
      <pubDate>Thu, 07 Jul 2011 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2011/07/emacs-tip-vimpulse</guid>
      <description>&lt;p&gt;One thing I love about Emacs is that it is so extensible. I was an avid Vim user for a long time and it took me several tries to switch to Emacs, but I will never look back. With the &lt;a href=&quot;http://gitorious.org/vimpulse&quot;&gt;Vimpulse&lt;/a&gt; addon to the built-in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;viper-mode&lt;/code&gt;, Emacs becomes a powerful Vim impersonator, capable of being extended with Emacs-Lisp.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Adding FreeType to our Demo</title>
      <link>https://demonastery.org/2011/06/adding-freetype-to-our-demo/</link>
      <pubDate>Sun, 05 Jun 2011 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2011/06/adding-freetype-to-our-demo</guid>
      <description>&lt;p&gt;Continuing on from my &lt;a href=&quot;http://demonastery.org/60/chicken-scheme-and-opengl/&quot;&gt;Chicken Scheme, and OpenGL&lt;/a&gt; tutorial, I&apos;m going to show you how to extend it to render pretty FreeType text using the &lt;a href=&quot;http://homepages.paradise.net.nz/henryj/code/&quot;&gt;FTGL&lt;/a&gt; library. Follow the code below for details as always; it&apos;s really easy! :)&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>org-agenda to SMS</title>
      <link>https://demonastery.org/2011/05/org-agenda-sms-el/</link>
      <pubDate>Thu, 12 May 2011 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2011/05/org-agenda-sms-el</guid>
      <description>&lt;p&gt;The aim of this code is to check your &lt;a href=&quot;http://orgmode.org&quot;&gt;org-mode&lt;/a&gt; agenda for any headings with DEADLINEs and create a vcalendar for each, and then send them to your phone via an SMS gateway such as &lt;a href=&quot;http://clickatell.com&quot;&gt;Clickatell&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>More Practical Chicken</title>
      <link>https://demonastery.org/2011/05/more-practical-chicken/</link>
      <pubDate>Thu, 12 May 2011 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2011/05/more-practical-chicken</guid>
      <description>&lt;p&gt;As I love sharing code on my blog, and I love &lt;a href=&quot;http://call-cc.org&quot;&gt;Chicken Scheme&lt;/a&gt;, I&apos;m going to share a couple of handy and practical features that I&apos;ve made use of recently.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Change GTK display on the fly</title>
      <link>https://demonastery.org/2011/04/change-gtk-display-on-the-fly/</link>
      <pubDate>Sat, 09 Apr 2011 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2011/04/change-gtk-display-on-the-fly</guid>
      <description>&lt;p&gt;Using some shared library injection it&apos;s possible to change the display of a GTK window while it&apos;s running.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Mimicking Threading in PHP</title>
      <link>https://demonastery.org/2011/04/mimicking-threading-in-php/</link>
      <pubDate>Sun, 03 Apr 2011 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2011/04/mimicking-threading-in-php</guid>
      <description>&lt;p&gt;Here&apos;s a shitty method of mimicking threads in PHP through &lt;a href=&quot;http://en.wikipedia.org/wiki/Fork_(operating_system)&quot;&gt;forking&lt;/a&gt; of the PHP interpreter. You will also need to make sure that you have the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;extension=sockets.so&lt;/code&gt; somewhere in your &lt;strong&gt;php.ini&lt;/strong&gt;.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Chicken Scheme, and OpenGL</title>
      <link>https://demonastery.org/2011/04/chicken-scheme-and-opengl/</link>
      <pubDate>Sat, 02 Apr 2011 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2011/04/chicken-scheme-and-opengl</guid>
      <description>&lt;p&gt;Today I&apos;m posting an example of how you can quickly get started with &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenGL&quot;&gt;OpenGL&lt;/a&gt; using &lt;a href=&quot;http://call-cc.org&quot;&gt;Chicken Scheme&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Acer Aspire ONE D255E</title>
      <link>https://demonastery.org/2011/03/acer-aspire-one-d255e/</link>
      <pubDate>Sun, 27 Mar 2011 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2011/03/acer-aspire-one-d255e</guid>
      <description>&lt;p&gt;A week ago I went searching for a small netbook. My requirements were pretty simple; it needed to be cheap, and be able to dual boot Linux and Windows 7. Because I&apos;m in New Zealand, the first place I checked out was &lt;a href=&quot;http://dse.co.nz&quot;&gt;Dick Smith Electronics&lt;/a&gt;, which currently had a great special running on the Acer Aspire ONE D255E (&lt;strong&gt;$399 NZD&lt;/strong&gt;, roughly &lt;strong&gt;$300 USD&lt;/strong&gt;). Now the specs listed on the site were actually false, but the actual specs of the laptop are higher.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>A Newbie Guide to Call/cc</title>
      <link>https://demonastery.org/2011/03/a-newbie-guide-to-call-cc/</link>
      <pubDate>Mon, 14 Mar 2011 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2011/03/a-newbie-guide-to-call-cc</guid>
      <description>&lt;p&gt;I haven&apos;t had much to write about in the last couple of weeks, but I&apos;ve really wanted to do a small piece on the magic of &lt;a href=&quot;http://en.wikipedia.org/wiki/Call-with-current-continuation&quot;&gt;call-with-current-continuation&lt;/a&gt; in Scheme, aka. &lt;strong&gt;call/cc&lt;/strong&gt;.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>A Scheme Infix Transformer</title>
      <link>https://demonastery.org/2011/03/a-scheme-infix-transformer/</link>
      <pubDate>Tue, 08 Mar 2011 00:00:00 -0600</pubDate>
      <guid>https://demonastery.org/2011/03/a-scheme-infix-transformer</guid>
      <description>&lt;p&gt;As promised in the last post, I am going to share an &lt;a href=&quot;http://en.wikipedia.org/wiki/Infix_notation&quot;&gt;infix&lt;/a&gt; function, that takes a list that looks like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(1 + (2 * 3))&lt;/code&gt; and turns it into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(+ 1 (* 2 3))&lt;/code&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/Prefix_notation&quot;&gt;Prefix&lt;/a&gt;).&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>An Intro to Scheme Macros</title>
      <link>https://demonastery.org/2011/03/an-intro-to-scheme-macros/</link>
      <pubDate>Mon, 07 Mar 2011 00:00:00 -0600</pubDate>
      <guid>https://demonastery.org/2011/03/an-intro-to-scheme-macros</guid>
      <description>&lt;p&gt;In this post I want to go a little deeper into the &lt;a href=&quot;http://en.wikipedia.org/wiki/Macro_%28computer_science%29&quot;&gt;macro&lt;/a&gt; system of Scheme (particularly Chicken), and share a couple of macros I&apos;ve created.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Quake 2 Hacking</title>
      <link>https://demonastery.org/2011/02/quake-2-hacking/</link>
      <pubDate>Sun, 20 Feb 2011 00:00:00 -0600</pubDate>
      <guid>https://demonastery.org/2011/02/quake-2-hacking</guid>
      <description>&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/60zIh.jpg&quot;&gt;&lt;img src=&quot;https://i.imgur.com/60zIhm.jpg&quot; alt=&quot;https://i.imgur.com/60zIhm.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Chicken Scheme, and FFI</title>
      <link>https://demonastery.org/2011/01/chicken-scheme-and-ffi/</link>
      <pubDate>Mon, 31 Jan 2011 00:00:00 -0600</pubDate>
      <guid>https://demonastery.org/2011/01/chicken-scheme-and-ffi</guid>
      <description>&lt;p&gt;As a follow up on yesterdays post I&apos;m going to show how easy it is to integrate some third party functionality in to a web application to provide &quot;automatic tagging&quot; using &lt;a href=&quot;http://libots.sourceforge.net&quot;&gt;libots&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Chicken Scheme, and Web RAD</title>
      <link>https://demonastery.org/2011/01/chicken-scheme-and-web-rad/</link>
      <pubDate>Sun, 30 Jan 2011 00:00:00 -0600</pubDate>
      <guid>https://demonastery.org/2011/01/chicken-scheme-and-web-rad</guid>
      <description>&lt;p&gt;Recently I&apos;ve taken more of a liking to &lt;a href=&quot;http://call-cc.org&quot;&gt;Chicken Scheme&lt;/a&gt;, and started trying to use it for more of my day to day development. Recently I wrote a port (ZaneA/PongClock) of a &lt;a href=&quot;http://www.reddit.com/r/web_design/comments/f6xff/html5js_pong_clock/&quot;&gt;JS + HTML5 Pong Clock&lt;/a&gt; into Chicken Scheme using the OpenGL + GLUT libraries. I couldn&apos;t believe how smoothly it went, since it was a line by line port, the only thing I needed to write myself were the graphics drawing routines, easy enough since we&apos;re only dealing with white rectangles after all, but now it functions as a cross platform screensaver (verified on Linux, OSX, and XP!).&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Sawfish and Emacs/org-mode</title>
      <link>https://demonastery.org/2010/10/sawfish-and-emacs-org-mode/</link>
      <pubDate>Wed, 27 Oct 2010 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2010/10/sawfish-and-emacs-org-mode</guid>
      <description>&lt;p&gt;Hi there, Today I&apos;m going to write a small example on connecting the &lt;a href=&quot;http://sawfish.wikia.com&quot;&gt;Sawfish window manager&lt;/a&gt; to the &lt;a href=&quot;http://gnu.org/software/emacs&quot;&gt;Emacs text editor&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Scheme-to-PHP</title>
      <link>https://demonastery.org/2010/09/scheme-to-php/</link>
      <pubDate>Tue, 28 Sep 2010 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2010/09/scheme-to-php</guid>
      <description>&lt;p&gt;&lt;img src=&quot;/images/chicken.png&quot; alt=&quot;/images/chicken.png&quot; /&gt;&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>ProtoIRC</title>
      <link>https://demonastery.org/2010/07/protoirc/</link>
      <pubDate>Fri, 09 Jul 2010 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2010/07/protoirc</guid>
      <description>&lt;p&gt;So I made a tiny and very hackable IRC bot/client base in PHP for rapid prototyping. Of course I threw it on &lt;a href=&quot;http://github.com/ZaneA/ProtoIRC&quot;&gt;GitHub&lt;/a&gt;. It makes heavy use of PHP &amp;gt;= 5.3 closure support as well as regular expressions for defining just about everything. Basic knowledge of the IRC protocol is recommended. You can find more information in the README file in the previous link.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Misc Win32 Utilities</title>
      <link>https://demonastery.org/2010/06/misc-win32-utilities/</link>
      <pubDate>Tue, 01 Jun 2010 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2010/06/misc-win32-utilities</guid>
      <description>&lt;p&gt;Just created a new git repository on GitHub for my &lt;a href=&quot;http://github.com/ZaneA/Win32-Hacks&quot;&gt;Miscellaneous Win32 utilities&lt;/a&gt;. Right now it just has my ExplorerGestures code, but I will be adding some more utilities as I find them on my hard drive.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>PrepFS</title>
      <link>https://demonastery.org/2010/05/prepfs/</link>
      <pubDate>Mon, 31 May 2010 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2010/05/prepfs</guid>
      <description>&lt;p&gt;Been a while since I posted anything here, and it&apos;s always good to have some fresh content, so I thought I&apos;d post my latest creation PrepFS (Pre-process FS), a small utility FUSE filesystem, that enables preprocessing of files.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>MPD Class for PHP</title>
      <link>https://demonastery.org/2010/05/mpd-class-for-php/</link>
      <pubDate>Mon, 31 May 2010 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2010/05/mpd-class-for-php</guid>
      <description>&lt;p&gt;I&apos;ve just been going through a couple of folders and I found a very basic PHP class I wrote to control the &lt;a href=&quot;http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki&quot;&gt;Music Player Daemon&lt;/a&gt;. Assuming the text protocol hasn&apos;t changed much it should still work fine :)&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>ExplorerGestures</title>
      <link>https://demonastery.org/2009/10/explorergestures/</link>
      <pubDate>Sat, 03 Oct 2009 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2009/10/explorergestures</guid>
      <description>&lt;p&gt;So it&apos;s &lt;strong&gt;2:56&lt;/strong&gt; in the AM and I&apos;ve just hacked up a little app to enable moving up a directory in Windows Explorer by using the Thunar &lt;strong&gt;middle click + drag up&lt;/strong&gt; gesture. You can find it at ZaneA/Win32-Hacks.&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Automatic agenda notification</title>
      <link>https://demonastery.org/2009/05/automatic-agenda-notification/</link>
      <pubDate>Sat, 02 May 2009 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2009/05/automatic-agenda-notification</guid>
      <description>&lt;p&gt;This article will show you how to utilize Emacs org-mode, python, a Nokia mobile (others may work too), and an SMS gateway like Clickatell, in order to receive a daily agenda that fits nicely into the phones calendar by using the vCalendar format. Yes that&apos;s a fairly specialized combination, but hopefully will be useful to someone. I&apos;m sure it&apos;s possible to do the same using bluetooth instead of and SMS gateway, and I may update this to reflect that at some stage..&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>I can haz assembly!</title>
      <link>https://demonastery.org/2009/04/i-can-haz-assembly/</link>
      <pubDate>Mon, 20 Apr 2009 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2009/04/i-can-haz-assembly</guid>
      <description>&lt;p&gt;Simple CPUID, I also experimented with a version using an extra buffer variable and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;printf&lt;/code&gt;.
It may not be much to others but I&apos;m learning!&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>A simple wallpaper wrapper</title>
      <link>https://demonastery.org/2009/03/a-simple-wallpaper-wrapper/</link>
      <pubDate>Fri, 13 Mar 2009 00:00:00 -0500</pubDate>
      <guid>https://demonastery.org/2009/03/a-simple-wallpaper-wrapper</guid>
      <description>&lt;p&gt;Edit as necessary, requires hsetroot, mplayer, and a working xvidix on your graphics card (for video).&lt;/p&gt;
</description>
    </item>
      
    
      
    <item>
      <title>Change fonts dynamically</title>
      <link>https://demonastery.org/2009/02/change-fonts-dynamically/</link>
      <pubDate>Wed, 18 Feb 2009 00:00:00 -0600</pubDate>
      <guid>https://demonastery.org/2009/02/change-fonts-dynamically</guid>
      <description>&lt;p&gt;After some Q and A on the ArchLinux forums, I am left with this in my .zshrc, the ability to change fonts on the fly:&lt;/p&gt;
</description>
    </item>
      
    

  </channel> 
</rss>
