<?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>Ahabman</title>
	<atom:link href="http://ahabman.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ahabman.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 26 May 2015 03:11:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>dot-vimrc/vimrc at master · humiaozuzu/dot-vimrc · GitHub</title>
		<link>http://ahabman.com/blog/2015/05/dot-vimrcvimrc-at-master-%c2%b7-humiaozuzudot-vimrc-%c2%b7-github/</link>
		<comments>http://ahabman.com/blog/2015/05/dot-vimrcvimrc-at-master-%c2%b7-humiaozuzudot-vimrc-%c2%b7-github/#comments</comments>
		<pubDate>Tue, 26 May 2015 03:11:35 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://ahabman.com/blog/?p=286</guid>
		<description><![CDATA[&#160; Source: dot-vimrc/vimrc at master · humiaozuzu/dot-vimrc · GitHub &#160; Many usability improvements here. &#160; source ~/.vim/bundles.vim &#8221; encoding dectection set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1 &#8221; enable filetype dectection and ft specific plugin/indent filetype plugin indent on &#8221; enable syntax hightlight and completion syntax on &#8220;&#8212;&#8212;&#8211; &#8221; Vim UI &#8220;&#8212;&#8212;&#8211; &#8221; color scheme set background=dark color solarized &#8221; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Source: <em><a href="https://github.com/humiaozuzu/dot-vimrc/blob/master/vimrc">dot-vimrc/vimrc at master · humiaozuzu/dot-vimrc · GitHub</a></em></p>
<p>&nbsp;</p>
<p>Many usability improvements here.</p>
<p>&nbsp;</p>
<p>source ~/.vim/bundles.vim</p>
<p>&#8221; encoding dectection<br />
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1</p>
<p>&#8221; enable filetype dectection and ft specific plugin/indent<br />
filetype plugin indent on</p>
<p>&#8221; enable syntax hightlight and completion<br />
syntax on</p>
<p>&#8220;&#8212;&#8212;&#8211;<br />
&#8221; Vim UI<br />
&#8220;&#8212;&#8212;&#8211;<br />
&#8221; color scheme<br />
set background=dark<br />
color solarized</p>
<p>&#8221; highlight current line<br />
au WinLeave * set nocursorline nocursorcolumn<br />
au WinEnter * set cursorline cursorcolumn<br />
set cursorline cursorcolumn</p>
<p>&#8221; search<br />
set incsearch<br />
&#8220;set highlight &#8221; conflict with highlight current line<br />
set ignorecase<br />
set smartcase</p>
<p>&#8221; editor settings<br />
set history=1000<br />
set nocompatible<br />
set nofoldenable &#8221; disable folding&#8221;<br />
set confirm &#8221; prompt when existing from an unsaved file<br />
set backspace=indent,eol,start &#8221; More powerful backspacing<br />
set t_Co=256 &#8221; Explicitly tell vim that the terminal has 256 colors &#8221;<br />
set mouse=a &#8221; use mouse in all modes<br />
set report=0 &#8221; always report number of lines changed &#8221;<br />
set nowrap &#8221; dont wrap lines<br />
set scrolloff=5 &#8221; 5 lines above/below cursor when scrolling<br />
set number &#8221; show line numbers<br />
set showmatch &#8221; show matching bracket (briefly jump)<br />
set showcmd &#8221; show typed command in status bar<br />
set title &#8221; show file in titlebar<br />
set laststatus=2 &#8221; use 2 lines for the status bar<br />
set matchtime=2 &#8221; show matching bracket for 0.2 seconds<br />
set matchpairs+=&lt;:&gt; &#8221; specially for html<br />
&#8221; set relativenumber</p>
<p>&#8221; Default Indentation<br />
set autoindent<br />
set smartindent &#8221; indent when<br />
set tabstop=4 &#8221; tab width<br />
set softtabstop=4 &#8221; backspace<br />
set shiftwidth=4 &#8221; indent width<br />
&#8221; set textwidth=79<br />
&#8221; set smarttab<br />
set expandtab &#8221; expand tab to space</p>
<p>autocmd FileType php setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120<br />
autocmd FileType ruby setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120<br />
autocmd FileType php setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=120<br />
autocmd FileType coffee,javascript setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120<br />
autocmd FileType python setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=120<br />
autocmd FileType html,htmldjango,xhtml,haml setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=0<br />
autocmd FileType sass,scss,css setlocal tabstop=2 shiftwidth=2 softtabstop=2 textwidth=120</p>
<p>&#8221; syntax support<br />
autocmd Syntax javascript set syntax=jquery &#8221; JQuery syntax support<br />
&#8221; js<br />
let g:html_indent_inctags = &#8220;html,body,head,tbody&#8221;<br />
let g:html_indent_script1 = &#8220;inc&#8221;<br />
let g:html_indent_style1 = &#8220;inc&#8221;</p>
<p>&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8221; Plugin settings<br />
&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
&#8221; Rainbow parentheses for Lisp and variants<br />
let g:rbpt_colorpairs = [<br />
\ [&#8216;brown&#8217;, &#8216;RoyalBlue3&#8242;],<br />
\ [&#8216;Darkblue&#8217;, &#8216;SeaGreen3&#8242;],<br />
\ [&#8216;darkgray&#8217;, &#8216;DarkOrchid3&#8242;],<br />
\ [&#8216;darkgreen&#8217;, &#8216;firebrick3&#8242;],<br />
\ [&#8216;darkcyan&#8217;, &#8216;RoyalBlue3&#8242;],<br />
\ [&#8216;darkred&#8217;, &#8216;SeaGreen3&#8242;],<br />
\ [&#8216;darkmagenta&#8217;, &#8216;DarkOrchid3&#8242;],<br />
\ [&#8216;brown&#8217;, &#8216;firebrick3&#8242;],<br />
\ [&#8216;gray&#8217;, &#8216;RoyalBlue3&#8242;],<br />
\ [&#8216;black&#8217;, &#8216;SeaGreen3&#8242;],<br />
\ [&#8216;darkmagenta&#8217;, &#8216;DarkOrchid3&#8242;],<br />
\ [&#8216;Darkblue&#8217;, &#8216;firebrick3&#8242;],<br />
\ [&#8216;darkgreen&#8217;, &#8216;RoyalBlue3&#8242;],<br />
\ [&#8216;darkcyan&#8217;, &#8216;SeaGreen3&#8242;],<br />
\ [&#8216;darkred&#8217;, &#8216;DarkOrchid3&#8242;],<br />
\ [&#8216;red&#8217;, &#8216;firebrick3&#8242;],<br />
\ ]<br />
let g:rbpt_max = 16<br />
autocmd Syntax lisp,scheme,clojure,racket RainbowParenthesesToggle</p>
<p>&#8221; tabbar<br />
let g:Tb_MaxSize = 2<br />
let g:Tb_TabWrap = 1</p>
<p>hi Tb_Normal guifg=white ctermfg=white<br />
hi Tb_Changed guifg=green ctermfg=green<br />
hi Tb_VisibleNormal ctermbg=252 ctermfg=235<br />
hi Tb_VisibleChanged guifg=green ctermbg=252 ctermfg=white</p>
<p>&#8221; easy-motion<br />
let g:EasyMotion_leader_key = &#8216;&lt;Leader&gt;&#8217;</p>
<p>&#8221; Tagbar<br />
let g:tagbar_left=1<br />
let g:tagbar_width=30<br />
let g:tagbar_autofocus = 1<br />
let g:tagbar_sort = 0<br />
let g:tagbar_compact = 1<br />
&#8221; tag for coffee<br />
if executable(&#8216;coffeetags&#8217;)<br />
let g:tagbar_type_coffee = {<br />
\ &#8216;ctagsbin&#8217; : &#8216;coffeetags&#8217;,<br />
\ &#8216;ctagsargs&#8217; : &#8221;,<br />
\ &#8216;kinds&#8217; : [<br />
\ &#8216;f:functions&#8217;,<br />
\ &#8216;o:object&#8217;,<br />
\ ],<br />
\ &#8216;sro&#8217; : &#8220;.&#8221;,<br />
\ &#8216;kind2scope&#8217; : {<br />
\ &#8216;f&#8217; : &#8216;object&#8217;,<br />
\ &#8216;o&#8217; : &#8216;object&#8217;,<br />
\ }<br />
\ }</p>
<p>let g:tagbar_type_markdown = {<br />
\ &#8216;ctagstype&#8217; : &#8216;markdown&#8217;,<br />
\ &#8216;sort&#8217; : 0,<br />
\ &#8216;kinds&#8217; : [<br />
\ &#8216;h:sections&#8217;<br />
\ ]<br />
\ }<br />
endif</p>
<p>&#8221; Nerd Tree<br />
let NERDChristmasTree=0<br />
let NERDTreeWinSize=30<br />
let NERDTreeChDirMode=2<br />
let NERDTreeIgnore=[&#8216;\~$&#8217;, &#8216;\.pyc$&#8217;, &#8216;\.swp$&#8217;]<br />
&#8221; let NERDTreeSortOrder=[&#8216;^__\.py$&#8217;, &#8216;\/$&#8217;, &#8216;*&#8217;, &#8216;\.swp$&#8217;, &#8216;\~$&#8217;]<br />
let NERDTreeShowBookmarks=1<br />
let NERDTreeWinPos = &#8220;right&#8221;</p>
<p>&#8221; nerdcommenter<br />
let NERDSpaceDelims=1<br />
&#8221; nmap &lt;D-/&gt; :NERDComToggleComment&lt;cr&gt;<br />
let NERDCompactSexyComs=1</p>
<p>&#8221; ZenCoding<br />
let g:user_emmet_expandabbr_key='&lt;C-j&gt;&#8217;</p>
<p>&#8221; powerline<br />
&#8220;let g:Powerline_symbols = &#8216;fancy&#8217;</p>
<p>&#8221; NeoComplCache<br />
let g:neocomplcache_enable_at_startup=1<br />
let g:neoComplcache_disableautocomplete=1<br />
&#8220;let g:neocomplcache_enable_underbar_completion = 1<br />
&#8220;let g:neocomplcache_enable_camel_case_completion = 1<br />
let g:neocomplcache_enable_smart_case=1<br />
let g:neocomplcache_min_syntax_length = 3<br />
let g:neocomplcache_lock_buffer_name_pattern = &#8216;\*ku\*&#8217;<br />
set completeopt-=preview</p>
<p>imap &lt;C-k&gt; &lt;Plug&gt;(neocomplcache_snippets_force_expand)<br />
smap &lt;C-k&gt; &lt;Plug&gt;(neocomplcache_snippets_force_expand)<br />
imap &lt;C-l&gt; &lt;Plug&gt;(neocomplcache_snippets_force_jump)<br />
smap &lt;C-l&gt; &lt;Plug&gt;(neocomplcache_snippets_force_jump)</p>
<p>&#8221; Enable omni completion.<br />
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS<br />
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags<br />
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS<br />
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete<br />
autocmd FileType c setlocal omnifunc=ccomplete#Complete<br />
if !exists(&#8216;g:neocomplcache_omni_patterns&#8217;)<br />
let g:neocomplcache_omni_patterns = {}<br />
endif<br />
let g:neocomplcache_omni_patterns.erlang = &#8216;[a-zA-Z]\|:&#8217;</p>
<p>&#8221; SuperTab<br />
&#8221; let g:SuperTabDefultCompletionType=&#8217;context&#8217;<br />
let g:SuperTabDefaultCompletionType = &#8216;&lt;C-X&gt;&lt;C-U&gt;&#8217;<br />
let g:SuperTabRetainCompletionType=2</p>
<p>&#8221; ctrlp<br />
set wildignore+=*/tmp/*,*.so,*.o,*.a,*.obj,*.swp,*.zip,*.pyc,*.pyo,*.class,.DS_Store &#8221; MacOSX/Linux<br />
let g:ctrlp_custom_ignore = &#8216;\.git$\|\.hg$\|\.svn$&#8217;</p>
<p>&#8221; Keybindings for plugin toggle<br />
nnoremap &lt;F2&gt; :set invpaste paste?&lt;CR&gt;<br />
set pastetoggle=&lt;F2&gt;<br />
nmap &lt;F5&gt; :TagbarToggle&lt;cr&gt;<br />
nmap &lt;F6&gt; :NERDTreeToggle&lt;cr&gt;<br />
nmap &lt;F3&gt; :GundoToggle&lt;cr&gt;<br />
nmap &lt;F4&gt; :IndentGuidesToggle&lt;cr&gt;<br />
nmap &lt;D-/&gt; :<br />
nnoremap &lt;leader&gt;a :Ack<br />
nnoremap &lt;leader&gt;v V`]</p>
<p>&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&#8221; Useful Functions<br />
&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
&#8221; easier navigation between split windows<br />
nnoremap &lt;c-j&gt; &lt;c-w&gt;j<br />
nnoremap &lt;c-k&gt; &lt;c-w&gt;k<br />
nnoremap &lt;c-h&gt; &lt;c-w&gt;h<br />
nnoremap &lt;c-l&gt; &lt;c-w&gt;l</p>
<p>&#8221; When editing a file, always jump to the last cursor position<br />
autocmd BufReadPost *<br />
\ if ! exists(&#8220;g:leave_my_cursor_position_alone&#8221;) |<br />
\ if line(&#8220;&#8216;\&#8221;&#8221;) &gt; 0 &amp;&amp; line (&#8220;&#8216;\&#8221;&#8221;) &lt;= line(&#8220;$&#8221;) |<br />
\ exe &#8220;normal g&#8217;\&#8221;&#8221; |<br />
\ endif |<br />
\ endif</p>
<p>&#8221; w!! to sudo &amp; write a file<br />
cmap w!! %!sudo tee &gt;/dev/null %</p>
<p>&#8221; Quickly edit/reload the vimrc file<br />
nmap &lt;silent&gt; &lt;leader&gt;ev :e $MYVIMRC&lt;CR&gt;<br />
nmap &lt;silent&gt; &lt;leader&gt;sv :so $MYVIMRC&lt;CR&gt;</p>
<p>&#8221; sublime key bindings<br />
nmap &lt;D-]&gt; &gt;&gt;<br />
nmap &lt;D-[&gt; &lt;&lt;<br />
vmap &lt;D-[&gt; &lt;gv<br />
vmap &lt;D-]&gt; &gt;gv</p>
<p>&#8221; eggcache vim<br />
nnoremap ; :<br />
:command W w<br />
:command WQ wq<br />
:command Wq wq<br />
:command Q q<br />
:command Qa qa<br />
:command QA qa</p>
<p>&#8221; for macvim<br />
if has(&#8220;gui_running&#8221;)<br />
set go=aAce &#8221; remove toolbar<br />
&#8220;set transparency=30<br />
set guifont=Monaco:h13<br />
set showtabline=2<br />
set columns=140<br />
set lines=40<br />
noremap &lt;D-M-Left&gt; :tabprevious&lt;cr&gt;<br />
noremap &lt;D-M-Right&gt; :tabnext&lt;cr&gt;<br />
map &lt;D-1&gt; 1gt<br />
map &lt;D-2&gt; 2gt<br />
map &lt;D-3&gt; 3gt<br />
map &lt;D-4&gt; 4gt<br />
map &lt;D-5&gt; 5gt<br />
map &lt;D-6&gt; 6gt<br />
map &lt;D-7&gt; 7gt<br />
map &lt;D-8&gt; 8gt<br />
map &lt;D-9&gt; 9gt<br />
map &lt;D-0&gt; :tablast&lt;CR&gt;<br />
endif</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2015/05/dot-vimrcvimrc-at-master-%c2%b7-humiaozuzudot-vimrc-%c2%b7-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GitHub Got Silly Rich. Next Step: &#8216;Make More Awesome&#8217;</title>
		<link>http://ahabman.com/blog/2013/06/github-got-silly-rich-next-step-make-more-awesome/</link>
		<comments>http://ahabman.com/blog/2013/06/github-got-silly-rich-next-step-make-more-awesome/#comments</comments>
		<pubDate>Sat, 22 Jun 2013 02:32:21 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ahabman.com/blog/?p=271</guid>
		<description><![CDATA[Four years into its journey as a company, GitHub remained something of an independent. The startup, which helps companies and developers build software, rebuffed the repeated advances of venture capitalists. Then, last July, GitHub flipped the bit and took $100 million from Andreessen Horowitz, gorging at the venture-capital trough like some kind of hideously large [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.scoop.it/t/code-by-ahabman/p/4003593380/github-got-silly-rich-next-step-make-more-awesome"><img alt="" src="http://img.scoop.it/k2itx5jPqkzKDYQ7OtsT5Tl72eJkfbmt4t8yenImKBXEejxNn4ZJNZ2ss5Ku7Cxt" /></a></p>
<p>Four years into its journey as a company, GitHub remained something of an independent. The startup, which helps companies and developers build software, rebuffed the repeated advances of venture capitalists. Then, last July, GitHub flipped the bit and took $100 million from Andreessen Horowitz, gorging at the venture-capital trough like some kind of hideously large and famished money hog. (Yes, these things exist.)</p>
<p>Asked why GitHub would need so much money, Chief Executive Tom Preston-Werner replies with an answer that fits his laid-back persona: “To make more awesome.” It’s an unsatisfying response, but you can reasonably (sort of?) say such things when you’re the Grand Poobah of the software universe.</p>
<p>GitHub got its start as a type of productivity/collaboration service for open-source software developers. Someone would decide to create a new application and opt to put his code up on the GitHub website. Other people could then see the code and contribute to the project, and GitHub’s tools would document the changes, let the developers chat with each other, and make it easier for people to combine their various bits and pieces into a working whole. Similar things had existed for years; they just weren’t that good.</p>
<div>
<div style="margin-left: 0px;"><b>ahabman</b>&#8216;s insight:</div>
<div style="margin-left: 0px;">
<p>With github in the news (<a href="http://www.businessweek.com/articles/2013-06-20/github-got-silly-rich-dot-next-step-make-more-awesome" rel="nofollow">http://www.businessweek.com/articles/2013-06-20/github-got-silly-rich-dot-next-step-make-more-awesome</a>) and the news in github (<a href="https://github.com/NYTimes" rel="nofollow">https://github.com/NYTimes</a>), I expect to see development tools trickle into the consumer space in 2014. Designers need version control, Project managers need branches, Strategists need diffs, and VPs need pull requests. The technology is solid, it will be up to the interface and experience masters to deliver this to the cutting edge efficiency-hungy masses.</p>
</div>
</div>
<p>See on <a href="http://www.businessweek.com/articles/2013-06-20/github-got-silly-rich-dot-next-step-make-more-awesome">www.businessweek.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2013/06/github-got-silly-rich-next-step-make-more-awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Custom Post Type Dynamic Sub Pages</title>
		<link>http://ahabman.com/blog/2013/02/wordpress-custom-post-type-dynamic-sub-pages/</link>
		<comments>http://ahabman.com/blog/2013/02/wordpress-custom-post-type-dynamic-sub-pages/#comments</comments>
		<pubDate>Wed, 13 Feb 2013 03:35:44 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://ahabman.com/blog/?p=240</guid>
		<description><![CDATA[The Problem You can&#8217;t separate a Custom Post Type into multiple pages. e.g. a project home page, and a project details sub page, and a project activity sub page, etc. Related Links: http://wordpress-hackers.1065353.n5.nabble.com/custom-post-types-and-child-pages-td38595.html http://wordpress.org/support/topic/custom-post-type-sub-post-template?replies=2 http://wordpress.org/support/topic/custom-post-types-content-subpages?replies=3 http://wordpress.org/support/topic/custom-post-type-creating-sub-pages?replies=4 A Solution Utilize add_rewrite_tag and add_rewrite rule inside functions.php. This will allow you to have URLs like: /project/project-title (default [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2><strong>The Problem</strong></h2>
<div>You can&#8217;t separate a Custom Post Type into multiple pages. e.g. a project home page, and a project details sub page, and a project activity sub page, etc.</div>
<h2><strong>Related Links:</strong></h2>
<ul>
<li><a href="http://wordpress-hackers.1065353.n5.nabble.com/custom-post-types-and-child-pages-td38595.html">http://wordpress-hackers.1065353.n5.nabble.com/custom-post-types-and-child-pages-td38595.html</a></li>
<li><a href="http://wordpress.org/support/topic/custom-post-type-sub-post-template?replies=2">http://wordpress.org/support/topic/custom-post-type-sub-post-template?replies=2</a></li>
<li><a href="http://wordpress.org/support/topic/custom-post-types-content-subpages?replies=3">http://wordpress.org/support/topic/custom-post-types-content-subpages?replies=3</a></li>
<li><a href="http://wordpress.org/support/topic/custom-post-type-creating-sub-pages?replies=4">http://wordpress.org/support/topic/custom-post-type-creating-sub-pages?replies=4</a></li>
</ul>
<div>
<h2>A Solution</h2>
</div>
<div>Utilize add_rewrite_tag and add_rewrite rule inside functions.php. This will allow you to have URLs like:</div>
<div>
<ul>
<li><span style="font-size: 13px; line-height: 19px;">/project/project-title (default WordPress URL)<br />
</span></li>
<li><span style="font-size: 13px; line-height: 19px;">/project/project-title/details (custom &#8220;details&#8221; sub page of the &#8220;project&#8221; custom post type )</span></li>
<li><span style="font-size: 13px; line-height: 19px;">/project/project-title/activity (custom &#8220;activity&#8221; sub page of the &#8220;project&#8221; custom post type )<br />
</span></li>
</ul>
</div>
<div>
<pre class="brush: php; title: ; notranslate">function custom_post_type_sub_page_urls(){
  add_rewrite_tag('%custom_post_type_sub_page%', '([^&amp;]+)');
  add_rewrite_rule(
    'project/([^/]*)/([^/]*)',
    'index.php?project=$matches[1]&amp;custom_post_type_sub_page=$matches[2]',
    'top'
  );
  flush_rewrite_rules();
}
add_action('init', 'custom_post_type_sub_page_urls');</pre>
<p>Then in you Custom Post Type single template single-project.php</p>
<pre class="brush: php; title: ; notranslate">switch ($wp_query-&gt;query_vars['custom_post_type_sub_page']) {
case 'details':
  // render single-project-details.php
  break;
case 'activity':
  // render single-project-activity.php
  break;
}</pre>
<p>I utilized this to show different groups of custom fields per page.  I&#8217;m using the %postname% permalink format.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2013/02/wordpress-custom-post-type-dynamic-sub-pages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ale to the Chief: White House Beer Recipe</title>
		<link>http://ahabman.com/blog/2012/09/ale-to-the-chief-white-house-beer-recipe/</link>
		<comments>http://ahabman.com/blog/2012/09/ale-to-the-chief-white-house-beer-recipe/#comments</comments>
		<pubDate>Sun, 02 Sep 2012 01:35:15 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ahabman.com/blog/?p=236</guid>
		<description><![CDATA[http://www.whitehouse.gov/blog/2012/09/01/ale-chief-white-house-beer-recipe]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.whitehouse.gov/blog/2012/09/01/ale-chief-white-house-beer-recipe">http://www.whitehouse.gov/blog/2012/09/01/ale-chief-white-house-beer-recipe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2012/09/ale-to-the-chief-white-house-beer-recipe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rhythm visualization</title>
		<link>http://ahabman.com/blog/2011/04/rhythm-visualization/</link>
		<comments>http://ahabman.com/blog/2011/04/rhythm-visualization/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 00:32:43 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.ahabman.com/blog/?p=167</guid>
		<description><![CDATA[Launch the rhythm visualization demo Continuing from my first iteration on a visual metronome, this is an improvement to simplify things while providing greater control in the UI for: tempo, cycles (bars), beats, and emphasis highlighting (nth). My intention is for this to evolve toward a metric modulation visualization. I moved from the traditional European [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2><a href="http://ahabman.com/blog/wp-content/uploads/metronome-2/cycle.html" target="blank">Launch the rhythm visualization demo</a></h2>
<p>Continuing from my <a href="http://www.ahabman.com/blog/2009/09/visual-metronome/">first iteration on a visual metronome</a>, this is an improvement to simplify things while providing greater control in the UI for: tempo, cycles (bars), beats, and emphasis highlighting (n<sup><span style="font-size: 10px;">th</span></sup>). My intention is for this to evolve toward a metric modulation visualization.</p>
<p>I moved from the traditional European music notation of left to right / top to bottom, and used a more abstract top to bottom / left to right orientation. Most often I work with more bars than beats, so this worked nicely for laptop screen dimensions. Also, I enjoy nudging the musician away from the usual way we visually experience music.</p>
<p>Thanks to <a href="http://www.brothercake.com/">James Edwards</a> <a href="http://blogs.sitepoint.com/creating-accurate-timers-in-javascript/">article on javascript timing</a>, and of course the <a href="http://jquery.org/team">jQuery team</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2011/04/rhythm-visualization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wellspring</title>
		<link>http://ahabman.com/blog/2010/11/wellspring/</link>
		<comments>http://ahabman.com/blog/2010/11/wellspring/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 14:17:24 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.ahabman.com/blog/?p=154</guid>
		<description><![CDATA[Listen to &#8220;Wellspring&#8221;]]></description>
				<content:encoded><![CDATA[<p><a class="wpaudio" href="http://ahabman.com/blog/wp-content/uploads/2010/11/02-Wellspring.mp3">Listen to &#8220;Wellspring&#8221;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2010/11/wellspring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://localhost/blog/wp-content/uploads/2010/11/02-Wellspring.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>Willow Weep for Me</title>
		<link>http://ahabman.com/blog/2010/11/willow-weep-for-me/</link>
		<comments>http://ahabman.com/blog/2010/11/willow-weep-for-me/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 14:15:55 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.ahabman.com/blog/?p=151</guid>
		<description><![CDATA[Listen to &#8220;Willow Weep for Me&#8221;]]></description>
				<content:encoded><![CDATA[<p><a class="wpaudio" href="http://ahabman.com/blog/wp-content/uploads/Willow-Weep-For-Me.mp3">Listen to &#8220;Willow Weep for Me&#8221;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2010/11/willow-weep-for-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://localhost/blog/wp-content/uploads/Willow-Weep-For-Me.mp3" length="6441402" type="audio/mpeg" />
		</item>
		<item>
		<title>Do Nothing Till You Hear From Me</title>
		<link>http://ahabman.com/blog/2010/11/do-nothing-till-you-hear-from-me/</link>
		<comments>http://ahabman.com/blog/2010/11/do-nothing-till-you-hear-from-me/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 14:13:53 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.ahabman.com/blog/?p=147</guid>
		<description><![CDATA[Listen to &#8220;Do Nothing Till You Hear From Me&#8221;]]></description>
				<content:encoded><![CDATA[<p><a class="wpaudio" href="http://ahabman.com/blog/wp-content/uploads/2010/11/Do-Nothing-Till-You-Hear-From-Me.mp3">Listen to &#8220;Do Nothing Till You Hear From Me&#8221;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2010/11/do-nothing-till-you-hear-from-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://localhost/blog/wp-content/uploads/2010/11/Do-Nothing-Till-You-Hear-From-Me.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>Command finished notification with Ruby</title>
		<link>http://ahabman.com/blog/2010/09/command-finished-notification-with-ruby/</link>
		<comments>http://ahabman.com/blog/2010/09/command-finished-notification-with-ruby/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 23:02:07 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ahabman.com/blog/?p=125</guid>
		<description><![CDATA[I wanted a visual notification in Ubuntu when long running commands finished in Terminal. My solution, run the command and pipe it into notify. $ a-long-running-command &#124; notify notify.rb Make it executable add an alias to it in ~/.bashrc Requires: ruby, rubygems, and libnotify. Similar solutions: &#8220;alert&#8221; alias (I&#8217;ll be switching to this in Maverick), [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I wanted a visual notification in Ubuntu when long running commands finished in Terminal. My solution, run the command and pipe it into notify.</p>
<p>$ a-long-running-command | notify</p>
<p><a href="http://www.ahabman.com/blog/wp-content/uploads/2010/09/notify.png"><img title="notify" src="http://www.ahabman.com/blog/wp-content/uploads/2010/09/notify-300x188.png" alt="" width="300" height="188" /></a></p>
<p>notify.rb</p>
<pre class="brush: ruby; title: ; notranslate">#!/usr/bin/env ruby
require 'rubygems'
require 'libnotify'
Libnotify.show :summary =&gt; &quot;Command finished.&quot;, :body =&gt; &quot;#{ARGF.read}&quot;</pre>
<p>Make it executable</p>
<pre class="brush: bash; title: ; notranslate">chmod u+x ~/scripts/notify.rb</pre>
<p>add an alias to it in ~/.bashrc</p>
<pre class="brush: bash; title: ; notranslate">alias notify=&quot;~/scripts/notify.rb&quot;</pre>
<p>Requires: <a href="http://www.ruby-lang.org/en/"><br />
ruby</a>, <a href="http://rubygems.org/">rubygems</a>, and <a href="http://github.com/vargolo/ruby-libnotify">libnotify</a>.</p>
<p>Similar solutions:<br />
<a href="http://blog.dustinkirkland.com/2010/07/dear-command-line-please-ping-me-when.html">&#8220;alert&#8221; alias</a> (I&#8217;ll be switching to this in Maverick), <a href="http://blogs.divisibleprime.com/ronin/articles/2008/03/10/command-line-gnome-notification"><br />
a python version</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2010/09/command-finished-notification-with-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nomad</title>
		<link>http://ahabman.com/blog/2010/04/nomad/</link>
		<comments>http://ahabman.com/blog/2010/04/nomad/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 01:15:37 +0000</pubDate>
		<dc:creator><![CDATA[andy]]></dc:creator>
				<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.ahabman.com/blog/?p=94</guid>
		<description><![CDATA[A little flavor of Tinariwen. Tuned D G D G A D. Listen to &#8220;nomad&#8221;]]></description>
				<content:encoded><![CDATA[<p>A little flavor of <a href="http://www.tinariwen.com/">Tinariwen</a>. Tuned D G D G A D.</p>
<p><a class="wpaudio" href="http://ahabman.com/blog/wp-content/uploads/nomad.mp3">Listen to &#8220;nomad&#8221;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ahabman.com/blog/2010/04/nomad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://localhost/blog/wp-content/uploads/nomad.mp3" length="7348805" type="audio/mpeg" />
		</item>
	</channel>
</rss>
