<?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>leskowsky.net</title>
	<atom:link href="http://www.leskowsky.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.leskowsky.net/blog</link>
	<description>On software craftsmanship, running websites, gadgets and other things</description>
	<lastBuildDate>Thu, 10 May 2012 17:26:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MongoSF 2012 Tip #1</title>
		<link>http://www.leskowsky.net/blog/2012/05/mongosf-2012-tip-1/</link>
		<comments>http://www.leskowsky.net/blog/2012/05/mongosf-2012-tip-1/#comments</comments>
		<pubDate>Thu, 10 May 2012 17:24:38 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://www.leskowsky.net/blog/?p=355</guid>
		<description><![CDATA[I&#8217;m starting to watch some of the presentations from MongoSF 2012. Here&#8217;s a great tip regarding an oft forgotten little switch for storage systems: ReadAhead. On one support call, RA was set high @ 4MB &#8211; probably reasonable for a laptop / desktop, which is where mongoD was running in this case on a dev [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m starting to watch some of the presentations from MongoSF 2012. Here&#8217;s a great tip regarding an oft forgotten little switch for storage systems: ReadAhead.</p>
<p>On one support call, RA was set high @ 4MB &#8211; probably reasonable for a laptop / desktop, which is where mongoD was running in this case on a dev box &#8211; causing severe disk utilization issues. The solution was to throttle RA back to 32K. That is, something closer to the average document size in mongo for that user.</p>
<p>Performance &#8230; waay up.</p>
<p>Overall a great talk. I love this fellow. Smart, funny. <img src='http://www.leskowsky.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a title="source" href="http://www.10gen.com/presentations/mongosf-2012/operational-best-practices">Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2012/05/mongosf-2012-tip-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quote</title>
		<link>http://www.leskowsky.net/blog/2012/04/quote-12/</link>
		<comments>http://www.leskowsky.net/blog/2012/04/quote-12/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 17:25:01 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[quote]]></category>

		<guid isPermaLink="false">http://www.leskowsky.net/blog/?p=351</guid>
		<description><![CDATA[&#8220;Everything will be alright&#8221; is not the same as &#8220;everything will stay the same.&#8221; &#8211; Seth Godin]]></description>
			<content:encoded><![CDATA[<p>&#8220;Everything will be alright&#8221; is not the same as &#8220;everything will stay the same.&#8221; &#8211; Seth Godin</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2012/04/quote-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple chef recipe that installs Jenkins</title>
		<link>http://www.leskowsky.net/blog/2012/03/simple-chef-recipe-jenkins/</link>
		<comments>http://www.leskowsky.net/blog/2012/03/simple-chef-recipe-jenkins/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 18:27:11 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://www.leskowsky.net/blog/?p=342</guid>
		<description><![CDATA[# Cookbook Name:: jenkins # Recipe:: default # https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu # This is super-simple, compared to the other Chef cookbook I found # for Jenkins (https://github.com/fnichol/chef-jenkins). # # This doesn't include Chef libraries for adding Jenkin's jobs via # the command line, but it does get Jenkins up and running. # # I'd rather build up [...]]]></description>
			<content:encoded><![CDATA[<pre># Cookbook Name:: jenkins
# Recipe:: default

# https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
# This is super-simple, compared to the other Chef cookbook I found
# for Jenkins (https://github.com/fnichol/chef-jenkins).
#
# This doesn't include Chef libraries for adding Jenkin's jobs via
# the command line, but it does get Jenkins up and running.
#
# I'd rather build up a Chef cookbook than strip it down, so here's
# a good starting point.

include_recipe "apt"
include_recipe "java"

apt_repository "jenkins" do
  uri "http://pkg.jenkins-ci.org/debian"
  key "http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key"
  components ["binary/"]
  action :add
end

package "jenkins"

service "jenkins" do
  supports [:stop, :start, :restart]
  action [:start, :enable]
end</pre>
<p><a href="https://gist.github.com/978920">source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2012/03/simple-chef-recipe-jenkins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 Essential Questions for Great Design</title>
		<link>http://www.leskowsky.net/blog/2011/12/5-essential-questions-for-great-design/</link>
		<comments>http://www.leskowsky.net/blog/2011/12/5-essential-questions-for-great-design/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 14:32:31 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://leskowsky.net/blog/?p=337</guid>
		<description><![CDATA[From Kim Goodwin: What is the user trying to accomplish? What does the user need to know to accomplish their goal? How should the user feel as they accomplish it? How does the current design (or alternative) currently make them feel? What did they do to accomplish it? source]]></description>
			<content:encoded><![CDATA[<p>From Kim Goodwin:</p>
<blockquote>
<ol>
<li>What is the user trying to accomplish?</li>
<li>What does the user need to know to accomplish their goal?</li>
<li>How should the user feel as they accomplish it?</li>
<li>How does the current design (or alternative) currently make them feel?</li>
<li>What did they do to accomplish it?</li>
</ol>
</blockquote>
<p><a href="http://www.uie.com/brainsparks/2011/11/17/kim-goodwins-5-essential-questions-for-great-design/">source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2011/12/5-essential-questions-for-great-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress › Taking WordPress to War</title>
		<link>http://www.leskowsky.net/blog/2011/11/wordpress-taking-wordpress-to-war/</link>
		<comments>http://www.leskowsky.net/blog/2011/11/wordpress-taking-wordpress-to-war/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 15:04:13 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.leskowsky.net/blog/?p=335</guid>
		<description><![CDATA[&#160; &#160; WordPress › Taking WordPress to War. Powerful video &#8211; recorded at San Francisco Wordcamp 2011 - of a photo journalist working in Afghanistan, and how he used WordPress to connect a particular group of soldiers to their families back home and to the rest of the world.]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://wordpress.org/news/2011/11/taking-wordpress-to-war/">WordPress › Taking WordPress to War</a>.</p>
<p>Powerful video &#8211; recorded at San Francisco Wordcamp 2011 - of a photo journalist working in Afghanistan, and how he used WordPress to connect a particular group of soldiers to their families back home and to the rest of the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2011/11/wordpress-taking-wordpress-to-war/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Success</title>
		<link>http://www.leskowsky.net/blog/2011/11/success/</link>
		<comments>http://www.leskowsky.net/blog/2011/11/success/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 13:37:24 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[quote]]></category>

		<guid isPermaLink="false">http://www.leskowsky.net/blog/?p=323</guid>
		<description><![CDATA[&#8220;It’s my firm belief that one of the keys to success is avoiding the artificial, uniform face that most companies present. Success means being an accessible collection of genuine people that incidentally comprise a company.&#8221; - Bill DeRouchey [source]]]></description>
			<content:encoded><![CDATA[<p>&#8220;It’s my firm belief that one of the keys to success is avoiding the artificial, uniform face that most companies present. Success means being an accessible collection of genuine people that incidentally comprise a company.&#8221;</p>
<p>- Bill DeRouchey [<a title="Bill DeRouchey on designing great user experiences" href="http://www.simple.com/blog/Simple/introducing-bill-derouchey/">source</a>] </p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2011/11/success/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes from WordcampTO 2011</title>
		<link>http://www.leskowsky.net/blog/2011/11/notes-from-wordcampto-2011/</link>
		<comments>http://www.leskowsky.net/blog/2011/11/notes-from-wordcampto-2011/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 14:23:17 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://www.leskowsky.net/blog/?p=324</guid>
		<description><![CDATA[Child (Daughter) themes Make changes to existing themes without modifying them directly Child themes: Allow you to brand themes for clients in admin area To build: Template: (parent) Parent themes don&#8217;t have template tag in comment header Theme name: (your name) First line in your child theme imports (parent’s) stylesheet Include screenshot.png to get WordPress [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: underline"><strong>Child (Daughter) themes</strong></span></p>
<p>Make changes to existing themes without modifying them directly</p>
<p>Child themes:<br />
Allow you to brand themes for clients in admin area</p>
<p>To build:</p>
<ul>
<li>Template: (parent)</li>
</ul>
<p>Parent themes don&#8217;t have template tag in comment header</p>
<ul>
<li>Theme name: (your name)</li>
</ul>
<p>First line in your child theme imports (parent’s) stylesheet</p>
<ul>
<li>Include screenshot.png to get WordPress to use it in admin appearance area</li>
</ul>
<p>Eg. Copy footer.php into daughter theme folder to change copyright footer</p>
<ul>
<li>WordPress prefers php files in daughter folder over parent</li>
</ul>
<p>Exception function.php &#8211; both parent and daughter are loaded (daughter first, parent second)</p>
<p><span style="text-decoration: underline"><strong>Functions.php</strong></span></p>
<p>Don&#8217;t hack framework code <img src='http://www.leskowsky.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Prefer extension-plugin mechanisms, Apis</p>
<p>WordPress alternatives:</p>
<ul>
<li>Child themes: changes that go away if your theme changes</li>
<li>Site plugin: changes that shouldn&#8217;t go away &#8211; ever</li>
</ul>
<p>Plugins:<br />
Wp-content/plugins<br />
Create a dir (eg. akismet)<br />
Create a file (eg. a.php &#8211; no filename restrictions)<br />
Can create a header in the plugin’s php file that provides info to admin backend<br />
Note: Plugins load before themes</p>
<p><span style="text-decoration: underline"><strong>Theme development best practices</strong></span></p>
<p>Documentation standard: phpdoc</p>
<ul>
<li>Page-level</li>
<li>Function-level</li>
<li>Think about copyright and license restrictions documentation</li>
</ul>
<p>Use child themes</p>
<ul>
<li>get_stylesheet_dir &#8211; files intended to be overridden by child themes</li>
<li>get_template_dir &#8211; files not intended to be overridden by child themes</li>
<li>get_template_part &#8211; graceful fallback mechanism for including template fragments (eg. header-404.php)</li>
</ul>
<p>Stylesheets &amp; scripts</p>
<ul>
<li>Use wp_enqueue_scripts</li>
</ul>
<p>Gravity forms?</p>
<p>add_*_page to insert admin pages into we backend</p>
<ul>
<li>Eg. add_theme_page(&#8230;) adds subpage to Appearance menu</li>
<li>For special admin panel configuration for a theme</li>
</ul>
<p><span style="text-decoration: underline"><strong>Multisite</strong></span></p>
<p>Multi-tenant wp installation<br />
Make.wordpress.org<br />
Buddypress.org</p>
<p>Multisite examples:</p>
<ul>
<li>Bestbuy</li>
<li>Universities/colleges</li>
<li>Businesses</li>
<li>WordPress.com</li>
<li>Liberal association?</li>
</ul>
<p><span style="text-decoration: underline"><strong>Pm101 &#8211; project management for small business</strong></span></p>
<p>Think on time, on budget&#8230; but much more to it</p>
<p>Flexible but firm<br />
Deadlines are important but inherently arbitrary</p>
<p>3 stages of a project: starting, work, finishing</p>
<p><strong><em>Starting</em></strong></p>
<p>Define 4 things:<br />
Scope<br />
Budget<br />
Timeline<br />
Objectives &#8211; kpi</p>
<p>(may need discovery step &#8211; who, where and why. Identify project roles: who has go, no-go decision, who’s the Pm. Business model, overall objectives, marketing strategy)</p>
<p>Best projects have fixed and flexible characteristics. Eg. scope and budget are fuzzy but have to be ready for demo next Tuesday</p>
<p>Interesting/revealing questions:<br />
What browser do you use daily?<br />
“I don&#8217;t know, whatever&#8217;s on my computer?”<br />
Gauge tech savvy</p>
<p><em><strong>Work</strong></em></p>
<p>Communicate what you need and when<br />
Feedback<br />
Follow up</p>
<p>Set expectations as you go<br />
Browser limitations<br />
Unknowns&#8230;<br />
Wordpress.com/.org</p>
<p>More important to keep things moving than to be right</p>
<p>Read Dan Pink’s drive</p>
<p><em><strong>Finishing</strong></em></p>
<p>Launch party (do something to acknowledges effort of team)<br />
Maintenance<br />
Evolve/enhance</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2011/11/notes-from-wordcampto-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Code reading</title>
		<link>http://www.leskowsky.net/blog/2011/08/code-reading/</link>
		<comments>http://www.leskowsky.net/blog/2011/08/code-reading/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 12:31:20 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://www.leskowsky.net/blog/?p=319</guid>
		<description><![CDATA[Josh Bloch&#8217;s Effective Java is easily one of the earliest deeply technical books I can remember that really help nudge me along the road to becoming a more conscientious programmer. Language mastery, he says, is a play in 3 parts: Grammar Vocabulary Common usage #1 and #2 are fairly narrow in scope &#8211; usually taking no [...]]]></description>
			<content:encoded><![CDATA[<p>Josh Bloch&#8217;s Effective Java is easily one of the earliest deeply technical books I can remember that really help nudge me along the road to becoming a more conscientious programmer. Language mastery, he says, is a play in 3 parts:</p>
<ul>
<li>Grammar</li>
<li>Vocabulary</li>
<li>Common usage</li>
</ul>
<p>#1 and #2 are fairly narrow in scope &#8211; usually taking no more than 2-3 weeks &#8211; and are what I consider to be every language&#8217;s cover charge. The bare minimum you simply must know to get in the door. #3 on the other hand is a bit more nebulous and often takes anywhere from months to years.</p>
<p>The good news is picking up a good sense of common usage has never been easier thanks to the likes of github, bitbucket et. al. Start reading somebody else&#8217;s code! Many somebody else&#8217;s actually.</p>
<p>Just this morning I had an hour free before rolling into work &#8211; the perfect opportunity to start poking around in WordPress&#8217;s codebase. <img src='http://www.leskowsky.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2011/08/code-reading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes: TechTalksTO &#8211; August 13, 2011</title>
		<link>http://www.leskowsky.net/blog/2011/08/notes-techtalksto-august-13-2011/</link>
		<comments>http://www.leskowsky.net/blog/2011/08/notes-techtalksto-august-13-2011/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 01:43:11 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://www.leskowsky.net/blog/?p=311</guid>
		<description><![CDATA[The Best Framework is a Myth (Aaron Quintz &#8211; Paperless Post) Take a look at Sammy.js Seems to use mustache (take a look at that too) Inspiration: Sinatra (ruby) Frameworks should be small Better to be componentized letting users take only the bits they need Framework demands Clean API Enough structure to help Solves a problem [...]]]></description>
			<content:encoded><![CDATA[<h2>The Best Framework is a Myth (Aaron Quintz &#8211; Paperless Post)</h2>
<p>Take a look at Sammy.js<br />
Seems to use mustache (take a look at that too)</p>
<p>Inspiration: Sinatra (ruby)</p>
<p>Frameworks should be small<br />
Better to be componentized letting users take only the bits they need</p>
<p>Framework demands</p>
<ul>
<li>Clean API</li>
<li>Enough structure to help</li>
<li>Solves a problem for your app</li>
</ul>
<h2>Performance (Morgan Tocker &#8211; Ex-Percona)</h2>
<p>Variance is a crucial metric when talking about performance &#8211; that is, what&#8217;s the diff. between what the fastest response and the slowest. Avg sucks.</p>
<p>Recall Fb optimizes Top N queries</p>
<p>Can&#8217;t look at a single contributor to workload and expect to change the overall user’s pereived experience of a task &#8211; often need to look at wholistic system profile</p>
<p>Should be focused on user tasks<br />
Eg. How long does a typical user login task take?</p>
<p>Should always be business oriented: how do we make the workflow of signup faster or less painful? Might mean turning a 3 page workflow into a single signin screen. (Don’t start with tuning mysql&#8230; necessarily.)</p>
<p>Throughput != performance<br />
Response time is much better metric</p>
<p>95th percentile is important metric&#8230; Are most people getting responses within acceptable amount of time given your personal goals?</p>
<p>@morgo</p>
<p>Look atScout.app for server monitoring</p>
<h2>Continuous Integration (Timothy Fitz &#8211; Canv.as)</h2>
<p>Loop:</p>
<ul>
<li>Check in code</li>
<li>Run automated tests</li>
<li>Deploy</li>
</ul>
<p>New features should include:</p>
<ul>
<li>Health checks/alerts for business level metrics related to it (eg. has anyone logged in in the last 5secs?)</li>
<li>Monitoring scripts of infrastructure required to run it</li>
</ul>
<p>Book: Release it</p>
<h2>Infrastructure Automation with Chef (Aaron Peterson)</h2>
<p>Add chef client run to list of crons<br />
Apt-get update will run regularly</p>
<p>Prefer rebuilding infrastructure nodes to modify when services change</p>
<p>Use chef server for</p>
<ul>
<li>Data bags (user, passwords, other?)</li>
<li>Search &#8211; eg. A load balancer can look for new nodes and rewrite its configuration file on changes (add or retire)</li>
</ul>
<p>New nodes register with chef server on create</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2011/08/notes-techtalksto-august-13-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quote</title>
		<link>http://www.leskowsky.net/blog/2011/05/quote-test-measure-learn/</link>
		<comments>http://www.leskowsky.net/blog/2011/05/quote-test-measure-learn/#comments</comments>
		<pubDate>Wed, 18 May 2011 21:42:41 +0000</pubDate>
		<dc:creator>christian</dc:creator>
				<category><![CDATA[quote]]></category>

		<guid isPermaLink="false">http://www.leskowsky.net/blog/?p=301</guid>
		<description><![CDATA[Entrepreneurs yearn for eureka moments. A moment where uncertainty is abolished and the way forward becomes clear. Reality is that clarity isn’t common and great ideas aren’t typically born out of thin air. Developing an idea is done largely through trial and error. Most startups zigzag with a founder navigating with limited data and intuition. Recognize that your [...]]]></description>
			<content:encoded><![CDATA[<p>Entrepreneurs yearn for eureka moments.</p>
<p>A moment where uncertainty is abolished and the way forward becomes clear. Reality is that clarity isn’t common and great ideas aren’t typically born out of thin air. Developing an idea is done largely through trial and error. Most startups zigzag with a founder navigating with limited data and intuition.</p>
<p>Recognize that your startup is an ever-evolving idea and survival comes through adaptation. Don’t hold out waiting for an eureka moment. Make adjustments when change is necessary.</p>
<p>Test, measure and learn.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leskowsky.net/blog/2011/05/quote-test-measure-learn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

