<?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>Linux and Programming Tips, Tricks, Hacks, Guides, and How-Tos &#187; Computers</title> <atom:link href="http://seanp2k.com/category/computers/feed/" rel="self" type="application/rss+xml" /><link>http://seanp2k.com</link> <description>Linux how to articles and guides, PHP / MySQL / Python / Bash scripting, and music tips, tricks, and hacks</description> <lastBuildDate>Thu, 12 Jan 2012 22:33:41 +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>Using the Apple Aluminum Keyboard with Windows 7</title><link>http://seanp2k.com/2011/12/using-the-apple-aluminum-keyboard-with-windows-7/</link> <comments>http://seanp2k.com/2011/12/using-the-apple-aluminum-keyboard-with-windows-7/#comments</comments> <pubDate>Tue, 06 Dec 2011 06:08:36 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Computers]]></category> <category><![CDATA[apple aluminum keyboard]]></category> <category><![CDATA[bootcamp aluminum keyboard]]></category> <category><![CDATA[bootcamp drivers]]></category> <category><![CDATA[Windows 7]]></category> <category><![CDATA[windows bootcamp]]></category> <category><![CDATA[windows bootcamp keyboard]]></category> <category><![CDATA[Windows Vista]]></category> <category><![CDATA[Windows XP]]></category><guid isPermaLink="false">http://seanp2k.com/?p=417</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/12/using-the-apple-aluminum-keyboard-with-windows-7/' addthis:title='Using the Apple Aluminum Keyboard with Windows 7 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Windows tools for any version of the Apple aluminum keyboards.  It's possible to get all the special functions, as well as print screen and scroll lock working on Windows XP, Vista, and 7, 32 and 64-bit versions.<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/12/using-the-apple-aluminum-keyboard-with-windows-7/' addthis:title='Using the Apple Aluminum Keyboard with Windows 7 ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/12/using-the-apple-aluminum-keyboard-with-windows-7/' addthis:title='Using the Apple Aluminum Keyboard with Windows 7 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>I&#8217;ve written before about how you can make some registry tweaks or use SharpKeys to fix the common frusturations with the Apple aluminum keyboards, but if you want the &#8220;official&#8221; solution, you can use the following files which the people from <a href="http://www.insanelymac.com/forum/index.php?s=f6a95ae02775340f24ceff85fa144b5c&#038;showtopic=45140&#038;st=20">InsanelyMac forums</a> extracted.</p><p><a href="http://seanp2k.com/wp-content/uploads/2011/12/imackb.zip">Apple Aluminum Keyboard tools for Windows XP, Vista, and 7 (32/64-bit)</a> (works with wired models (with and without numpad) as well as wireless models (both 2 and 3-battery))</p><p>This archive contains everything you need to do any one or combination of three possible solutions:<br /> 1.) Easy &#8212; Double-click the APPLE-IMAC-KEYBOARD-REGFIX.reg file and reboot.  This will fix your keys above delete, home, and page up (scroll lock, print screen, and pause/break).<br /> 2.) Medium &#8212; Read the included &#8220;HowTo&#8221; file and do what it says.  This will help you load up the real Apple drivers for your keyboard.<br /> 3.) Customize &#8212; Do #2, then run SharpKeys to change keys to map exactly the way you think they should.</p><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/12/using-the-apple-aluminum-keyboard-with-windows-7/' addthis:title='Using the Apple Aluminum Keyboard with Windows 7 ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/12/using-the-apple-aluminum-keyboard-with-windows-7/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>ls when you cd</title><link>http://seanp2k.com/2011/11/ls-when-you-cd/</link> <comments>http://seanp2k.com/2011/11/ls-when-you-cd/#comments</comments> <pubDate>Wed, 09 Nov 2011 23:06:48 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Bash]]></category> <category><![CDATA[Code]]></category> <category><![CDATA[Computers]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[bash]]></category> <category><![CDATA[bashrc]]></category> <category><![CDATA[cd]]></category> <category><![CDATA[ls]]></category> <category><![CDATA[ls upon cd]]></category> <category><![CDATA[ls when you cd]]></category><guid isPermaLink="false">http://seanp2k.com/?p=413</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/11/ls-when-you-cd/' addthis:title='ls when you cd '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>.bashrc tweak to show a directory listing upon changing directories.<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/11/ls-when-you-cd/' addthis:title='ls when you cd ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/11/ls-when-you-cd/' addthis:title='ls when you cd '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Almost everyone I know types this without thinking anyway, so save your fingers and put this in your .bashrc:</p><pre class="brush: bash; title: ; notranslate">
cdd ()  {
    builtin cd &quot;$*&quot; &amp;&amp; ls -lah
}
alias cd='cdd'
</pre><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/11/ls-when-you-cd/' addthis:title='ls when you cd ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/11/ls-when-you-cd/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Windows XP / Vista / 7 Control Panel Shortcuts</title><link>http://seanp2k.com/2011/10/windows-xp-vista-7-control-panel-shortcuts/</link> <comments>http://seanp2k.com/2011/10/windows-xp-vista-7-control-panel-shortcuts/#comments</comments> <pubDate>Tue, 04 Oct 2011 17:37:22 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Computers]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[control panel filename]]></category> <category><![CDATA[control panel hack]]></category> <category><![CDATA[Control Panel Shortcut]]></category> <category><![CDATA[speed up control panel]]></category> <category><![CDATA[Windows 7]]></category> <category><![CDATA[Windows Vista]]></category> <category><![CDATA[Windows XP]]></category><guid isPermaLink="false">http://seanp2k.com/?p=399</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/10/windows-xp-vista-7-control-panel-shortcuts/' addthis:title='Windows XP / Vista / 7 Control Panel Shortcuts '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Windows XP, Windows Vista, and Windows 7 Control Panel shortcut file names like ncpa.cpl that you can run directly from the Start-> Run prompt for faster control panel access.<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/10/windows-xp-vista-7-control-panel-shortcuts/' addthis:title='Windows XP / Vista / 7 Control Panel Shortcuts ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/10/windows-xp-vista-7-control-panel-shortcuts/' addthis:title='Windows XP / Vista / 7 Control Panel Shortcuts '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>One pain point that I&#8217;ve heard a lot with Vista and 7 is regarding the &#8220;condensed&#8221; control panel.  Ever since XP, I&#8217;ve been using a quick tip that will really speed up your control panel access.  Basically, you&#8217;re just launching the control panel applet directly, but it&#8217;s much faster than trying to hunt down the elusive (and probably most often used) control panel applet: Network Connections.</p><p>If you don&#8217;t already know the &#8220;Windows Key&#8221; + r shortcut to open Start -> Run, well&#8230;you&#8217;re welcome.  Type in &#8216;ncpa.cpl&#8217;, hit enter, and marvel at how much time you just saved.  There are many more:</p><table><tr><th>File name</th><th>Purpose</th></tr><tr><td>Access.cpl</td><td>Accessibility properties</td></tr><tr><td>Appwiz.cpl</td><td>Add/Remove Programs properties</td></tr><tr><td>Desk.cpl</td><td>Display properties</td></tr><tr><td>Hdwwiz.cpl</td><td>Add Hardware properties</td></tr><tr><td>Inetcpl.cpl</td><td>Internet properties</td></tr><tr><td>Intl.cpl</td><td>Regional Settings properties</td></tr><tr><td>Irprops.cpl</td><td>Infrared Port properties</td></tr><tr><td>Joy.cpl</td><td>Joystick properties</td></tr><tr><td>Main.cpl</td><td>Mouse properties</td></tr><tr><td>Mmsys.cpl</td><td>Multimedia properties</td></tr><tr><td>Ncpa.cpl</td><td>Network Connections properties</td></tr><tr><td>Nusrmgr.<br /><tr><td>cpl</td><td>User Accounts properties</td></tr><tr><td>Nwc.cpl</td><td>Gateway Services for NetWare properties</td></tr><tr><td>Odbccp32.cpl</td><td>Open Database Connectivity (ODBC) Data Source Administrator properties</td></tr><tr><td>Powercfg.cpl</td><td>Power Options properties</td></tr><tr><td>Sapi.cpl</td><td>Speech Properties</td></tr><tr><td>Sysdm.cpl</td><td>System properties</td></tr><tr><td>Telephon.cpl</td><td>Phone and Modem Options properties</td></tr><tr><td>Timedate.cpl</td><td>Time and Date properties</td></tr></table><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/10/windows-xp-vista-7-control-panel-shortcuts/' addthis:title='Windows XP / Vista / 7 Control Panel Shortcuts ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/10/windows-xp-vista-7-control-panel-shortcuts/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Today, I Learned&#8230;</title><link>http://seanp2k.com/2011/09/today-i-learned/</link> <comments>http://seanp2k.com/2011/09/today-i-learned/#comments</comments> <pubDate>Wed, 07 Sep 2011 03:56:48 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Code]]></category> <category><![CDATA[Computers]]></category> <category><![CDATA[Ruby]]></category> <category><![CDATA[Technology]]></category><guid isPermaLink="false">http://seanp2k.com/?p=383</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/09/today-i-learned/' addthis:title='Today, I Learned&#8230; '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>TIL stands for "Today, I learned..." and helps you keep track of things you've learned and stores them in a SQLite file.  It\'ll also reward you for making new entries by showing you things you've learned in the past.<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/09/today-i-learned/' addthis:title='Today, I Learned&#8230; ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/09/today-i-learned/' addthis:title='Today, I Learned&#8230; '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>&#8216;TIL&#8217; is commonly used on the internet as shorthand for &#8216;Today, I Learned&#8217;, and it inspired me to make a little tool to keep track of things that I&#8217;ve learned.  I can&#8217;t recall a day in recent memory where I didn&#8217;t learn something, no matter how seemingly insignificant.  I think it would be interesting to keep track of these things over the course of a year or so, then go back and look through all the little bits of information that have been picked up along the way.</p><p>This is really a simple little CLI app, but it faithfully records whatever you have to say, across multiple lines and with (hopefully) whatever funky symbols you choose.  It&#8217;ll also pick 3 of your old random entries and show them to you, to remind you of things you found interesting enough to write about in the past.  Hopefully, it&#8217;ll surprise you some day and bring back some great memories.  If nothing else, it&#8217;s a good way to prove to yourself that you <em>do</em> learn something every day.</p><p>Installation:<br /> <strong>NOTE:</strong> Rubygems is broken right now so it&#8217;s not available as a Rubygem just yet&#8230;hang tight!</p><pre class="brush: bash; title: ; notranslate">
$&gt; gem install clispell
</pre><p>Usage:</p><pre class="brush: bash; title: ; notranslate">
$&gt; til
What did you learn today?  Press ^d (ctrl+d) when done.
You can pass fsck '-O -' to show a progress bar while it's running
=&gt; Saved!
On 2011-09-06 23:18:53 -0400 you learned how to use Jeweler to release stuff again

