<?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>Dylan Barlett</title> <atom:link href="http://www.dylanbarlett.com/feed/" rel="self" type="application/rss+xml" /><link>http://www.dylanbarlett.com</link> <description></description> <lastBuildDate>Fri, 03 Feb 2012 19:10:34 +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>Selective Realtime SQL Monitoring</title><link>http://www.dylanbarlett.com/2012/02/selective-realtime-sql-monitoring/</link> <comments>http://www.dylanbarlett.com/2012/02/selective-realtime-sql-monitoring/#comments</comments> <pubDate>Fri, 03 Feb 2012 19:10:34 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=225</guid> <description><![CDATA[While investigating unusual WordPress behavior, I needed a way to log all queries to a file for detailed analysis, but stream a subset to the console. This wp-config parameter and snippet in functions.php (from Bob Sherron) logs all queries to &#8230; <a
href="http://www.dylanbarlett.com/2012/02/selective-realtime-sql-monitoring/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>While investigating unusual WordPress behavior, I needed a way to log all queries to a file for detailed analysis, but stream a subset to the console.</p><p>This wp-config parameter</p><pre class="brush: php; title: ; notranslate">define('SAVEQUERIES', true);</pre><p>and snippet in functions.php (from <a
href="http://www.bsdeluxe.com/rails-like-sql-query-logging-in-wordpress/">Bob Sherron</a>)</p><pre class="brush: php; title: ; notranslate">
// outputs SQL queries to a log
add_action('shutdown', 'sql_logger');
function sql_logger() {
    global $wpdb;
    $log_file = fopen(ABSPATH.'/sql_log.txt', 'a');
    fwrite($log_file, &quot;//////////////////////////////////////////\n\n&quot; . date(&quot;F j, Y, g:i:s a&quot;).&quot;\n&quot;);
    foreach($wpdb-&gt;queries as $q) {
        fwrite($log_file, $q[0] . &quot; - ($q[1] s)&quot; . &quot;\n\n&quot;);
    }
    fclose($log_file);
}
</pre><p>logs all queries to sql_log.txt. On the server, I can then run</p><pre class="brush: bash; title: ; notranslate">tail -f sql_log.txt | grep &quot;WHERE \`option_name\` = 'sidebars_widgets'&quot; | tee sidebars_widgets.txt</pre><p>Note the backticks around option_name and single quotes around sidebars_widgets.</p><p>Breakdown of the individual commands:</p><pre class="brush: bash; title: ; notranslate">tail -f sql_log.txt</pre><p> Stream the end of sql_log.txt to stdout, as it&#8217;s updated</p><pre class="brush: bash; title: ; notranslate">grep &quot;WHERE \`option_name\` = 'sidebars_widgets'&quot;</pre><p> Filter only queries that update the row I&#8217;m interested in</p><pre class="brush: bash; title: ; notranslate">tee sidebars_widgets.txt</pre><p> Display the filtered lines on the console and write to sidebars_widgets.txt for later review</p> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2012/02/selective-realtime-sql-monitoring/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Capital Bikeshare Trip History Data</title><link>http://www.dylanbarlett.com/2012/01/capital-bikeshare-trip-history-data/</link> <comments>http://www.dylanbarlett.com/2012/01/capital-bikeshare-trip-history-data/#comments</comments> <pubDate>Wed, 11 Jan 2012 02:55:27 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=224</guid> <description><![CDATA[Capital Bikeshare just posted quarterly Trip History Data. I&#8217;ve imported the files into Google Fusion Tables: 2011-4th-quarter 2011-3rd-quarter 2011-2nd-quarter 2011-1st-quarter 2010-4th-quarter]]></description> <content:encoded><![CDATA[<p><a
href="http://capitalbikeshare.com">Capital Bikeshare</a> just posted quarterly <a
href="http://capitalbikeshare.com/trip_history_data">Trip History Data</a>. I&#8217;ve imported the files into <a
href="http://www.google.com/fusiontables/Home">Google Fusion Tables</a>:</p><p><a
href="https://www.google.com/fusiontables/DataSource?snapid=S356319as28">2011-4th-quarter</a><br
/> <a
href="https://www.google.com/fusiontables/DataSource?snapid=S356320GkBI">2011-3rd-quarter</a><br
/> <a
href="https://www.google.com/fusiontables/DataSource?snapid=S3563223x4l">2011-2nd-quarter</a><br
/> <a
href="https://www.google.com/fusiontables/DataSource?snapid=S356323qgrw">2011-1st-quarter</a><br
/> <a
href="https://www.google.com/fusiontables/DataSource?snapid=S356321l1Z7">2010-4th-quarter</a></p> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2012/01/capital-bikeshare-trip-history-data/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Android WebDriver without the SDK</title><link>http://www.dylanbarlett.com/2012/01/android-webdriver-without-the-sdk/</link> <comments>http://www.dylanbarlett.com/2012/01/android-webdriver-without-the-sdk/#comments</comments> <pubDate>Sun, 08 Jan 2012 18:33:53 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[Python]]></category> <category><![CDATA[Selenium]]></category> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=222</guid> <description><![CDATA[The Android WebDriver docs imply that you need the Android SDK and a USB connection to run Selenium tests on an Android device. This is not the case. You can run the WebDriver APK and connect via Wi-Fi. On your &#8230; <a
href="http://www.dylanbarlett.com/2012/01/android-webdriver-without-the-sdk/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>The <a
href="http://code.google.com/p/selenium/wiki/AndroidDriver">Android WebDriver docs</a> imply that you need the Android SDK and a USB connection to run Selenium tests on an Android device. This is not the case. You can run the WebDriver APK and connect via Wi-Fi.</p><p>On your device:<ol><li>Enable non-Market apps (Settings > Applications)</li><li>Download the latest android-server APK from <a
href="http://code.google.com/p/selenium/downloads/list">http://code.google.com/p/selenium/downloads/list</a></li><li>Install the APK</li><li>Launch WebDriver</li><li>Determine your IP (Settings > Wireless &#038; networks > Wi-Fi settings > SSID)</li></ol><p>On your workstation:<ol><li>Confirm that WebDriver is running and available by browsing to http://device_ip:8080/wd/hub/.</li><li>Run your Selenium script as usual (I use the Python bindings):<pre class="brush: python; title: ; notranslate">
from selenium import webdriver
android = webdriver.Remote(command_executor='http://device_ip:8080/wd/hub',  desired_capabilities=webdriver.DesiredCapabilities.ANDROID)
android.get(&quot;http://www.google.com&quot;)
# File will be saved on your workstation, not the device
android.get_screenshot_as_file(&quot;android_google.png&quot;)
android.quit()
</pre><p><a
href="http://www.dylanbarlett.com/wp-content/uploads/2012/01/android_google.png"><img
src="http://www.dylanbarlett.com/wp-content/uploads/2012/01/android_google-150x300.png" alt="Screenshot of www.google.com from Android WebDriver" width="150" height="300" class="alignleft size-medium wp-image-223" /></a></li></ol> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2012/01/android-webdriver-without-the-sdk/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Selenium browser speed comparison</title><link>http://www.dylanbarlett.com/2012/01/selenium-browser-speed-comparison/</link> <comments>http://www.dylanbarlett.com/2012/01/selenium-browser-speed-comparison/#comments</comments> <pubDate>Sun, 08 Jan 2012 03:57:02 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[Python]]></category> <category><![CDATA[Selenium]]></category> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=218</guid> <description><![CDATA[I use Selenium (via the Python bindings) for automated browser testing. My current project needs to run as fast as possible, so I compared the executions speed of a small test script in various browsers, both directly via WebDriver and &#8230; <a
href="http://www.dylanbarlett.com/2012/01/selenium-browser-speed-comparison/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>I use <a
href="http://seleniumhq.org/">Selenium</a> (via the Python bindings) for automated browser testing. My current project needs to run as fast as possible, so I compared the executions speed of a small test script in various browsers, both directly via WebDriver and through local Selenium Server. Elements are selected by name, CSS path, and XPath. The is also some direct JavaScript execution to get around quirks in the application under test.</p><p>Test execution time (average of five runs):<br
/> <a
href="http://www.dylanbarlett.com/wp-content/uploads/2012/01/BrowserSpeeds.png"><img
src="http://www.dylanbarlett.com/wp-content/uploads/2012/01/BrowserSpeeds.png" alt="Test execution time graph" width="479" height="314" class="alignleft size-full wp-image-220" /></a></p><table
summary="Test execution time" id="browsertesttimes"><thead><tr><th
scope="col">Browser</th><th
scope="col">Interface</th><th
scope="col">Time (sec)</th></tr></thead><tbody><tr><td>Firefox</td><td>WebDriver</td><td>9.22</td></tr><tr><td>Firefox</td><td>Server</td><td>5.58</td></tr><tr><td>Chrome</td><td>WebDriver</td><td>5.35</td></tr><tr><td>Chrome</td><td>Server</td><td>6.55</td></tr><tr><td>HTMLUnit<sup>1</sup></td><td>Server</td><td>3.07</td></tr></tbody></table><p>[1] JavaScript enabled (emulates Firefox 3.6)</p><h4>Test environment</h4><p>Intel Core2Quad Q8400<br
/> Ubuntu 11.04 amd64, Linux 2.6.38<br
/> Sun JRE 1.6.0_26-b03<br
/> Selenium Server 2.16.1<br
/> Selenium Python bindings 2.15</p> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2012/01/selenium-browser-speed-comparison/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Installing iTop in a VM</title><link>http://www.dylanbarlett.com/2011/10/installing-itop-in-a-vm/</link> <comments>http://www.dylanbarlett.com/2011/10/installing-itop-in-a-vm/#comments</comments> <pubDate>Sun, 23 Oct 2011 23:50:56 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[iTop]]></category> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=191</guid> <description><![CDATA[<a
href="http://www.combodo.com/-Overview-.html">iTop</a> (IT Operational Portal) is an <acronym
title="Information Technology Infrastructure Library">ITIL</acronym>-oriented service management application that includes a customizable <acronym
title="Configuration Management Database">CMDB</acronym>. The documentation is a bit spotty, so here's how to experiment in a virtual machine. <a
href="http://www.dylanbarlett.com/2011/10/installing-itop-in-a-vm/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a
href="http://www.combodo.com/-Overview-.html">iTop</a> (IT Operational Portal) is an <acronym
title="Information Technology Infrastructure Library">ITIL</acronym>-oriented service management application that includes a customizable <acronym
title="Configuration Management Database">CMDB</acronym>. The documentation is a bit spotty, so here&#8217;s how to experiment in a virtual machine.</p><ol><li>Download the <a
href="http://www.turnkeylinux.org/lampstack">TurnKey LAMP stack image</a> (available as VMDK, OVF, and ISO) and open in your favorite virtualization software.</li><li>Boot and configure the OS and MySQL root accounts</li><li>Install OS updates</li><li>Note the IP address</li><li>If you need external authentication, install PHP LDAP support and verify:<pre class="brush: bash; title: ; notranslate">apt-get install php5-ldap php5-cli
php -m | grep ldap</pre></li><li>Restart Apache<pre class="brush: bash; title: ; notranslate">service apache2 restart</pre></li><li>Configure MySQL<ol><li>Login to phpMyAdmin at https://ip_address:12322</li><li>Create a user called itop</li><li>Select <em>Create database with same name and grant all privileges</em></li></ol></li><li>Download &amp; install iTop files<pre class="brush: bash; title: ; notranslate">wget http://sourceforge.net/projects/itop/files/itop/1.2/iTop-1.2.0-299.zip
unzip iTop-1.2.0-299.zip
mkdir /var/www/itop
cp -r web/* /var/www/itop
chown -R www-data /var/www/itop/</pre></li><li>Edit configuration file<pre class="brush: bash; title: ; notranslate">nano /var/www/itop/config-itop.php</pre><ol><li>Change line 26 to your timezone<pre class="brush: php; title: ; notranslate">'timezone' =&gt; 'America/New_York'</pre></li><li>Optional: if you use LDAP authentication, change lines 65-70. This will allow any user account in the example.com domain to login (create the accounts without @example.com)<pre class="brush: php; title: ; notranslate">'host' =&gt; 'LDAP_server_hostname',
'port' =&gt; 389,
'default_user' =&gt; 'bind_user',
'default_pwd' =&gt; 'bind_password',
'base_dn' =&gt; 'dc=example,dc=com',
'user_query' =&gt; '(&amp;(samaccountname=%1$s)(objectCategory=User)</pre></li><li>Optional: comment out all languages other than en to improve performance</li></ol></li><li>Browse to http://ip_address/itop and complete the wizard</li><li>Optional: configure <a
href="http://sourceforge.net/apps/mediawiki/itop/index.php?title=Background_processing_cron/schtasks">background processing</a> (cron)</li><li>Optional: install the Data Model Toolkit<ol><li>Download &amp; install<pre class="brush: bash; title: ; notranslate">cd /var/www/iTop
wget http://www.combodo.com/documentation/iTopDataModelToolkit-1.2.zip
unzip iTopDataModelToolkit-1.2.zip
chown -R www-data toolkit</pre></li><li>Browse to http://ip_address:/itop/toolkit</li></ol></li></ol> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2011/10/installing-itop-in-a-vm/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>APC UPS Monitoring on ClearOS</title><link>http://www.dylanbarlett.com/2011/06/apc-ups-monitoring-on-clearos/</link> <comments>http://www.dylanbarlett.com/2011/06/apc-ups-monitoring-on-clearos/#comments</comments> <pubDate>Sun, 19 Jun 2011 23:59:12 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[ClearOS]]></category> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=188</guid> <description><![CDATA[Configuring an <a
href="http://www.apc.com/resource/include/techspec_index.cfm?base_sku=BE550G">APC Back-UPS ES 550</a> with ClearOS 5.2 <a
href="http://www.dylanbarlett.com/2011/06/apc-ups-monitoring-on-clearos/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Configuring an <a
href="http://www.apc.com/resource/include/techspec_index.cfm?base_sku=BE550G">APC Back-UPS ES 550</a> with ClearOS 5.2:</p><ol><li>Connect included RJ-45 to USB cable.</li><li>Install net-snmp:<pre class="brush: bash; title: ; notranslate">yum install net-snmp</pre></li><li>Download the latest APCUPSD rpms from <a
href="http://sourceforge.net/projects/apcupsd/files/">SourceForge</a>. apcupsd is the base package, apcupsd-multimon is the web interface. For ClearOS 5.2, use the .el5.i386.rpm packages.</li><li>Install:<pre class="brush: bash; title: ; notranslate">rpm -ivh apcupsd-3.14.8-1.el5.i386.rpm
rpm -ivh apcupsd-multimon-3.14.8-1.el5.i386.rpm</pre></li><li>Start monitoring service:<pre class="brush: bash; title: ; notranslate">service apcupsd start</pre></li><li>Display UPS status:<pre class="brush: bash; title: ; notranslate">apcaccess status</pre></li><li>Browse to http://hostname/cgi-bin/multimon.cgi</li></ol> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2011/06/apc-ups-monitoring-on-clearos/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Protected: WordPress Memo</title><link>http://www.dylanbarlett.com/2011/04/wordpress-memo/</link> <comments>http://www.dylanbarlett.com/2011/04/wordpress-memo/#comments</comments> <pubDate>Thu, 21 Apr 2011 16:27:33 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=157</guid> <description><![CDATA[There is no excerpt because this is a protected post.]]></description> <content:encoded><![CDATA[<form
action="http://www.dylanbarlett.com/wp-pass.php" method="post"><p>This post is password protected. To view it please enter your password below:</p><p><label
for="pwbox-157">Password:<br
/> <input
name="post_password" id="pwbox-157" type="password" size="20" /></label><br
/> <input
type="submit" name="Submit" value="Submit" /></p></form> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2011/04/wordpress-memo/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>ClearOS and StartSSL</title><link>http://www.dylanbarlett.com/2011/03/startssl-and-clearos/</link> <comments>http://www.dylanbarlett.com/2011/03/startssl-and-clearos/#comments</comments> <pubDate>Tue, 22 Mar 2011 05:25:49 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[ClearOS]]></category> <category><![CDATA[Software]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=146</guid> <description><![CDATA[How to obtain a free SSL certificate and install it for Webconfig and SOGo on ClearOS <a
href="http://www.dylanbarlett.com/2011/03/startssl-and-clearos/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>As <a
href="../?p=40">previously described</a>, I use <a
href="http://www.clearfoundation.com/Software/overview.html">ClearOS</a> as an all-purpose small business server. There are two public-facing components: Webconfig (remote admin) and <a
href="http://www.sogo.nu/">SOGo</a> (groupware, proxied thru Apache). By default, ClearOS secures both with self-signed SSL certificates. While this works, it&#8217;s unprofessional and inconvenient to make users add a security exception to every browser they connect from.</p><p>Inspired by <a
href="http://www.clearfoundation.com/component/option,com_kunena/Itemid,232/catid,25/func,view/id,8435/#20784">this post</a>, I decided to try a Class 1 cert from <a
href="https://www.startssl.com/?app=0">StartSSL</a>. They provide free certs valid for one year (more info at <a
href="http://www.sslshopper.com/article-free-ssl-certificates-from-a-free-certificate-authority.html">SSL Shopper</a>). Once you&#8217;ve signed up with StartSSL and validated your domain ownership:</p><ol><li><a
href="http://www.clearfoundation.com/component/option,com_kunena/Itemid,232/catid,25/func,view/id,8435/#20772">Change the default message digest parameter</a> in <code>/etc/ssl/openssl.cnf</code> from MD5 to SHA1:<br
/> <code>default_md = sha1</code> (both lines)</li><li>Delete the System Certificate</li><li>Create a CSR for the System Certificate</li><li>Provide the CSR to StartSSL and retrieve the cert.</li><li>Upload the cert into Webconfig. This will create <code>/etc/ssl/sys-0-cert.pem</code> and <code>/etc/ssl/private/sys-0-key.pem</code></li><li>Overwrite the self-signed cert and key [<a
href="#Note1">1</a>]:<pre class="brush: bash; title: ; notranslate">cp /etc/ssl/sys-0-cert.pem /usr/webconfig/conf/server.crt
cp /etc/ssl/private/sys-0-key.pem /usr/webconfig/conf/server.key</pre></li><li>Download the certificate chain (<code><a
href="http://www.startssl.com/certs/ca.pem">ca.pem</a></code> and <code><a
href="http://www.startssl.com/certs/sub.class1.server.ca.pem">sub.class1.server.ca.pem</a></code>) to <code>/etc/ssl</code></li><li>Modify <code>/etc/httpd/conf.d/ssl.conf</code>:<code><br
/> SSLCertificateFile /etc/ssl/sys-0-cert.pem<br
/> SSLCertificateKeyFile /etc/ssl/private/sys-0-key.pem<br
/> SSLCertificateChainFile /etc/ssl/sub.class1.server.ca.pem<br
/> SSLCACertificateFile /etc/ssl/ca.pem</code></li><li>Restart Apache:<pre class="brush: bash; title: ; notranslate">service httpd restart</pre></li><li>Use the <a
href="http://www.sslshopper.com/ssl-checker.html">SSL Checker</a> to verify that Apache is serving the entire chain (if it isn&#8217;t, Firefox will distrust the site).</li><li>Browse to https://server.example.com:81 and https://server.example.com/SOGo without adding a security exception.</li></ol><p><a
name="Note1">[1] Avoids modifying the Webconfig configuration.</a></p> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2011/03/startssl-and-clearos/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Hard Hat Light</title><link>http://www.dylanbarlett.com/2011/02/hard-hat-light/</link> <comments>http://www.dylanbarlett.com/2011/02/hard-hat-light/#comments</comments> <pubDate>Tue, 08 Feb 2011 03:33:04 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[CERT]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=127</guid> <description><![CDATA[Many situations that call for head protection also call for a flashlight. Since you're wearing a hard hat already, why not add a headlamp? <a
href="http://www.dylanbarlett.com/2011/02/hard-hat-light/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Many situations that call for head protection also call for a flashlight. Since you&#8217;re wearing a hard hat already, why not add a headlamp? Most headlamps have fabric straps that slip off plastic, so a rubber strap is necessary. Streamlight makes <a
href="http://www.amazon.com/gp/product/B0028014PK?ie=UTF8&amp;tag=dylabarl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0028014PK">one such model</a>, but it retails for $30. I built my own version for around $10 (plus hard hat). Click on any image for full-sized version.</p><p>You&#8217;ll need:</p><ul><li>Hard hat &#8211; Arlington CERT uses the <a
href="http://www.amazon.com/gp/product/B0002TRBN8?ie=UTF8&amp;tag=dylabarl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B0002TRBN8">Omega II</a>, but this should work on any model</li><li>Headlamp &#8211; I bought this 9-LED, 3-AAA model from <a
href="http://www.sciplus.com/singleItem.cfm/terms/12460">American Science &amp; Surplus</a>, but <a
href="http://www.dealextreme.com/c/headlamps-906">DealExtreme</a> has a wide choice of models (and free shipping)</li><li><a
href="http://www.fullsource.com/flashlights-and-batteries/streamlight-rubber-head-strap-black-61003sl/">Rubber strap</a></li><li>Small Phillips screwdriver</li><li>Scissors</li></ul><p><a
href="http://www.dylanbarlett.com/wp-content/uploads/2011/02/IMG_0437.jpg"><img
class="aligncenter size-medium wp-image-128" title="Materials" src="http://www.dylanbarlett.com/wp-content/uploads/2011/02/IMG_0437-300x239.jpg" alt="" width="300" height="239" /></a></p><p>Steps:</p><p>1. Cut the straps from the headlamp mounting bracket and discard. Be careful not to snap off any of the plastic like I did.</p><p>2. Thread the rubber strap through the bracket and secure with one buckle. Using only one buckle increases the pressure on the strap and keeps it secure. Keep it off-center so the light can pivot freely.</p><p
style="text-align: left;"><a
href="http://www.dylanbarlett.com/wp-content/uploads/2011/02/IMG_0439.jpg"><img
class="size-medium wp-image-129 aligncenter" title="Bracket and strap" src="http://www.dylanbarlett.com/wp-content/uploads/2011/02/IMG_0439-300x201.jpg" alt="" width="300" height="201" /></a>3. Place the strap around the hard hat.</p><p><a
href="http://www.dylanbarlett.com/wp-content/uploads/2011/02/IMG_0440.jpg"><img
class="aligncenter size-medium wp-image-130" title="Strap on hard hat" src="http://www.dylanbarlett.com/wp-content/uploads/2011/02/IMG_0440-300x255.jpg" alt="" width="300" height="255" /></a>4. Use the screw to fasten the light to the mounting bracket.</p><p><a
href="http://www.dylanbarlett.com/wp-content/uploads/2011/02/IMG_0441.jpg"><img
class="aligncenter size-medium wp-image-131" title="Hard hat with light" src="http://www.dylanbarlett.com/wp-content/uploads/2011/02/IMG_0441-300x251.jpg" alt="" width="300" height="251" /></a></p> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2011/02/hard-hat-light/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Deliberate Practice</title><link>http://www.dylanbarlett.com/2011/01/deliberate-practice/</link> <comments>http://www.dylanbarlett.com/2011/01/deliberate-practice/#comments</comments> <pubDate>Mon, 24 Jan 2011 02:58:22 +0000</pubDate> <dc:creator>Dylan</dc:creator> <category><![CDATA[Books]]></category> <guid
isPermaLink="false">http://www.dylanbarlett.com/?p=123</guid> <description><![CDATA[<a
href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.169.9712">Deliberate practice</a> in <a
href="http://www.johnmcphee.com/">John McPhee</a>'s <a
href="http://www.amazon.com/gp/product/0374526893?ie=UTF8&#38;tag=dylabarl-20&#38;linkCode=as2&#38;camp=1789&#38;creative=390957&#38;creativeASIN=0374526893">A Sense of Where You Are: Bill Bradley at Princeton</a> <a
href="http://www.dylanbarlett.com/2011/01/deliberate-practice/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a
href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.169.9712">Deliberate practice</a> in <a
href="http://www.johnmcphee.com/">John McPhee</a>&#8216;s <a
href="http://www.amazon.com/gp/product/0374526893?ie=UTF8&amp;tag=dylabarl-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0374526893">A Sense of Where You Are: Bill Bradley at Princeton</a></p><p>In high school:</p><blockquote><p>&#8230;he obviously needed considerable practice, so he borrowed keys to the  gym and set a schedule for himself that he adhered to for four full  years-in the school year, three and a half hours every day after school,  nine to five on Saturday, one-thirty to five on Sunday, and in the  summer, about three hours a day. He put ten pounds of lead slivers in  his sneakers, set up chairs as opponents and dribbled in slalom fashion  around them, and wore eyeglass frames that had a piece of cardboard  taped to them so that he could not see the floor, for a good dribbler  never looks at the ball.</p></blockquote><p>At Princeton:</p><blockquote><p>When Bradley, working out alone, practices his set shots, hook shots, and jump shots, he moves systematically from one place to another around the basket, his distance from it being appropriate to the shot, and he does not permit himself to move on until he has made at least ten shots out of thirteen from each location. He applies this standard to every kind of shot, with either hand, from any distance.</p></blockquote> ]]></content:encoded> <wfw:commentRss>http://www.dylanbarlett.com/2011/01/deliberate-practice/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Dynamic page generated in 0.491 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-03 15:56:55 -->
<!-- Compression = gzip -->
