<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
  <title>Demonastery.org</title>
  <link href="https://demonastery.org/"/>
  <link type="application/atom+xml" rel="self" href="https://demonastery.org/atom.xml"/>
  <updated>2025-12-13T14:09:48-06:00</updated>
  <id>https://demonastery.org/</id>

  
    
  <entry>
    <id>https://demonastery.org/2023/04/using-monado-qwerty-driver</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2023/04/using-monado-qwerty-driver/"/>
    <title>Using Monado QWERTY driver</title>
    <published>2023-04-06T12:00:00-05:00</published>
    <updated>2023-04-06T12:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2023/04/virtual-camera-and-audio-on-linux</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2023/04/virtual-camera-and-audio-on-linux/"/>
    <title>Virtual camera and audio on Linux</title>
    <published>2023-04-04T15:00:00-05:00</published>
    <updated>2023-04-04T15:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2023/04/useful-nixos-snippets</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2023/04/useful-nixos-snippets/"/>
    <title>Useful NixOS snippets</title>
    <published>2023-04-04T00:00:00-05:00</published>
    <updated>2023-04-04T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2022/07/openbox-sticky-workspaces</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2022/07/openbox-sticky-workspaces/"/>
    <title>Openbox sticky workspaces</title>
    <published>2022-07-17T00:00:00-05:00</published>
    <updated>2022-07-17T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2022/05/custom-packages-with-nixos</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2022/05/custom-packages-with-nixos/"/>
    <title>Custom packages with NixOS</title>
    <published>2022-05-16T00:00:00-05:00</published>
    <updated>2022-05-16T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2020/07/insert-file-as-base64</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2020/07/insert-file-as-base64/"/>
    <title>insert-file-as-base64</title>
    <published>2020-07-29T00:00:00-05:00</published>
    <updated>2020-07-29T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2020/05/window-capture-hotkey-obs</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2020/05/window-capture-hotkey-obs/"/>
    <title>Window Capture hotkey for OBS</title>
    <published>2020-05-15T00:00:00-05:00</published>
    <updated>2020-05-15T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2020/05/long-time-no-c</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2020/05/long-time-no-c/"/>
    <title>Long time no C</title>
    <published>2020-05-08T00:00:00-05:00</published>
    <updated>2020-05-08T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2013/07/git-mpush</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2013/07/git-mpush/"/>
    <title>Push multiple git remotes</title>
    <published>2013-07-21T00:15:00-05:00</published>
    <updated>2013-07-21T00:15:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2013/04/emacs-evil-narrow-region</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2013/04/emacs-evil-narrow-region/"/>
    <title>Being evil with narrow-to-region-indirect</title>
    <published>2013-04-21T23:55:00-05:00</published>
    <updated>2013-04-21T23:55:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2013/04/emacs-narrow-to-region-indirect</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2013/04/emacs-narrow-to-region-indirect/"/>
    <title>Narrow-to-region-indirect for Emacs</title>
    <published>2013-04-18T08:25:00-05:00</published>
    <updated>2013-04-18T08:25:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2013/02/litc-literate-program-compiler</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2013/02/litc-literate-program-compiler/"/>
    <title>A literate-style program compiler'</title>
    <published>2013-02-28T20:45:00-06:00</published>
    <updated>2013-02-28T20:45:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/11/monkey-patching-in-ruby</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/11/monkey-patching-in-ruby/"/>
    <title>"Monkey Patching" in Ruby</title>
    <published>2012-11-28T23:00:00-06:00</published>
    <updated>2012-11-28T23:00:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/11/jekyll-gitolite-hook</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/11/jekyll-gitolite-hook/"/>
    <title>A Jekyll hook for Gitolite</title>
    <published>2012-11-20T02:39:00-06:00</published>
    <updated>2012-11-20T02:39:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/11/project-documentation-in-redmine</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/11/project-documentation-in-redmine/"/>
    <title>Live project documentation in Redmine</title>
    <published>2012-11-17T18:27:00-06:00</published>
    <updated>2012-11-17T18:27:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/10/skypekit-transport-for-dcbot</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/10/skypekit-transport-for-dcbot/"/>
    <title>A SkypeKit transport for DCBot</title>
    <published>2012-10-29T04:30:00-05:00</published>
    <updated>2012-10-29T04:30:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/10/a-redmine-hook</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/10/a-redmine-hook/"/>
    <title>A Redmine hook for repo updates</title>
    <published>2012-10-27T19:50:00-05:00</published>
    <updated>2012-10-27T19:50:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/09/a-hooking-system-for-gitolite</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/09/a-hooking-system-for-gitolite/"/>
    <title>A hooking system for Gitolite</title>
    <published>2012-09-07T06:42:00-05:00</published>
    <updated>2012-09-07T06:42:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/08/building-a-decoupled-irc-bot-part-two</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/08/building-a-decoupled-irc-bot-part-two/"/>
    <title>Building a decoupled IRC bot. Part Two: Functionality</title>
    <published>2012-08-04T07:44:00-05:00</published>
    <updated>2012-08-04T07:44:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/07/building-a-decoupled-irc-bot-part-one</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/07/building-a-decoupled-irc-bot-part-one/"/>
    <title>Building a decoupled IRC bot. Part One: Transports</title>
    <published>2012-07-21T07:20:00-05:00</published>
    <updated>2012-07-21T07:20:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/07/building-a-decoupled-irc-bot-part-zero</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/07/building-a-decoupled-irc-bot-part-zero/"/>
    <title>Building a decoupled IRC bot. Part Zero: Core</title>
    <published>2012-07-15T15:30:00-05:00</published>
    <updated>2012-07-15T15:30:00-05:00</updated>
    <content type="html">&lt;p&gt;In todays episode of demonastery.org I&apos;m going to build yet another IRC bot!&lt;/p&gt;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/07/lambda-conceal-in-vim</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/07/lambda-conceal-in-vim/"/>
    <title>Lambda concealing in Vim</title>
    <published>2012-07-12T20:30:00-05:00</published>
    <updated>2012-07-12T20:30:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2012/01/logpixels-dpi-hack</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2012/01/logpixels-dpi-hack/"/>
    <title>LogPixels DPI hack</title>
    <published>2012-01-04T00:00:00-06:00</published>
    <updated>2012-01-04T00:00:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/11/docstrings-in-my-chicken</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/11/docstrings-in-my-chicken/"/>
    <title>Docstrings in my Chicken?</title>
    <published>2011-11-13T00:00:00-06:00</published>
    <updated>2011-11-13T00:00:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/07/emacs-tip-vimpulse</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/07/emacs-tip-vimpulse/"/>
    <title>Emacs Tip: Vimpulse</title>
    <published>2011-07-07T00:00:00-05:00</published>
    <updated>2011-07-07T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/06/adding-freetype-to-our-demo</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/06/adding-freetype-to-our-demo/"/>
    <title>Adding FreeType to our Demo</title>
    <published>2011-06-05T00:00:00-05:00</published>
    <updated>2011-06-05T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/05/org-agenda-sms-el</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/05/org-agenda-sms-el/"/>
    <title>org-agenda to SMS</title>
    <published>2011-05-12T00:00:00-05:00</published>
    <updated>2011-05-12T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/05/more-practical-chicken</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/05/more-practical-chicken/"/>
    <title>More Practical Chicken</title>
    <published>2011-05-12T00:00:00-05:00</published>
    <updated>2011-05-12T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/04/change-gtk-display-on-the-fly</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/04/change-gtk-display-on-the-fly/"/>
    <title>Change GTK display on the fly</title>
    <published>2011-04-09T00:00:00-05:00</published>
    <updated>2011-04-09T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/04/mimicking-threading-in-php</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/04/mimicking-threading-in-php/"/>
    <title>Mimicking Threading in PHP</title>
    <published>2011-04-03T00:00:00-05:00</published>
    <updated>2011-04-03T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/04/chicken-scheme-and-opengl</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/04/chicken-scheme-and-opengl/"/>
    <title>Chicken Scheme, and OpenGL</title>
    <published>2011-04-02T00:00:00-05:00</published>
    <updated>2011-04-02T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/03/acer-aspire-one-d255e</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/03/acer-aspire-one-d255e/"/>
    <title>Acer Aspire ONE D255E</title>
    <published>2011-03-27T00:00:00-05:00</published>
    <updated>2011-03-27T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/03/a-newbie-guide-to-call-cc</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/03/a-newbie-guide-to-call-cc/"/>
    <title>A Newbie Guide to Call/cc</title>
    <published>2011-03-14T00:00:00-05:00</published>
    <updated>2011-03-14T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/03/a-scheme-infix-transformer</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/03/a-scheme-infix-transformer/"/>
    <title>A Scheme Infix Transformer</title>
    <published>2011-03-08T00:00:00-06:00</published>
    <updated>2011-03-08T00:00:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/03/an-intro-to-scheme-macros</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/03/an-intro-to-scheme-macros/"/>
    <title>An Intro to Scheme Macros</title>
    <published>2011-03-07T00:00:00-06:00</published>
    <updated>2011-03-07T00:00:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/02/quake-2-hacking</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/02/quake-2-hacking/"/>
    <title>Quake 2 Hacking</title>
    <published>2011-02-20T00:00:00-06:00</published>
    <updated>2011-02-20T00:00:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/01/chicken-scheme-and-ffi</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/01/chicken-scheme-and-ffi/"/>
    <title>Chicken Scheme, and FFI</title>
    <published>2011-01-31T00:00:00-06:00</published>
    <updated>2011-01-31T00:00:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2011/01/chicken-scheme-and-web-rad</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2011/01/chicken-scheme-and-web-rad/"/>
    <title>Chicken Scheme, and Web RAD</title>
    <published>2011-01-30T00:00:00-06:00</published>
    <updated>2011-01-30T00:00:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2010/10/sawfish-and-emacs-org-mode</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2010/10/sawfish-and-emacs-org-mode/"/>
    <title>Sawfish and Emacs/org-mode</title>
    <published>2010-10-27T00:00:00-05:00</published>
    <updated>2010-10-27T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2010/09/scheme-to-php</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2010/09/scheme-to-php/"/>
    <title>Scheme-to-PHP</title>
    <published>2010-09-28T00:00:00-05:00</published>
    <updated>2010-09-28T00:00:00-05:00</updated>
    <content type="html">&lt;p&gt;&lt;img src=&quot;/images/chicken.png&quot; alt=&quot;/images/chicken.png&quot; /&gt;&lt;/p&gt;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2010/07/protoirc</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2010/07/protoirc/"/>
    <title>ProtoIRC</title>
    <published>2010-07-09T00:00:00-05:00</published>
    <updated>2010-07-09T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2010/06/misc-win32-utilities</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2010/06/misc-win32-utilities/"/>
    <title>Misc Win32 Utilities</title>
    <published>2010-06-01T00:00:00-05:00</published>
    <updated>2010-06-01T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2010/05/prepfs</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2010/05/prepfs/"/>
    <title>PrepFS</title>
    <published>2010-05-31T00:00:00-05:00</published>
    <updated>2010-05-31T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2010/05/mpd-class-for-php</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2010/05/mpd-class-for-php/"/>
    <title>MPD Class for PHP</title>
    <published>2010-05-31T00:00:00-05:00</published>
    <updated>2010-05-31T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2009/10/explorergestures</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2009/10/explorergestures/"/>
    <title>ExplorerGestures</title>
    <published>2009-10-03T00:00:00-05:00</published>
    <updated>2009-10-03T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2009/05/automatic-agenda-notification</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2009/05/automatic-agenda-notification/"/>
    <title>Automatic agenda notification</title>
    <published>2009-05-02T00:00:00-05:00</published>
    <updated>2009-05-02T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2009/04/i-can-haz-assembly</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2009/04/i-can-haz-assembly/"/>
    <title>I can haz assembly!</title>
    <published>2009-04-20T00:00:00-05:00</published>
    <updated>2009-04-20T00:00:00-05:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2009/03/a-simple-wallpaper-wrapper</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2009/03/a-simple-wallpaper-wrapper/"/>
    <title>A simple wallpaper wrapper</title>
    <published>2009-03-13T00:00:00-05:00</published>
    <updated>2009-03-13T00:00:00-05:00</updated>
    <content type="html">&lt;p&gt;Edit as necessary, requires hsetroot, mplayer, and a working xvidix on your graphics card (for video).&lt;/p&gt;
</content>
  </entry>
    
  
    
  <entry>
    <id>https://demonastery.org/2009/02/change-fonts-dynamically</id>
    <link type="text/html" rel="alternate" href="https://demonastery.org/2009/02/change-fonts-dynamically/"/>
    <title>Change fonts dynamically</title>
    <published>2009-02-18T00:00:00-06:00</published>
    <updated>2009-02-18T00:00:00-06:00</updated>
    <content type="html">&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;
</content>
  </entry>
    
  
 
</feed>