On 2011-09-06 23:36:29 -0400 you learned You can pass fsck '-O -' to show a progress bar while it's running

On 2011-09-06 23:18:23 -0400 you learned eggs.
</pre><p>Clicky kitty:<br /> <a href="https://github.com/ip2k/todayilearned"><img src="http://seanp2k.com/octocat.png" /></a></p><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/09/today-i-learned/' addthis:title='Today, I Learned&#8230; ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/09/today-i-learned/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Cisco Website Login Guest Account</title><link>http://seanp2k.com/2011/09/cisco-website-login-guest-account/</link> <comments>http://seanp2k.com/2011/09/cisco-website-login-guest-account/#comments</comments> <pubDate>Thu, 01 Sep 2011 05:21:54 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Computers]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[cisco guest]]></category> <category><![CDATA[cisco guest login]]></category> <category><![CDATA[cisco username]]></category> <category><![CDATA[cisco website login]]></category><guid isPermaLink="false">http://seanp2k.com/?p=374</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/09/cisco-website-login-guest-account/' addthis:title='Cisco Website Login Guest Account '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Cisco website login that you can use to get around their compulsory registration to download drivers etc.<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/09/cisco-website-login-guest-account/' addthis:title='Cisco Website Login Guest Account ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/09/cisco-website-login-guest-account/' addthis:title='Cisco Website Login Guest Account '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>Since Cisco has <em>the worst</em> compulsory registration I have <em>ever</em> seen, I&#8217;m posting an account you can use after the break.  Warning: Username and password contain potentially offensive text.<br /> <span id="more-374"></span><br /> <code><br /> Username: fuckmecunt<br /> Password: Fuckyoucisco1<br /> e-mail: lzfysqqp@sharklasers.com<br /> </code></p><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/09/cisco-website-login-guest-account/' addthis:title='Cisco Website Login Guest Account ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/09/cisco-website-login-guest-account/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Customize Firefox Keyboard Shortcuts</title><link>http://seanp2k.com/2011/08/customize-firefox-keyboard-shortcuts/</link> <comments>http://seanp2k.com/2011/08/customize-firefox-keyboard-shortcuts/#comments</comments> <pubDate>Wed, 31 Aug 2011 03:17:27 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Computers]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[custom keybind]]></category> <category><![CDATA[customise keyboard shortcut]]></category> <category><![CDATA[customize firefox]]></category> <category><![CDATA[customize key]]></category> <category><![CDATA[gBrowser]]></category><guid isPermaLink="false">http://seanp2k.com/?p=372</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/08/customize-firefox-keyboard-shortcuts/' addthis:title='Customize Firefox Keyboard Shortcuts '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Customize key bindings in Firefox using the KeyConfig extension and a little XUL magic!<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/08/customize-firefox-keyboard-shortcuts/' addthis:title='Customize Firefox Keyboard Shortcuts ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/08/customize-firefox-keyboard-shortcuts/' addthis:title='Customize Firefox Keyboard Shortcuts '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>I&#8217;m a really big fan of CLI software, but sometimes you just need a GUI app, like a web browser (lynx would be <em>so awesome</em> if someone made a real-time image-to-ASCII-art converter plugin&#8230;I&#8217;ll work on that <em>some day</em>).  I spend a lot of time in my gnome terminal (I use the awesome <a href="http://live.gnome.org/GnomeShell">GNOME Shell</a>) and the only keybinds I really <em>need</em> are:</p><ul><li>Alt+Q &#8211; Previous Tab<li>Alt+W &#8211; Next Tab<li>Alt+Shift+Q &#8211; Move Tab Left<li>Alt+Shift+W &#8211; Move Tab Right</ul><p>Using these, I feel every bit as efficient as when I used to use tiling WMs (I used to really like <a href="http://awesome.naquadah.org/">Awesome</a> and <a href="http://wmii.suckless.org/">wmii</a>).  However, Firefox lacks these shortcuts or the ability to customize them, and my fingers eventually got sick of the keyboard yoga required to tab around in Firefox (Ctrl+Tab / Ctrl+Shift+Tab by default).  I knew there must be a better way, and I was right.  The best part is that I didn&#8217;t even have to re-compile FF, which would have been ridiculous, but I&#8217;ve been known to do worse things in the name of making software work exactly like I need it to (one of the greatest parts of FOSS, IMO).</p><p>To pull off this hack, we&#8217;re going to grab the newest version of the <a href="http://keyconfig.petricek.net/">KeyConfig Firefox extension</a>. <a href="https://addons.mozilla.org/en-US/firefox/addon/key-config/">The version on the official Firefox add-ons site</a> is a bit out of date and doesn&#8217;t work with FF6 properly.  You might need to install <a href="https://addons.mozilla.org/en-US/firefox/addon/nightly-tester-tools/">Nightly Tester Tools</a> and do the &#8220;override add-on compatibility&#8221; dance if you find that Firefox won&#8217;t let you install it.</p><p>Once you have that all set and have restarted Firefox, hit Ctrl+Shift+F12 to open up KeyConfig.  We&#8217;re going to add two keys:</p><ol><li>name: Previous Tab, id: xxx_key1_Previous Tab, shortcut: Alt+Q, code:<pre class="brush: plain; title: ; notranslate">
gBrowser.mTabContainer.advanceSelectedTab(-1, true);
</pre></li><li>name: Previous Tab, id: xxx_key1_Next Tab, shortcut: Alt+W, code:<pre class="brush: plain; title: ; notranslate">
gBrowser.mTabContainer.advanceSelectedTab(1, true);
</pre></li><p>Then just apply and let dry. Try holding Alt and using &#8220;Q&#8221; or &#8220;W&#8221; to cycle through your tabs now!  Amazing!</p><p>If you want to mess with some different keys, you&#8217;ll probably want to dig through the latest browser2xul document and figure out what the actual code you need to pass to Firefox would be. <a href="http://blog-imgs-32-origin.fc2.com/u/f/r/ufreyr/browser2xul.txt">Here is the one that I struck gold with</a>.  YMMV, and happy hacking!</p><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/08/customize-firefox-keyboard-shortcuts/' addthis:title='Customize Firefox Keyboard Shortcuts ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/08/customize-firefox-keyboard-shortcuts/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Speed your web browsing WAY up with Squid3</title><link>http://seanp2k.com/2011/07/speed-your-web-browsing-way-up-with-squid3/</link> <comments>http://seanp2k.com/2011/07/speed-your-web-browsing-way-up-with-squid3/#comments</comments> <pubDate>Thu, 28 Jul 2011 03:41:33 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Computers]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[caching proxy localhost]]></category> <category><![CDATA[local caching proxy]]></category> <category><![CDATA[squid]]></category> <category><![CDATA[squid3]]></category> <category><![CDATA[squid3 caching proxy]]></category> <category><![CDATA[squid3 guide]]></category> <category><![CDATA[squid3 minimal configuration]]></category> <category><![CDATA[squid3 setup]]></category> <category><![CDATA[squid3 tutorial]]></category><guid isPermaLink="false">http://seanp2k.com/?p=347</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/07/speed-your-web-browsing-way-up-with-squid3/' addthis:title='Speed your web browsing WAY up with Squid3 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>A guide on how to set up Squid 3 as a local caching proxy to speed up web browsing on Ubuntu Linux.<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/07/speed-your-web-browsing-way-up-with-squid3/' addthis:title='Speed your web browsing WAY up with Squid3 ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/07/speed-your-web-browsing-way-up-with-squid3/' addthis:title='Speed your web browsing WAY up with Squid3 '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>I haven&#8217;t tried this in a long time, but I used to run Squid3 at home on my pfSense router box (older Pentium 4 &#8212; worked great) and I just had the idea to use it on my laptop to speed up web browsing.  It makes a HUGE difference and now pages look like they&#8217;re using AJAX for requests since the images and headers and stuff just stay put when moving between pages.  RAM cache is monumentally faster than disk cache, and we&#8217;re just totally disabling disk caching / log files with this squid3 config.</p><p>To set this up, you&#8217;ll need to install squid3, set your web browser to use 127.0.0.1 (sometimes the POSIX standard of just &#8217;0&#8242; isn&#8217;t supported because some developers make crappy software that isn&#8217;t really POSIX) port 3128 as a proxy for HTTP (you could cache HTTPS too but IMO it&#8217;s not worth it for just general browsing), paste the stuff below at the bottom of your squid3 config file (/etc/squid3/squid.conf on Ubuntu 11.04 for me) and restart squid3 (/etc/init.d/squid3 restart).</p><p>I left most of the stuff default, but I disabled the log files and set the RAM cache down to 128 MB.  You can adjust as necessary.</p><p><strong>Update:</strong> Put some comments in to help with getting this working in Squid v2.x, disk cache, and making it work on your local network <img src='http://seanp2k.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><pre class="brush: bash; title: ; notranslate">
## root@helios:/etc/squid3# egrep -v '^#' squid.conf |tr -s '\n'

