<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-9259427</atom:id><lastBuildDate>Sat, 24 Jul 2010 07:56:01 +0000</lastBuildDate><title>My Error-Filled Comedy</title><description>Life as a Series of Wild Mishaps and Wrongful Beatings</description><link>http://jeff.summershome.com/</link><managingEditor>noreply@blogger.com (jeff)</managingEditor><generator>Blogger</generator><openSearch:totalResults>370</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-2283774730445719503</guid><pubDate>Sun, 09 May 2010 05:23:00 +0000</pubDate><atom:updated>2010-05-09T19:47:38.350-06:00</atom:updated><title>Tutorial: How to Change the Charging Battery Icon on a Jailbreak iPhone with Winterboard</title><description>Here's how to make a custom icon to replace the big green battery that displays on the lock screen when your iPhone is charging.  This tutorial assumes that you have Jailbreaked your phone and have installed &lt;a href="http://lanverse.com/iphone/ssh-into-iphone/" style="font-family: Courier New;"&gt;OpenSSH&lt;/a&gt; and WinterBoard on your phone (via the Cydia app) and have an SSH client installed on your PC/Mac (such as &lt;a href="http://winscp.net/eng/index.php"&gt;WinSPC&lt;/a&gt; for Windows or &lt;a href="http://macapper.com/2007/03/08/the-terminal-an-introduction/"&gt;Terminal&lt;/a&gt; for Mac/Linux).&lt;br /&gt;&lt;br /&gt;&lt;h4 style="margin: 0px;"&gt;Step 1 - Create the Theme Directory&lt;/h4&gt;&lt;br /&gt;&lt;ol style="margin-top: 0px;"&gt;&lt;br /&gt;&lt;li&gt;Open an SSH connection from your PC to your iPhone and navigate to the root directory&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Navigate to &lt;span style="font-family:Courier New;"&gt;Library/Themes&lt;/span&gt;.  Note that the &lt;span style="font-family:Courier New;"&gt;Themes&lt;/span&gt; folder is actually a shortcut, and will take you to the following physical directory: &lt;span style="font-family:Courier New;"&gt;/private/var/stash/Themes.XXXXXX&lt;/span&gt; (&lt;span style="font-family:Courier New;"&gt;XXXXXX&lt;/span&gt; is a series of letters and numbers that differs on each phone).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Within the &lt;span style="font-family:Courier New;"&gt;/private/var/stash/Themes.XXXXXX&lt;/span&gt; folder, create a new folder and name it whatever you want your theme name to be, ending with &lt;span style="font-family:Courier New;"&gt;.theme&lt;/span&gt;, for example &lt;span style="font-family:Courier New;"&gt;My Custom Battery.theme&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click into the folder you just created and create a folder named &lt;span style="font-family:Courier New;"&gt;Bundles&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Click into the Bundles folder and create a folder named &lt;span style="font-family:Courier New;"&gt;com.apple.springboard&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;h4 style="margin: 0px;"&gt;Step 2 - Create Images&lt;/h4&gt;&lt;br /&gt;The charging battery icon is actually a series of 17 .png files.  As the phone charges, the phone displays the proper image.&lt;br /&gt;&lt;ol style="margin-top: 0px;"&gt;&lt;br /&gt;&lt;li&gt;Find or create a series of 17 images.  If they are not already in .png format, save them as such using your favorite image editor such as Photoshop, GIMP (free), or Aviary (free).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The image size of the files should be 264 pixels wide by 129 pixels high.  This will ensure that the icon is properly centered and sized on the screen.&lt;/li&gt;&lt;br /&gt;&lt;li&gt; The files must be named in series, from &lt;span style="font-family:Courier New;"&gt;BatteryBG_1.png&lt;/span&gt; to &lt;span style="font-family:Courier New;"&gt;BatteryBG_17.png&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;If you do not want a reflection of your icon to show up underneath it on the lock screen, create a fully-black .png file that is 1 pixel wide by 129 pixels high and name it &lt;span style="font-family:Courier New;"&gt;BatteryReflectionMask.png&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;h4 style="margin: 0px;"&gt;Step 3 - Move File and Use Your Theme&lt;/h4&gt;&lt;br /&gt;&lt;ol style="margin-top: 0px;"&gt;&lt;li&gt;Using your SSH client, copy all of the .png files into the&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;/private/var/stash/Themes.XXXXXX/&gt;My Custom Battery.theme/Bundles/com.apple.springboard&lt;/span&gt; directory you created in step 1.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open the WinterBoard app on your iPhone, and go to the &lt;span style="font-family:Courier New;"&gt;Select Themes&lt;/span&gt; section.  You should see your new theme at the top of the list.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Select the theme and close WinterBoard.  This will cause your phone to respring.  After it does, your new theme is in use.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Plug your charging cable into your phone and you'll see your new battery indicator.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Enjoy&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-2283774730445719503?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2010/05/tutorial-how-to-change-charging-battery.html</link><author>noreply@blogger.com (jeff)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-1650426949913287671</guid><pubDate>Fri, 09 Apr 2010 15:33:00 +0000</pubDate><atom:updated>2010-05-08T22:59:38.710-06:00</atom:updated><title>Client-Side Validation: How to Validate Controls in Each Pane of an AjaxControlToolkit Accordion</title><description>I'm using the AjaxControlToolKit Accordion, and I needed to validate the controls in each pane before allowing one to navigate to the other panes.  I wanted everything to be client-side, because I don't want any post-backs until the whole form is validated.  Since I didn't have any luck finding any good examples, here's one I put together.  It uses the RequiredFieldValidator control as well as the ValidatorCalloutExtender.  If you don't like the fly-out validation, just remove the ValidatorCalloutExtender controls as well as the &lt;span style="font-family:Courier New; font-size:.9em;"&gt;Display="Hidden"&lt;/span&gt; attribute in the RequiredFieldValidators.&lt;br /&gt;&lt;br /&gt;Sorry about the funky formatting.  A copy/paste into a new aspx file should work with no modifications. I also have a downloadable &lt;a href="http://www.summershome.com/code/AccordionValidation.zip"&gt;self-contained aspx file&lt;/a&gt;.  Enjoy.&lt;br /&gt;&lt;div style="font-size: 0.9em;background-color:#edf9de; line-height: 100%; font-family: Courier New;"&gt;&lt;br /&gt;&amp;lt;%@ Page Language="C#" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&amp;lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;&amp;lt;head id="Head1" runat="server"&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;Accordion&amp;lt;/title&amp;gt;&lt;br /&gt;  &amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;          .accordionHeader&lt;br /&gt;           {&lt;br /&gt;       border: 1px solid #2F4F4F;&lt;br /&gt;                   color: white;&lt;br /&gt;                   background-color: #2E4d7B;&lt;br /&gt;                   font-family: Arial, Sans-Serif;&lt;br /&gt;                   font-size: 12px;&lt;br /&gt;                   font-weight: bold;&lt;br /&gt;                   padding: 5px;&lt;br /&gt;                   margin-top: 5px;&lt;br /&gt;                   cursor: pointer;&lt;br /&gt;           }&lt;br /&gt;    &lt;br /&gt;          .accordionHeader button&lt;br /&gt;           {&lt;br /&gt;                   cursor: pointer;&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;          .accordionContent&lt;br /&gt;           {&lt;br /&gt;                   background-color: #D3DEEF;&lt;br /&gt;                   border: 1px dashed #2F4F4F;&lt;br /&gt;                   border-top: none;&lt;br /&gt;                   padding: 5px;&lt;br /&gt;                   padding-top: 10px;&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           .accordionLink&lt;br /&gt;           {&lt;br /&gt;                   background-color: #D3DEEF;&lt;br /&gt;                   color: #ffffff:&lt;br /&gt;           }&lt;br /&gt;    &lt;br /&gt;           .invalidField&lt;br /&gt;           {&lt;br /&gt;                background-color:#fffacd; /* same color as the background of the validation popup */&lt;br /&gt;           }&lt;br /&gt;        &amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;  &amp;lt;script type="text/javascript" language="javascript"&amp;gt;&lt;br /&gt;      var acc;&lt;br /&gt;      var header;&lt;br /&gt;&lt;br /&gt;      function pageLoad() {&lt;br /&gt;          // get a reference to the accordion&lt;br /&gt;          acc = $find("MyAccordion_AccordionExtender");&lt;br /&gt;&lt;br /&gt;          /* for each of the panes, remove its click handler, and add our own;&lt;br /&gt;          using different methods for each pane would be unnecessary in our example&lt;br /&gt;          if we could include parameters in the method name, for example:&lt;br /&gt;              $addHandler(header, "click", navigateToPane(0));&lt;br /&gt;            &lt;br /&gt;          we can't do that, so we set up a method name for each one; */&lt;br /&gt;          var index = 0;&lt;br /&gt;          header = acc.get_Pane(index).header;&lt;br /&gt;          $removeHandler(header, "click", acc._headerClickHandler);&lt;br /&gt;          $addHandler(header, "click", navigateToNamePane);&lt;br /&gt;&lt;br /&gt;          index = 1;&lt;br /&gt;          header = acc.get_Pane(index).header;&lt;br /&gt;          $removeHandler(header, "click", acc._headerClickHandler);&lt;br /&gt;          $addHandler(header, "click", navigateToContactPane);&lt;br /&gt;&lt;br /&gt;          index = 2;&lt;br /&gt;          header = acc.get_Pane(index).header;&lt;br /&gt;          $removeHandler(header, "click", acc._headerClickHandler);&lt;br /&gt;          $addHandler(header, "click", navigateToDemographicsPane);&lt;br /&gt;      }&lt;br /&gt;    &lt;br /&gt;      // this function has to be here or there will be an error when leaving the page&lt;br /&gt;      function pageUnload() {&lt;br /&gt;          $addHandler(header, "click", acc._headerClickHandler);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      function navigateToPane(paneIndex) {&lt;br /&gt;          // get a reference to the accordion&lt;br /&gt;          var pane = $find('MyAccordion_AccordionExtender');&lt;br /&gt;        &lt;br /&gt;          // validate the controls in the current pane, using the ValidationGroup&lt;br /&gt;          // of the pane, e.g. "grp0" or "grp1", etc; if it's valid, navigate to&lt;br /&gt;          // the pane that corresponds to the index passed in&lt;br /&gt;          if (Page_ClientValidate('grp' + pane.get_SelectedIndex()))&lt;br /&gt;              pane.set_SelectedIndex(paneIndex);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      function navigateToNamePane() {&lt;br /&gt;          navigateToPane(0);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      function navigateToContactPane() {&lt;br /&gt;          navigateToPane(1);&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      function navigateToDemographicsPane() {&lt;br /&gt;          navigateToPane(2);&lt;br /&gt;      }&lt;br /&gt;  &amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;form id="form1" runat="server"&amp;gt;&lt;br /&gt;      &amp;lt;ajaxToolkit:ToolkitScriptManager runat="server" ID="ScriptManager1" /&amp;gt;&lt;br /&gt;    &lt;br /&gt;      &amp;lt;ajaxToolkit:Accordion ID="MyAccordion" runat="server" HeaderCssClass="accordionHeader"&lt;br /&gt;          ContentCssClass="accordionContent" FramesPerSecond="40" TransitionDuration="250"&lt;br /&gt;          AutoSize="None" SelectedIndex="0" RequireOpenedPane="false" SuppressHeaderPostbacks="false"&amp;gt;&lt;br /&gt;          &amp;lt;Panes&amp;gt;&lt;br /&gt;              &amp;lt;ajaxToolkit:AccordionPane ID="AccordionPane0" runat="server"&amp;gt;&lt;br /&gt;                  &amp;lt;Header&amp;gt;Name&amp;lt;/Header&amp;gt;&lt;br /&gt;                  &amp;lt;Content&amp;gt;&lt;br /&gt;                      Last Name: &amp;lt;asp:TextBox ID="txtLastName" runat="server" /&amp;gt;&lt;br /&gt;                      &amp;lt;asp:RequiredFieldValidator ID="reqLastname" runat="server" ValidationGroup="grp0" ControlToValidate="txtLastName" Text="" ErrorMessage="Last Name is required" Display="None" /&amp;gt;&lt;br /&gt;                      &amp;lt;ajaxToolkit:ValidatorCalloutExtender runat="Server" id="vceLastName" TargetControlID="reqLastName" HighlightCssClass="invalidField" /&amp;gt;&lt;br /&gt;                      &amp;lt;br /&amp;gt;&lt;br /&gt;                      First Name: &amp;lt;asp:TextBox ID="txtFirstName" runat="server" /&amp;gt;&lt;br /&gt;                      &amp;lt;asp:RequiredFieldValidator ID="reqFirstName" runat="server" ValidationGroup="grp0" ControlToValidate="txtFirstName" Text="" ErrorMessage="First Name is required" Display="None" /&amp;gt;&lt;br /&gt;                      &amp;lt;ajaxToolkit:ValidatorCalloutExtender runat="Server" id="vceFirstName" TargetControlID="reqFirstName" HighlightCssClass="invalidField" /&amp;gt; &lt;br /&gt;                      &amp;lt;br /&amp;gt;&lt;br /&gt;                    &lt;br /&gt;                      &amp;lt;!-- the "Continue" button isn't necessary; it's just an added item to make navigation a bit more intuitive --&amp;gt;&lt;br /&gt;                      &amp;lt;button onclick="navigateToPane(1);" style="float:right;" title="Continue to Contact Info"&amp;gt;Continue&amp;lt;/button&amp;gt;&lt;br /&gt;                  &amp;lt;/Content&amp;gt;&lt;br /&gt;              &amp;lt;/ajaxToolkit:AccordionPane&amp;gt;&lt;br /&gt;              &amp;lt;ajaxToolkit:AccordionPane ID="AccordionPane2" runat="server"&amp;gt;&lt;br /&gt;                  &amp;lt;Header&amp;gt;Contact Info&amp;lt;/Header&amp;gt;&lt;br /&gt;                  &amp;lt;Content&amp;gt;&lt;br /&gt;                      Phone: &amp;lt;asp:TextBox ID="txtPhone" runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;                      &amp;lt;asp:RequiredFieldValidator ID="reqPhone" runat="server" ValidationGroup="grp1" ControlToValidate="txtPhone" Text="" ErrorMessage="Phone is required" Display="None" /&amp;gt;&lt;br /&gt;                      &amp;lt;ajaxToolkit:ValidatorCalloutExtender runat="Server" id="vcePhone" TargetControlID="reqPhone" HighlightCssClass="invalidField" /&amp;gt; &lt;br /&gt;                      &amp;lt;br /&amp;gt;&lt;br /&gt;                      Email: &amp;lt;asp:TextBox ID="txtEmail" runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;                      &amp;lt;asp:RequiredFieldValidator ID="reqEmail" runat="server" ValidationGroup="grp1" ControlToValidate="txtEmail" Text="" ErrorMessage="Eamil is required" Display="None" /&amp;gt;&lt;br /&gt;                      &amp;lt;ajaxToolkit:ValidatorCalloutExtender runat="Server" id="vceEmail" TargetControlID="reqEmail" HighlightCssClass="invalidField" /&amp;gt; &lt;br /&gt;                      &amp;lt;br /&amp;gt;&lt;br /&gt;                    &lt;br /&gt;                      &amp;lt;!-- the "Continue" button isn't necessary; it's just an added item to make navigation a bit more intuitive --&amp;gt;&lt;br /&gt;                      &amp;lt;button onclick="navigateToPane(2);" style="float:right;" title="Continue to Demographics"&amp;gt;Continue&amp;lt;/button&amp;gt;&lt;br /&gt;                  &amp;lt;/Content&amp;gt;&lt;br /&gt;              &amp;lt;/ajaxToolkit:AccordionPane&amp;gt;&lt;br /&gt;              &amp;lt;ajaxToolkit:AccordionPane ID="AccordionPane3" runat="server"&amp;gt;&lt;br /&gt;                  &amp;lt;Header&amp;gt;Demographics&amp;lt;/Header&amp;gt;&lt;br /&gt;                  &amp;lt;Content&amp;gt;&lt;br /&gt;                      Age: &amp;lt;asp:TextBox ID="txtAge" runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;                      &amp;lt;asp:RequiredFieldValidator ID="reqAge" runat="server" ValidationGroup="grp2" ControlToValidate="txtAge" Text="" ErrorMessage="Age is required" Display="None" /&amp;gt;&lt;br /&gt;                      &amp;lt;ajaxToolkit:ValidatorCalloutExtender runat="Server" id="vce" TargetControlID="reqAge" HighlightCssClass="invalidField" /&amp;gt; &lt;br /&gt;                      &amp;lt;br /&amp;gt;&lt;br /&gt;                      Salary: &amp;lt;asp:TextBox ID="txtSalary" runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;                      &amp;lt;asp:RequiredFieldValidator ID="reqSalary" runat="server" ValidationGroup="grp2" ControlToValidate="txtSalary" Text="" ErrorMessage="Salary is required" Display="None" /&amp;gt;&lt;br /&gt;                      &amp;lt;ajaxToolkit:ValidatorCalloutExtender runat="Server" id="vceSalary" TargetControlID="reqSalary" HighlightCssClass="invalidField" /&amp;gt; &lt;br /&gt;                  &amp;lt;/Content&amp;gt;&lt;br /&gt;              &amp;lt;/ajaxToolkit:AccordionPane&amp;gt;&lt;br /&gt;          &amp;lt;/Panes&amp;gt;&lt;br /&gt;      &amp;lt;/ajaxToolkit:Accordion&amp;gt;&lt;br /&gt;      &amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-1650426949913287671?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2010/04/client-side-validation-how-to-validate.html</link><author>noreply@blogger.com (jeff)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-2434938554207170077</guid><pubDate>Thu, 21 Jan 2010 20:11:00 +0000</pubDate><atom:updated>2010-01-21T13:15:13.558-07:00</atom:updated><title>Christian Hero Quote of the Day</title><description>Burn down their synagogues, forbid all that I enumerated earlier, force them to work, and deal harshly with them, as Moses did... If this does not help we must drive them out like mad dogs.&lt;span style="font-size: 85%; font-style: italic;"&gt; - Martin Luther, in his book &lt;u&gt;On the Jews and Their Lies&lt;/u&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-2434938554207170077?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2010/01/christian-hero-quote-of-day.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-1209224531373491220</guid><pubDate>Tue, 12 Jan 2010 20:01:00 +0000</pubDate><atom:updated>2010-01-12T13:02:00.108-07:00</atom:updated><title>Random Thought of the Day</title><description>Don't fret precious, I'm here.  Step away from the window and go back to sleep.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-1209224531373491220?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2010/01/random-thought-of-day_12.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-7481388947931247051</guid><pubDate>Mon, 11 Jan 2010 19:15:00 +0000</pubDate><atom:updated>2010-01-11T12:16:39.970-07:00</atom:updated><title>Random Thought of the Day</title><description>I work like I drink. Alone. Or with a monkey watching.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-7481388947931247051?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2010/01/random-thought-of-day.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-9194177191599759288</guid><pubDate>Fri, 08 Jan 2010 16:40:00 +0000</pubDate><atom:updated>2010-01-08T09:41:55.350-07:00</atom:updated><title>The Rabbit Boiler Strikes Again</title><description>Nothing more need be said.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-9194177191599759288?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2010/01/rabbit-boiler-strikes-again.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-2063275882459208501</guid><pubDate>Sat, 12 Dec 2009 21:26:00 +0000</pubDate><atom:updated>2009-12-12T14:28:40.666-07:00</atom:updated><title>No, I Actually Don't Have Anything Better to Do</title><description>Started a new effort today: The Randwagon.  Check it out at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://randwagon.blogspot.com/"&gt;http://randwagon.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.twitter.com/randwagon"&gt;http://www.twitter.com/randwagon&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.facebook.com/pages/Randwagon/224714021078"&gt;http://www.facebook.com/pages/Randwagon/224714021078&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-2063275882459208501?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/12/no-i-actually-dont-have-anything-better.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-5599832347961121708</guid><pubDate>Thu, 03 Dec 2009 17:17:00 +0000</pubDate><atom:updated>2009-12-03T10:30:00.659-07:00</atom:updated><title>Thought I Forgot About You?  Not a Chance.</title><description>Tor and similar onion routers.  Untrackable?  That's what you were told, right?  Better get some more savvy tech advice next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-5599832347961121708?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/12/foolproof-not-so-much.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-7515097896631497354</guid><pubDate>Sun, 08 Nov 2009 17:11:00 +0000</pubDate><atom:updated>2009-11-08T10:27:15.260-07:00</atom:updated><title>The Hunter Becomes the Hunted</title><description>So exactly how much does it cost to hire a Ukrainian hacker to bust into someone's GMail account?  Apparently not very much.  If you ever feel the need to hire one, make sure you spend enough money to get one who knows how (and has the gumption) to cover his tracks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-7515097896631497354?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/11/solving-puzzles-one-piece-at-time.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-879660230158811976</guid><pubDate>Mon, 02 Nov 2009 17:52:00 +0000</pubDate><atom:updated>2009-11-02T10:52:33.469-07:00</atom:updated><title>Random Thought of the Day</title><description>You gotta stop dancing with your head.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-879660230158811976?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/11/random-thought-of-day.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-6753732154203563433</guid><pubDate>Sat, 31 Oct 2009 02:39:00 +0000</pubDate><atom:updated>2009-10-30T20:44:04.426-06:00</atom:updated><title>That's Why They're Called Morons</title><description>You would think people would learn, after being tracked down for hacking once, to leave well enough alone.  As though they won't get caught this time.  But then, nobody ever accused them of being geniuses.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-6753732154203563433?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/10/thats-why-theyre-called-morons.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-6668420031534630250</guid><pubDate>Fri, 18 Sep 2009 16:38:00 +0000</pubDate><atom:updated>2009-09-18T10:38:10.094-06:00</atom:updated><title>Random Thought of the Day</title><description>Always be closing if you want the knife set.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-6668420031534630250?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_18.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-1852992061355026242</guid><pubDate>Thu, 17 Sep 2009 14:37:00 +0000</pubDate><atom:updated>2009-09-17T08:38:03.338-06:00</atom:updated><title>Random Thought of the Day</title><description>Wrongheadedness knows no color, which is why my shortie robes only come in topaz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-1852992061355026242?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_17.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-6090342814958147650</guid><pubDate>Wed, 16 Sep 2009 15:00:00 +0000</pubDate><atom:updated>2009-09-16T09:00:31.678-06:00</atom:updated><title>Random Thought of the Day</title><description>I don't need an adviser to know that Bud don't make me wiser.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-6090342814958147650?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_16.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-9141572450628362392</guid><pubDate>Tue, 15 Sep 2009 14:18:00 +0000</pubDate><atom:updated>2009-09-15T08:18:24.847-06:00</atom:updated><title>Random Thought of the Day</title><description>I'm much too young to feel this damn old.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-9141572450628362392?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_15.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-3211703751456865195</guid><pubDate>Mon, 14 Sep 2009 14:52:00 +0000</pubDate><atom:updated>2009-10-10T23:00:34.346-06:00</atom:updated><title>Random Thought of the Day</title><description>The fundamental defect of most religious ethics consists of the fact that they label certain classes of acts 'sins' and others 'virtue' on grounds that have nothing to do with their social consequences.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-3211703751456865195?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_14.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-7422421622739128720</guid><pubDate>Thu, 10 Sep 2009 14:45:00 +0000</pubDate><atom:updated>2009-09-10T08:45:41.325-06:00</atom:updated><title>Random Thougth of the Day</title><description>What is twisting your giblets?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-7422421622739128720?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thougth-of-day.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-6281590397243530435</guid><pubDate>Wed, 09 Sep 2009 16:05:00 +0000</pubDate><atom:updated>2009-09-09T10:05:36.369-06:00</atom:updated><title>Random Thought of the Day</title><description>For error is manifold, truth but one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-6281590397243530435?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_2466.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-7387456890297887488</guid><pubDate>Wed, 09 Sep 2009 16:04:00 +0000</pubDate><atom:updated>2009-09-09T10:05:18.946-06:00</atom:updated><title>Random Thought of the Day</title><description>Some people are more than happy to look at the world through a stir stick.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-7387456890297887488?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_09.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-9139248204011044870</guid><pubDate>Fri, 04 Sep 2009 14:14:00 +0000</pubDate><atom:updated>2009-09-04T08:14:44.624-06:00</atom:updated><title>Random Thought of the Day</title><description>Fall in love with reality.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-9139248204011044870?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_04.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-5944781632879456370</guid><pubDate>Thu, 03 Sep 2009 14:08:00 +0000</pubDate><atom:updated>2009-09-03T08:08:54.945-06:00</atom:updated><title>Random Thought of the Day</title><description>Why does everything I whip leave me?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-5944781632879456370?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_8397.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-6385041736198036710</guid><pubDate>Thu, 03 Sep 2009 14:08:00 +0000</pubDate><atom:updated>2009-09-03T08:08:27.964-06:00</atom:updated><title>Random Thought of the Day</title><description>Smile like you mean it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-6385041736198036710?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day_03.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-7889238666572808341</guid><pubDate>Tue, 01 Sep 2009 14:30:00 +0000</pubDate><atom:updated>2009-09-01T08:30:44.965-06:00</atom:updated><title>Random Thought of the Day</title><description>Brawndo's got what plants crave.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-7889238666572808341?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/09/random-thought-of-day.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-8903160066956989821</guid><pubDate>Mon, 31 Aug 2009 14:29:00 +0000</pubDate><atom:updated>2009-08-31T08:30:08.433-06:00</atom:updated><title>Random Thought of the Day</title><description>We cannot tear out a single page of our life, but we can throw the whole book in the fire.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-8903160066956989821?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/08/random-thought-of-day_5943.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-9259427.post-4041731733368894707</guid><pubDate>Mon, 31 Aug 2009 14:29:00 +0000</pubDate><atom:updated>2009-08-31T08:29:56.043-06:00</atom:updated><title>Random Thought of the Day</title><description>The more you suffer, the more it shows you really care, right?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9259427-4041731733368894707?l=jeff.summershome.com' alt='' /&gt;&lt;/div&gt;</description><link>http://jeff.summershome.com/2009/08/random-thought-of-day_31.html</link><author>noreply@blogger.com (jeff)</author><thr:total>0</thr:total></item></channel></rss>