<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Land of the diff(1) fish &#187; Uncategorized</title>
	<atom:link href="http://docgno.me/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://docgno.me</link>
	<description>A blog about programming and whatever else docgnome feels like</description>
	<lastBuildDate>Sat, 09 Jan 2010 07:03:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<image>
  <link>http://docgno.me</link>
  <url>http://docgno.me/favicon.ico</url>
  <title>Land of the diff(1) fish</title>
</image>
		<item>
		<title>(Nearly) Mouse-free Linux with StumpWM, Emacs, and Conkeror</title>
		<link>http://docgno.me/2010/01/08/nearly-mouse-free-linux-with-stumpwm-emacs-and-conkeror/</link>
		<comments>http://docgno.me/2010/01/08/nearly-mouse-free-linux-with-stumpwm-emacs-and-conkeror/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 06:30:15 +0000</pubDate>
		<dc:creator>docgnome</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[conkeror]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[mouse-less]]></category>
		<category><![CDATA[stumpwm]]></category>

		<guid isPermaLink="false">http://docgno.me/?p=87</guid>
		<description><![CDATA[First off I have nothing against the mouse But to quote a conkeror dev&#8230; &#60;retroj&#62; i just find it appalling that most software has this built in assumption that people will operate it by fishing around on the screen for &#8220;virtual buttons&#8221; &#8230; &#60;retroj&#62; when there are 101 real buttons on virtually every computer that [...]]]></description>
			<content:encoded><![CDATA[<p>First off I have nothing against the mouse But to quote a conkeror dev&#8230;</p>
<blockquote><p>
&lt;retroj&gt; i just find it appalling that most software has this built in assumption that people will operate it by fishing<br />
    around on the screen for &#8220;virtual buttons&#8221;<br />
&#8230;<br />
&lt;retroj&gt; when there are 101 real buttons on virtually every computer that are easier to &#8220;fish around for&#8221;<br />
&#8230;.<br />
&lt;retroj&gt; the mouse is not a bad input device.  it&#8217;s only bad to use it as the *only* input device
</p></blockquote>
<p>So, how can we make more effecive use of these real buttons? The process is fairly simple.</p>
<h2>Keyboard-Driven Text Editing</h2>
<p>If you&#8217;re a programmer, you probably spend most of your day writing code. Since writing code is just editing text, it makes sense that the first place to start making better use of the keyboard is in the applications you spend most of your day in. The two most well known text editors of this type are <a href="http://www.vim.org">vim</a> and <a href="http://www.gnu.org/software/emacs/">Emacs</a>. I use Emacs, but use whatever you prefer. I recommend you give Emacs a try, though, as it&#8217;s very customizable. (You could run everything you need inside of Emacs and, in fact, you can run it <a href="http://www.informatimago.com/linux/emacs-on-user-mode-linux.html">directly on top of the Linux kernel</a>. I don&#8217;t but there you are.) </p>
<h2>Keyboard-Driven Web Browsing</h2>
<p>The next major step is to find a keyboard-driven web browser that you like. You can, of course, <a href="http://www.emacswiki.org/emacs/CategoryWebBrowser">use Emacs for this</a>, but the browsers inside of Emacs itself offer no support for media like Flash. The two major alternatives are <a href="http://vimperator.org/vimperator">Vimperator</a> and <a href="http://conkeror.org/">Conkeror</a>. Vimperator is, obviously, written to be similar to vim and Conkeror is quite similar to Emacs. I&#8217;ve never used Vimperator so I can&#8217;t say how well it works, but many vimmers seem to like it. Conkeror is a Mozilla-based browser written in JavaScript. It&#8217;s fairly straight forward to customize and the community (in #conkeror on freenode), while small, is active and helpful and (dare I say it) fun!</p>
<h2>Keyboard-Driven Window Management</h2>
<p>This is a pretty major step. So far we&#8217;ve only changed two apps, but a keyboard-driven window manager will affect every app. The most popular window managers of this type appear to be <a href="http://en.wikipedia.org/wiki/Tiling_window_managers">tiling window managers</a>, though they are not by any means the only ones, nor are all tiling window mangers keyboard-driven. I&#8217;ve been using <a href="http://www.nongnu.org/stumpwm/">StumpWM</a> for a few weeks and have been very happy with the results. It&#8217;s written in Common Lisp which it uses for configuration. It&#8217;s pretty cool to be able to hack on your wm, re-eval, and go. It works very well with Emacs and Conkeror. By default it uses C-t as a prefix for management controls. Here are a couple of <a href="http://www.nongnu.org/stumpwm/screenshot.html">cool screenshots</a>. There is also a <a href="http://ia341212.us.archive.org/2/items/TheStumpWMExperience/TheStumpWMExperience.ogg">great screencast</a> (also <a href="http://www.youtube.com/watch?v=tKt_rVO960Q">on YouTube</a> for the .ogg challenged).</p>
<h2>Nearly?</h2>
<p>Ok, so why did I say &#8220;nearly&#8221; mouse-less? Well, there are some things you still need to grab a mouse for. Some apps, like GIMP, aren&#8217;t really usable without a mouse. But that&#8217;s ok. The mouse is great. It&#8217;s just not the only input device.</p>
]]></content:encoded>
			<wfw:commentRss>http://docgno.me/2010/01/08/nearly-mouse-free-linux-with-stumpwm-emacs-and-conkeror/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Air on Gentoo AMD64 via multilib overlay</title>
		<link>http://docgno.me/2009/08/26/adobe-air-on-gentoo-amd64-via-multilib-overlay/</link>
		<comments>http://docgno.me/2009/08/26/adobe-air-on-gentoo-amd64-via-multilib-overlay/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 01:20:17 +0000</pubDate>
		<dc:creator>docgnome</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://docgno.me/?p=63</guid>
		<description><![CDATA[I&#8217;ve been using TweetDeck. I think it&#8217;s a great app and I&#8217;ve been really happy with it. So I tried to get it to work on my 64bit Gentoo system. After a lot of work and googling, I managed to get it to work but no one place gave me the whole story. So I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://tweetdeck.com/beta/">TweetDeck</a>. I think it&#8217;s a great app and I&#8217;ve been really happy with it. So I tried to get it to work on my 64bit Gentoo system. After a lot of work and googling, I managed to get it to work but no one place gave me the whole story. So I decided to write up how I got it to work in the hope that it will help someone else. Oh and, if anything I tell you to do here breaks your machine, not my fault.</p>
<p>First thing we need is the Air SDK. Go get it <a href="http://www.adobe.com/products/air/tools/sdk/">here</a>.<br />
Next we need to make a couple of directories.<br />
<code><br />
# mkdir /opt/AIR-SDK<br />
# mkdir /opt/AIR-APPS<br />
</code><br />
Next unpack the SDK into /opt/AIR-SDK<br />
<code><br />
# cd /opt/AIR-SDK<br />
# tar jxf /path/to/AirSDK.tbz2<br />
</code><br />
Now we need to get an app. I used TweetDeck. Download the .air file and unpack it in /opt/AIR-APPS/<app-name><br />
<code><br />
# mkdir /opt/AIR-APPS/TweetDeck<br />
# cd /opt/AIR-APPS/TweetDeck<br />
# unzip /path/to/TweetDeck.air<br />
</code><br />
Now the real fun begins.<br />
You may want to read up on <a href="http://www.gentoo.org/proj/en/overlays/userguide.xml">Gentoo Overlays</a> if you&#8217;re not familiar with them. You&#8217;ll need to emerge layman and add the multilib overlay.<br />
<code><br />
# emerge layman<br />
# echo "source /usr/local/portage/layman/make.conf" >> /etc/make.conf<br />
# layman -a multilib<br />
# emerge --sync<br />
</code><br />
There are several ways to proceed from here. You can add the 32bit libs you need to /etc/portage/package.use one by one adding the lib32 flag. You can find a list of them <a href="http://kb2.adobe.com/cps/408/kb408084.html">here</a>.<br />
As far as I can tell, you&#8217;ll need at least<br />
<code><br />
sys-libs/ncurses<br />
media-libs/alsa-lib<br />
sys-libs/glibc<br />
sys-libs/zlib<br />
dev-libs/nss<br />
dev-libs/openssl<br />
dev-libs/nspr<br />
</code><br />
 This isn&#8217;t what I did so this list may be incomplete. If you find something I missed, please let me know and I&#8217;ll add it.<br />
I found it simpler to add lib32 to my USE flags in /etc/make.conf and rebuild world. I also removed lib32 from<br />
www-client/mozilla-firefox and net-libs/xulrunner to save a little time. You will also probably need to add<br />
<code><br />
SETARCH_ARCH_x86=“i686”<br />
</code><br />
to your make.conf<br />
<code><br />
# emerge -avuDN world<br />
</code><br />
This can take a long time depending on what you have installed. You also need to make sure that you have either kwallet or gnome-keyring running. At this point you should have a working Air Install. To run your new app<br />
<code><br />
$ /opt/AIR-SDK/bin/adl -nodebug /opt/AIR-APPS/TweetDeck/META-INF/AIR/application.xml /opt/AIR-APPS/TweetDeck/<br />
</code><br />
Replace TweetDeck with the name of your app. If you get a complaint about the Encrypted Storage, try removing ~/.appdata<br />
<code><br />
$ rm -rf ~/.appdata<br />
</code><br />
Hurray! You&#8217;ve got a working AIR installation!<br />
If you&#8217;re not running Gnome or KDE you may have an error.<br />
<code><br />
Unknown desktop manager, only Gnome and KDE are supported.<br />
</code><br />
If you&#8217;re running XFCE you can try this<br />
<code><br />
export GNOME_DESKTOP_SESSION_ID=”xfce”.<br />
</code><br />
I hope this helps!</p>
<p>EDIT: I&#8217;ve sort of switched to StumpWM from KDE4. To use kwallet instead of gnomekeyring use the following.</p>
<p><code><br />
export KDE_FULL_SESSION=1<br />
export KDE_SESSION_VERSION=4<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://docgno.me/2009/08/26/adobe-air-on-gentoo-amd64-via-multilib-overlay/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pylons: First Impressions</title>
		<link>http://docgno.me/2009/05/21/pylons-first-impressions/</link>
		<comments>http://docgno.me/2009/05/21/pylons-first-impressions/#comments</comments>
		<pubDate>Thu, 21 May 2009 17:58:31 +0000</pubDate>
		<dc:creator>docgnome</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[pylons]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://docgnome.wordpress.com/?p=16</guid>
		<description><![CDATA[So I&#8217;ve been playing with Pylons a bit. If you don&#8217;t know, Pylons &#8220;is a lightweight web framework emphasizing flexibility and rapid development.&#8221; It has a lot of the features that are expected from a modern MVC style web framework. So what is so cool about Pylons? Well first off, it&#8217;s modular. If you are [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been playing with <a href="http://pylonshq.com/">Pylons</a> a bit. If you don&#8217;t know, Pylons &#8220;is a lightweight web framework emphasizing flexibility and rapid development.&#8221; It has a lot of the <a href="http://pylonshq.com/features">features</a> that are expected from a modern MVC style web framework.</p>
<p>So what is so cool about Pylons? Well first off, it&#8217;s modular. If you are a Rails user, you&#8217;ll probably know that Rails 3 is going to become <a href="http://weblog.rubyonrails.org/2008/12/23/merb-gets-merged-into-rails-3">modular</a> as well. This is very cool. It allows you to select the best project for a given task. In Pylons, this means you can use <a href="http://www.makotemplates.org/">Mako</a>, <a href="http://jinja.pocoo.org/">Jinja</a>,  or whatever else you want for a template engine. You can use <a href="http://www.sqlalchemy.org/">SQLAlchemy</a>, <a href="http://www.sqlobject.org/">SQLObject</a>, <a href="http://code.google.com/p/couchdb-python/">CouchDB</a>, or nothing for your <a href="http://en.wikipedia.org/wiki/Object-relational_mapping">ORM</a>. This is great and, in my humble opinion, the most logical way to work. Why bother reinventing the wheel, which you <strong>will</strong> end up making square, by the way, when you&#8217;ve already got a Ferrari? Granted, the Ferrari probably also has slightly square wheels but at least you didn&#8217;t have to make it. Pylons also suggests reasonable defaults (Mako and SQLAlchemy) if you&#8217;re overwhelmed by the options.</p>
<p>Pylons also has a feature that I haven&#8217;t really seen anywhere else, an Interactive Web Based Debugger. This means when your app blows up in development mode, you can instantly see the state of the objects in question, as well as examine the call stack at any point during program execution. Way cool!</p>
<p>I&#8217;ve not used Pylons for anything other than the toy apps in the tutorial examples, but I&#8217;m looking forward to learning more. I&#8217;m fully expecting run into crufty edges. Every framework has them. Pylons (and soon Rails 3) allows you to pick (hopefully) the least crufty thing for the job.  I&#8217;ll be posting my impressions as I learn more about Pylons.</p>
]]></content:encoded>
			<wfw:commentRss>http://docgno.me/2009/05/21/pylons-first-impressions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Social Networks</title>
		<link>http://docgno.me/2009/05/07/social-networks/</link>
		<comments>http://docgno.me/2009/05/07/social-networks/#comments</comments>
		<pubDate>Thu, 07 May 2009 22:08:59 +0000</pubDate>
		<dc:creator>docgnome</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://docgnome.wordpress.com/?p=7</guid>
		<description><![CDATA[I was looking at my email today and noticed that I had received several messages for LinkedIn that I had forgotten about. I don&#8217;t use LinkedIn, but my boss and several other people at the company I work for do. I don&#8217;t really get the point of LinkedIn and apparently I&#8217;m not the only one [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking at my email today and noticed that I had received several messages for <a href="http://www.linkedin.com/">LinkedIn</a> that I had forgotten about. I don&#8217;t use LinkedIn, but my boss and several other people at the company I work for do. I don&#8217;t really get the point of LinkedIn and apparently I&#8217;m not the <a href="http://www.techcraver.com/2007/03/28/linkedin-what-value-does-it-offer/">only</a> <a href="http://pogue.blogs.nytimes.com/2007/08/28/linkedinwhy/">one</a> who doesn&#8217;t get it. I talked about this on irc and really came to the conclusion that this isn&#8217;t a problem that LinkedIn has. It&#8217;s a problem that all social networks have. What they are trying to get at is emulation of the same sort of networking that we do naturally in every day. They try to represent the relationships we form at work, at school, and at home. I find the way that social networks go about this to be unnatural however. This wouldn&#8217;t be much of a problem if in return something useful was gained. In the case of Twitter, for example, by forming these relationships, I gain information about the hour to hour existence of my friends and family. I&#8217;m not really sure what I get from other places like Facebook or LinkedIn. <a href="http://pio.longstair.com">Pio</a> pointed out to me that &#8221; a lot of people use them as a crutch because they don&#8217;t know how to use real internet services&#8221;. They allow them to have a single place to post pictures, video, etc. I think a better idea would be for someone to build a site that pull all of these services (Flickr, YouTube, Twitter, etc) together and provide a single interface for all of them. Maybe someone out there is already doing this and I&#8217;m just too lazy to google for it.</p>
<p>Charlene Li <a href="http://itc.conversationsnetwork.org/shows/detail4042.html">talks</a> about this better than I have.</p>
]]></content:encoded>
			<wfw:commentRss>http://docgno.me/2009/05/07/social-networks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