## uncomment next line if using squid 2
#acl all src 0.0.0.0/0.0.0.0

## example of how to let your whole local 192.168.1.0/24 network use the cache
#acl localnet src 192.168.1.0/24
#http_access allow manager localnet
#http_access allow localnet

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl SSL_ports port 443
acl Safe_ports port 80		# http
acl Safe_ports port 21		# ftp
acl Safe_ports port 443		# https
acl Safe_ports port 70		# gopher
acl Safe_ports port 210		# wais
acl Safe_ports port 1025-65535	# unregistered ports
acl Safe_ports port 280		# http-mgmt
acl Safe_ports port 488		# gss-http
acl Safe_ports port 591		# filemaker
acl Safe_ports port 777		# multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
cache_mem 128 MB
maximum_object_size_in_memory 512 KB
memory_replacement_policy heap LFUDA
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
refresh_pattern .		0	20%	4320

## disk cache stuff if you want
#cache_replacement_policy heap LFUDA
#cache_dir aufs /var/spool/squid 4096 16 256
#minimum_object_size 0 KB
#maximum_object_size 4096 KB
#cache_swap_low 90
#cache_swap_high 95

## disable all logging for better performance
access_log none
cache_store_log none
cache_log /dev/null
</pre><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/07/speed-your-web-browsing-way-up-with-squid3/' addthis:title='Speed your web browsing WAY up with Squid3 ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/07/speed-your-web-browsing-way-up-with-squid3/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Fun ASCII text decoration from the 90s</title><link>http://seanp2k.com/2011/06/fun-ascii-text-decoration-from-the-90s/</link> <comments>http://seanp2k.com/2011/06/fun-ascii-text-decoration-from-the-90s/#comments</comments> <pubDate>Fri, 03 Jun 2011 01:44:42 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Computers]]></category> <category><![CDATA[ascii text]]></category> <category><![CDATA[text decoration]]></category> <category><![CDATA[thats it and thats all]]></category> <category><![CDATA[we do it for decoration]]></category><guid isPermaLink="false">http://seanp2k.com/?p=293</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/06/fun-ascii-text-decoration-from-the-90s/' addthis:title='Fun ASCII text decoration from the 90s '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>Examples of ASCII text decoration<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/06/fun-ascii-text-decoration-from-the-90s/' addthis:title='Fun ASCII text decoration from the 90s ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/06/fun-ascii-text-decoration-from-the-90s/' addthis:title='Fun ASCII text decoration from the 90s '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>I couldn&#8217;t resist posting these because they&#8217;re great for drawing attention to stuff on internal wiki pages and documentation.  Shamelessly ripped from <a href="http://www.xatworld.com/nicks/decorarnickxat.html">http://www.xatworld.com/nicks/decorarnickxat.html</a></p><p>╚»★«╝ 	( EMO NICK) 	╚»★«╝<br /> ¨¨¨™¤¦¤™¨¨¨~*§*®§* 	( YOUR XAT NICK HERE ) 	*§®*§*~¨¨¨™¤¦¤™¨¨¨<br /> ©~®§][©] 	( YOUR XAT NICK HERE ) 	[©][§®~©<br /> ®~©~®][§] 	( YOUR XAT NICK HERE ) 	[§][®~©~®<br /> §®*§[•.*.•]™ 	( YOUR XAT NICK HERE ) 	™[•.*.•]§®*§<br /> }{®~©}{*§*}{¤¦¤} 	( YOUR XAT NICK HERE ) 	{*§*}{¤¦¤}{®~©}{<br /> °¨¨¨™¤¦¤™¨¨¨° 	( YOUR XAT NICK HERE ) 	°¨¨¨™¤¦¤™¨¨¨°<br /> O~°&#8217;¨¤¦¤¨&#8217;°~O** 	( YOUR XAT NICK HERE ) 	**O~°&#8217;¨¤¦¤¨&#8217;°~O<br /> ™©~®}- 	( YOUR XAT NICK HERE ) 	-{©~®™<br /> ™`~*.*~`¤-_ 	( YOUR XAT NICK HERE ) 	_-¤`~*.*~`™<br /> ™`•.¸¸.•¤¦¤`••._.• ] 	( YOUR XAT NICK HERE ) 	[ `•.¸¸.•¤¦¤`••._.•`™<br /> °¨¨¨™`•.•`¤¦¤ 	( YOUR XAT NICK HERE ) 	¤¦¤`•.•` ™¨¨¨°<br /> ¨'*•~-.¸¸,.-~* ] 	( YOUR XAT NICK HERE ) 	[ ¨'*•~-.¸¸,.-~*'<br /> o°°o°°o°*~.] 	( YOUR XAT NICK HERE ) 	[.~* °o°°o°°o<br /> (¯`•._.•[ 	( YOUR XAT NICK HERE ) 	]•._.•´¯)<br /> ×÷•.•´¯`•)» 	( YOUR XAT NICK HERE ) 	«(•´¯`•.•÷×<br /> ,.-~*&#8217;¨¯¨&#8217;*•~-.¸-(_ 	( YOUR XAT NICK HERE ) 	_)-,.-~*&#8217;¨¯¨&#8217;*•~-.¸<br /> O?°&#8217;¨ 	( YOUR XAT NICK HERE ) 	¨&#8217;°?O<br /> - &#8211; &#8211;^[ 	( YOUR XAT NICK HERE ) 	]^&#8211; &#8211; -<br /> ••.•´¯`•.•• 	( YOUR XAT NICK HERE ) 	••.•´¯`•.••<br /> `•.¸¸.•´´¯`••._.• 	( YOUR XAT NICK HERE ) 	`•.¸¸.•´´¯`••._.•<br /> (¯`•._) 	( YOUR XAT NICK HERE ) 	(¯`•._)<br /> ¯¨&#8217;*•~-.¸¸,.-~*&#8217; 	( YOUR XAT NICK HERE ) 	¯¨&#8217;*•~-.¸¸,.-~*&#8217;<br /> O?°&#8217;¨ 	( YOUR XAT NICK HERE ) 	¨&#8217;°?O<br /> ×?°&#8221;?`&#8221;°?× 	( YOUR XAT NICK HERE ) 	×?°&#8221;?`&#8221;°?×<br /> ¨°o.O 	( YOUR XAT NICK HERE ) 	O.o°<br /> (¯`·._.·[ 	( YOUR XAT NICK HERE ) 	]·._.·´¯)<br /> ¨°o.O 	( YOUR XAT NICK HERE ) 	O.o°<br /> ×÷·.·´¯`·)» 	( YOUR XAT NICK HERE ) 	«(·´¯`·.·÷×<br /> · ··^v´¯`×) 	( YOUR XAT NICK HERE ) 	(×´¯`v^·· ·<br /> ,.-~*&#8217;¨¯¨&#8217;*·~-.¸-(_ 	( YOUR XAT NICK HERE ) 	_)-,.-~*&#8217;¨¯¨&#8217;*·~-.¸<br /> - &#8211; &#8211;^[ 	( YOUR XAT NICK HERE ) 	] ^&#8211; &#8211; -<br /> •·.·´¯`·.·• 	( YOUR XAT NICK HERE ) 	•·.·´¯`·.·•<br /> `·.¸¸.·´´¯`··._.· 	( YOUR XAT NICK HERE ) 	`·.¸¸.·´´¯`··._.·<br /> (¯`·._) 	( YOUR XAT NICK HERE ) 	(¯`·._)<br /> ¯¨&#8217;*·~-.¸¸,.-~*&#8217; 	( YOUR XAT NICK HERE ) 	¯¨&#8217;*·~-.¸¸,.-~*&#8217;<br /> Oº°‘¨ 	( YOUR XAT NICK HERE ) 	¨‘°ºO<br /> ×º°”˜`”°º× 	( YOUR XAT NICK HERE ) 	×º°”˜`”°º×<br /> .·´¯`·-> 	( YOUR XAT NICK HERE ) <-·´¯`·.<br /> <((((º><.·´¯`·. 	( YOUR XAT NICK HERE ) 	¸.·´¯`·.¸><((((º><br /> - -¤&#8211;^] 	( YOUR XAT NICK HERE ) 	[^--¤- -<br /> ~²ºº²~ 	( YOUR XAT NICK HERE ) 	~²ºº³~<br /> ._|.<(+_+)>.|_. 	( YOUR XAT NICK HERE ) 	._|.<(+_+)>.|_.<br /> ..|..<(+_ 	( YOUR XAT NICK HERE ) 	_+>..|..<br /> -·=»‡«=·- 	( YOUR XAT NICK HERE ) 	-·=»‡«=·-<br /> •°o.O 	( YOUR XAT NICK HERE ) 	O.o°•<br /> ––––•(-• 	( YOUR XAT NICK HERE ) 	•-)•––––<br /> (¯`•¸·´¯) 	( YOUR XAT NICK HERE ) 	(¯`·¸•´¯)<br /> ··¤(`×[¤ 	( YOUR XAT NICK HERE ) 	¤]×´)¤··<br /> —(•·÷[ 	( YOUR XAT NICK HERE ) 	]÷·•)—<br /> ·ï¡÷¡ï· 	( YOUR XAT NICK HERE ) 	·ï¡÷¡ï·<br /> ·!¦[· 	( YOUR XAT NICK HERE ) 	·]¦!·<br /> °º¤ø,¸¸,ø¤º°`°º¤ø,¸ 	( YOUR XAT NICK HERE ) 	°º¤ø,¸¸,ø¤º°`°º¤ø,¸<br /> »-(¯`v´¯)-» 	( YOUR XAT NICK HERE ) 	»-(¯`v´¯)-»<br /> °l||l° 	( YOUR XAT NICK HERE ) 	°l||l°<br /> •°¤*(¯`°(F)( 	( YOUR XAT NICK HERE ) 	)(F)°´¯)*¤°•<br /> —¤÷(`[¤* 	( YOUR XAT NICK HERE ) 	*¤]´)÷¤—<br /> ¸.´)(`·[ 	( YOUR XAT NICK HERE ) 	]·´)(` .¸<br /> ·÷±‡± 	( YOUR XAT NICK HERE ) 	±‡±÷<br /> +*¨^¨*+ 	( YOUR XAT NICK HERE ) 	+*¨^¨*+</p><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/06/fun-ascii-text-decoration-from-the-90s/' addthis:title='Fun ASCII text decoration from the 90s ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/06/fun-ascii-text-decoration-from-the-90s/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>How to use .Xmodmap to swap keys in [Ubuntu] Linux</title><link>http://seanp2k.com/2011/05/using-xmodmap-to-swap-keys-in-linux/</link> <comments>http://seanp2k.com/2011/05/using-xmodmap-to-swap-keys-in-linux/#comments</comments> <pubDate>Fri, 13 May 2011 04:02:45 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Computers]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Alt_L]]></category> <category><![CDATA[imac keyboard]]></category> <category><![CDATA[mac keyboard]]></category> <category><![CDATA[Super_L]]></category> <category><![CDATA[swap command and option]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[xev]]></category> <category><![CDATA[xmodmap]]></category> <category><![CDATA[xorg]]></category> <category><![CDATA[xserver]]></category><guid isPermaLink="false">http://seanp2k.com/?p=259</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/05/using-xmodmap-to-swap-keys-in-linux/' addthis:title='How to use .Xmodmap to swap keys in [Ubuntu] Linux '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>I recently reinstalled Ubuntu 11.04 on my laptop since my old install had been upgraded all the way from 8.04 and stuff was just too broken. It was also a good opportunity to just mass-erase all the junk on my laptop that I forgot about / didn&#8217;t need anymore. I used Clonezilla to image it [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/05/using-xmodmap-to-swap-keys-in-linux/' addthis:title='How to use .Xmodmap to swap keys in [Ubuntu] Linux ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/05/using-xmodmap-to-swap-keys-in-linux/' addthis:title='How to use .Xmodmap to swap keys in [Ubuntu] Linux '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>I recently reinstalled Ubuntu 11.04 on my laptop since my old install had been upgraded all the way from 8.04 and stuff was just too broken.  It was also a good opportunity to just mass-erase all the junk on my laptop that I forgot about / didn&#8217;t need anymore.  I used Clonezilla to image it to an external HDD and rsync&#8217;d over my home directory so I could keep all the useful stuff and have a back-out plan should things blow up in my face.</p><p>By far, the most annoying problem to solve was trying to get the alt key back to &#8220;where it should be&#8221;.  The great Apple wired keyboard is great, except for the strange key layout.  It has no printscreen on insert keys (which I covered with registry hacks in a blog post long ago) and it has Command where Alt should be.  In Ubuntu, Command becomes the Windows key becomes the Ubuntu key, and just pops open the equivalent of the start menu.</p><p>Since I use alt+tab to switch windows exclusively (I even disable the task bar because I never look at it), this is highly annoying.  I also use Alt + q and Alt + w in Gnome-Terminal to switch between tabs; something I do hundreds of times in a day.</p><p>I finally figured it out, and instructions around the internet weren&#8217;t that much help.  Here is what my .Xmodmap looks like:</p><pre class="brush: plain; title: ; notranslate">
remove mod4 = Super_L
keycode 133 = Alt_L
remove mod1 = Alt_L
keycode 64 = Super_L
</pre><p>That does the following, in order (which matters):</p><ol><li>Removes Super_L (which is our Command / Windows key) from the list of keys that activate the mod4 function (xmodmap -pm will show you a list if you&#8217;re curious)</li><li>Sets the Command key (keycode 133&#8230;the right one is keycode 134) to the Alt_L function</li><li>Removes Alt_L from the list of keys that activate the mod1 function</li><li>Adds the left Alt key (Option) to the list of keys that activate the Super_L function</li></ol><p>It still doesn&#8217;t REALLY make sense, since I would think that you could just unbind keycode 133 from everything first, then do the same for left alt, then re-bind them accordingly&#8230;but once again, X shows how silly it insists on being here.</p><p>Have fun!</p><ol></ol><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/05/using-xmodmap-to-swap-keys-in-linux/' addthis:title='How to use .Xmodmap to swap keys in [Ubuntu] Linux ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/05/using-xmodmap-to-swap-keys-in-linux/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Mad Science &#8211; A Python benchmarking framework</title><link>http://seanp2k.com/2011/04/python-benchmarking-testing-framework/</link> <comments>http://seanp2k.com/2011/04/python-benchmarking-testing-framework/#comments</comments> <pubDate>Sat, 09 Apr 2011 08:08:02 +0000</pubDate> <dc:creator>sean</dc:creator> <category><![CDATA[Code]]></category> <category><![CDATA[Computers]]></category> <category><![CDATA[benchmarking]]></category> <category><![CDATA[framework]]></category> <category><![CDATA[Mad Science]]></category> <category><![CDATA[mad science python]]></category> <category><![CDATA[performance testing]]></category> <category><![CDATA[python]]></category> <category><![CDATA[siege]]></category> <category><![CDATA[test automation]]></category> <category><![CDATA[testing]]></category><guid isPermaLink="false">http://seanp2k.com/?p=238</guid> <description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/04/python-benchmarking-testing-framework/' addthis:title='Mad Science &#8211; A Python benchmarking framework '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>I&#8217;m working on a benchmarking framework at work for a performance enhancement testing project and I&#8217;ve decided to call it Mad Science. I decided to do my first real project in Python at the same time, and it looks like it&#8217;ll be a great tool! Still having a bit of trouble because I&#8217;m used to [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/04/python-benchmarking-testing-framework/' addthis:title='Mad Science &#8211; A Python benchmarking framework ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description> <content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://seanp2k.com/2011/04/python-benchmarking-testing-framework/' addthis:title='Mad Science &#8211; A Python benchmarking framework '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><p>I&#8217;m working on a benchmarking framework at work for a performance enhancement testing project and I&#8217;ve decided to call it Mad Science.  I decided to do my first real project in Python at the same time, and it looks like it&#8217;ll be a great tool!  Still having a bit of trouble because I&#8217;m used to things like variable substitution, but &#8216;pexpect&#8217; seems to be the perfect thing to base the testing around.  Basically, the framework will do these things:</p><p>- Log in to a remote server via SSH<br /> - Make atomic changes to config files and / or software<br /> - Run local benchmarking tools against the remote host<br /> - Log all of the above in addition to the benchmark results</p><p>As far as I know, there isn&#8217;t anything that is tailor-made to this task out there right now.  I&#8217;m hoping that my testing framework will be useful to other people looking to do the same thing in their environment when it gets closer to a release</p><p>Clicky kitty to check it out!<br /> <a href="https://github.com/ip2k/Mad-Science"><br /> <img src="http://seanp2k.com/octocat.png" alt="" /></a><br /> </a></p><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://seanp2k.com/2011/04/python-benchmarking-testing-framework/' addthis:title='Mad Science &#8211; A Python benchmarking framework ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded> <wfw:commentRss>http://seanp2k.com/2011/04/python-benchmarking-testing-framework/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching 1/59 queries in 0.022 seconds using memcached
Object Caching 1073/1239 objects using memcached

Served from: seanp2k.com @ 2012-02-06 18:14:02 -->
