<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Poignant technical prose (and occasional businessy ramblings) from our floating headquarters in Pasadena.</description><title>FastSoft Blog</title><generator>Tumblr (3.0; @fastsoft)</generator><link>http://blog.fastsoft.com/</link><item><title>Posted by Ryan Witt (FastSoft Software Development Lead) on...</title><description>&lt;object type="application/x-shockwave-flash" width="400" height="225" data="http://vimeo.com/moogaloop.swf?clip_id=9474607&amp;server=vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF"&gt;&lt;param name="quality" value="best" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="scale" value="showAll" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9474607&amp;server=vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF" /&gt;&lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=9474607&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Posted by Ryan Witt (FastSoft Software Development Lead) on &lt;a href="http://onecreativeblog.com/post/393025429/fastsoft-vim-speedup-1" class="tumblr_blog"&gt;onecreativeblog&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;The FastSoft engineers often give presentations to bring each-other up to date on technical issues. These presentations are appropriately called “speedups” (get it? fastsoft? speedups? har har). This speedup, given by @kriskowal, is a tricks and tips discussion on his favorite editor, vim.&lt;/p&gt;

&lt;p&gt;“Slides” for this presentation:&lt;/p&gt;

&lt;script src="http://gist.github.com/305695.js?file=gistfile1.vim&amp;linenumbers=true"&gt;&lt;/script&gt;&lt;p&gt;Or, for those without javascript enabled, here is a plain version:&lt;/p&gt;

&lt;pre style="background-color:#dddddd; padding:1em;"&gt;
^w hjkl move to windows

^w HJKL move windows

^w +- horizontal resize
^w = even splits
^w10&lt;&gt; vertical resize

O
I  ia  A
o

gg
0     ^      $
G

{
}

:!

   /----------------------\
   |:e :e# :vs :sp ^w hjkl|
   |:e :e# :vs :sp ^w hjkl|
   |:e :e# :vs :sp ^w hjkl|
   |:e :e# :vs :sp ^w hjkl|
   \----------------------/

:n :N

Vv^V o
&gt;&gt; &lt;&lt;
=
:set et sw ts
:!expand unexpand
gq
:set ve=all
comment/uncomment
:set incsearch n N
:noh
:set tw

highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
match OverLength '\%78v.*'

:set modeline
:set wrap lbr number
/ n .
&lt;/pre&gt;</description><link>http://blog.fastsoft.com/post/393045605</link><guid>http://blog.fastsoft.com/post/393045605</guid><pubDate>Tue, 16 Feb 2010 09:43:00 -0800</pubDate></item><item><title>Sharing Open Source HTML Virtual Terminal</title><description>&lt;p&gt;&lt;i&gt;Posted by &lt;a href="http://askawizard.blogspot.com/"&gt;Kris Kowal&lt;/a&gt; (FastSoft Sourcerer)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Last month, we experimented with integrating Ajaxterm with Django.  Ajaxterm is a polling HTTP based terminal emulator that can provide a web interface for a local SSH or login session with all the glory of ASCII and Ncurses so you can administer your system or edit configuration files with Vim or, in a pinch, Emacs.  The heart of the terminal emulator is a Terminal class to which you can write the output of a pseudo-terminal stream and from which you can periodically read a block of HTML representing the complete terminal window state.  We needed to “pickle” (serialize in Java parlance) Terminal instances so that they could be picked up by Django’s round-robin FastCGI processes.  We refactored Terminal such that it’s serializable and posted a &lt;a title="github gist" href="http://gist.github.com/236476"&gt;Github gist&lt;/a&gt; for your use.&lt;/p&gt;
&lt;p&gt;The original terminal class created instance methods on initialization.  Pickles can’t serialize instance methods, so all of these had to be converted into class methods.  To do that, using mostly the same code, we moved the method definition code into a Terminal metaclass.  For more information about metaclasses, I wrote &lt;a href="http://askawizard.blogspot.com/2008/09/metaclasses-python-saga-part-4_30.html"&gt;an article&lt;/a&gt; about a year ago on my personal “Ask a Wizard” blog.&lt;/p&gt;</description><link>http://blog.fastsoft.com/post/268001236</link><guid>http://blog.fastsoft.com/post/268001236</guid><pubDate>Thu, 03 Dec 2009 12:08:00 -0800</pubDate><category>open source</category><category>technical</category></item><item><title>Textile to HTML Converter</title><description>&lt;p&gt;&lt;i&gt;Posted by &lt;/i&gt;&lt;i&gt;&lt;a title="Kris Kowal" href="http://askawizard.blogspot.com"&gt;Kris Kowal&lt;/a&gt; (FastSoft Sourcerer)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;We use the &lt;a href="http://en.wikipedia.org/wiki/Textile_(markup_language)"&gt;Textile&lt;/a&gt; markup language at  FastSoft. Specifically, we use a Python implementation of the Textile to HTML converter attributed to &lt;a href="http://dealmeida.net/"&gt;Roberto A. F. De Almeida&lt;/a&gt;, &lt;a href="http://diveintomark.org/"&gt;Mark Pilgrim&lt;/a&gt;, and Dean  Allen.  The original implementation was a bit dated  and it didn’t have support for Unicode in Python 2, so we wrote our own. We’re  happy to share our &lt;a href="http://gist.github.com/222871"&gt;fork of textile.py&lt;/a&gt;.  We hope you find this code useful.&lt;/p&gt;</description><link>http://blog.fastsoft.com/post/239642582</link><guid>http://blog.fastsoft.com/post/239642582</guid><pubDate>Tue, 10 Nov 2009 16:33:00 -0800</pubDate><category>open source</category><category>technical</category><category>python</category></item><item><title>Pasadena Pyrocumulus Clouds</title><description>&lt;p&gt;&lt;i&gt;Posted by &lt;a title="Ryan Witt" href="http://onecreativeblog.com"&gt;Ryan Witt&lt;/a&gt; (FastSoft Software Development Lead)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;This is a view from a conference room in our Pasadena office of a pyrocumulus cloud from the Los Angeles station fire.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; This appears to be an &lt;a href="http://www.pasadenastarnews.com/news/ci_13272057"&gt;intentionally set backfire&lt;/a&gt; according to the Pasadena Star News.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.fastsoft.com/pyrocumulus-clouds-station-fire/pyro_clouds1.jpg"&gt;&lt;img src="http://www.fastsoft.com/pyrocumulus-clouds-station-fire/pyro_clouds1_thumb.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.fastsoft.com/pyrocumulus-clouds-station-fire/pyro_clouds3.jpg"&gt;&lt;img src="http://www.fastsoft.com/pyrocumulus-clouds-station-fire/pyro_clouds3_thumb.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.fastsoft.com/pyrocumulus-clouds-station-fire/pyro_clouds2.jpg"&gt;&lt;img src="http://www.fastsoft.com/pyrocumulus-clouds-station-fire/pyro_clouds2_thumb.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.fastsoft.com/post/240452723</link><guid>http://blog.fastsoft.com/post/240452723</guid><pubDate>Fri, 04 Sep 2009 00:00:00 -0700</pubDate><category>pasadena</category><category>station fire</category><category>photo</category></item></channel></rss>
