<?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>The Glass is Too Big &#187; Lifehack</title>
	<atom:link href="http://www.wynia.org/wordpress/category/lifehack/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wynia.org/wordpress</link>
	<description>J Wynia - Web Consultant, Writer and Geek</description>
	<lastBuildDate>Sun, 14 Mar 2010 23:42:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Store Kindle Clippings in SQL Server with C# and Subsonic 3&#039;s SimpleRepository</title>
		<link>http://www.wynia.org/wordpress/2009/07/store-kindle-clippings-in-sql-server-with-c-and-subsonic-3s-simplerepository/</link>
		<comments>http://www.wynia.org/wordpress/2009/07/store-kindle-clippings-in-sql-server-with-c-and-subsonic-3s-simplerepository/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 02:40:22 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Books and Reading]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/?p=1289</guid>
		<description><![CDATA[Back in April, Shelly mentioned having seen a 2nd generation Kindle and that she really wanted one. She happened to say so on a day when I was already admiring them. So, I ordered one.
I liked hers so much that I ordered one for myself shortly thereafter and it&#039;s gone with me nearly every day, [...]]]></description>
			<content:encoded><![CDATA[<p>Back in April, Shelly mentioned having seen a 2nd generation <a href="http://www.amazon.com/gp/product/B00154JDAI?ie=UTF8&#038;tag=phpgeek-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B00154JDAI">Kindle</a><img src="http://www.assoc-amazon.com/e/ir?t=phpgeek-20&#038;l=as2&#038;o=1&#038;a=B00154JDAI" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> and that she really wanted one. She happened to say so on a day when I was already admiring them. So, I ordered one.</p>
<p>I liked hers so much that I ordered one for myself shortly thereafter and it&#039;s gone with me nearly every day, everywhere. You can read any of several hundred online reviews of the device itself. Of course, most of those will either recommend or pan the device on its own, with no real consideration of how you read.</p>
<p>Lots of the stuff that I saw in reviews before I bought mine goes on a list of features I couldn&#039;t care less about. For instance, in the 4 months I&#039;ve had mine, I&#039;ve wanted to look up precisely 5 words in the dictionary and NONE of them was in there. </p>
<p>At any rate, I like it and my use probably isn&#039;t exactly what people think of when the Kindle gets mentioned. See, for me, the killer feature is the ability to highlight a sentence or paragraph or entire page and save it for later. Most of what I read on it is non-fiction: technical books and stuff like <a href="http://www.amazon.com/gp/product/006166118X?ie=UTF8&#038;tag=phpgeek-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=006166118X">Curious?</a><img src="http://www.assoc-amazon.com/e/ir?t=phpgeek-20&#038;l=as2&#038;o=1&#038;a=006166118X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> and <a href="http://www.amazon.com/gp/product/B001UP63MI?ie=UTF8&#038;tag=phpgeek-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001UP63MI">Ratio</a><img src="http://www.assoc-amazon.com/e/ir?t=phpgeek-20&#038;l=as2&#038;o=1&#038;a=B001UP63MI" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />. </p>
<p>In print books, I&#039;ve always dog-eared pages and taken notes, but retrieving that information is always less than convenient. So, when I found out that the Kindle makes clipping text from books easy, I was excited. After clipping a couple of things, I went looking at the file format. All of the clippings get dumped into a single .txt file. </p>
<p>While that&#039;s fine for opening and looking through or even searching through directly on the Kindle, I wanted something that made it a little more organized. So, I wrote a quick proof of concept app to parse the file and put its contents into SQL Server and thought I&#039;d share it with you.</p>
<p>I&#039;d been wanting to do a little more with <a href="http://www.subsonicproject.com/">Subsonic</a> 3.x&#039;s new feature <a href="http://subsonicproject.com/docs/Using_SimpleRepository">SimpleRepository</a>, which functions somewhat similar to <a href="http://www.db4o.com/">db4o</a>, but still SQL underneath. It strikes me as particularly suited to quick prototyping applications just like this one.</p>
<p>Rather than setting up the database schema, you just create your plain old C# objects (POCO) and SimpleRepository takes care of creating the tables as well as retrieving and storing your objects.</p>
<p>My POC app puts each clipping/quote into the database once and avoids duplication on subsequent runs. The result is much easier to, for instance, pull together everything from one book. The Kindle stores the clippings in the order they were clipped, making a mess if you don&#039;t read books linearly. Once written, I can easily keep my database up to date with anything I want to save from anything I&#039;m reading on the device. Now that it&#039;s in that form, it could easily sit behind a web front end or be re-mixed in other interesting ways.</p>
<p>Anyway, on to the sample console app. I named it IpseDixit, which is Latin for &#034;he himself said it&#034;. </p>
<p>You need a connection string to your database server. The database name in the connection string needs to exist and your Windows account needs access, but you don&#039;t have to create any tables  in it.</p>
<pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;configuration&gt;
  &lt;connectionStrings&gt;
    &lt;add name=&quot;IpseDixit&quot; connectionString=&quot;Data Source=localhost;Initial Catalog=IpseDixit;Integrated Security=True&quot; providerName=&quot;System.Data.SqlClient&quot; /&gt;
  &lt;/connectionStrings&gt;
&lt;/configuration&gt;
</pre>
<p>I created a simple class for a Quotation. Here&#039;s the entire source to the console application itself. I put multiple classes into the one file for example purposes. You need a reference to Subsonic.Core.dll from the <a href="http://www.subsonicproject.com">Subsonic</a> 3.x download.  Comments in the code itself explain what&#039;s going on and why.</p>
<pre class="brush: csharp;">
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using SubSonic.Repository;
using SubSonic.SqlGeneration.Schema;

namespace IpseDixit
{

    public class Quotation
    {
        public int Id { get; set; }
        public string Source { get; set; }
        public string SourceLocation { get; set; }

        [SubSonicLongString]
        public string Text { get; set; }
        public DateTime DateClipped { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            //Set up a Subsonic SimpleRepository
            var _repo = new SimpleRepository(&quot;IpseDixit&quot;, SimpleRepositoryOptions.RunMigrations);
            //Open the Kindle clippings file. Obviously, moving this to the config file would make sense when turning this example into your own &quot;real&quot; app.
            var _kindleClippingsFile = new FileStream(@&quot;E:\documents\My Clippings.txt&quot;, FileMode.Open, FileAccess.Read);
            StreamReader _streamReader = new StreamReader(_kindleClippingsFile);
            //Get the complete contents of the Kindle clippings into a string
            string _kindleClippingsString = _streamReader.ReadToEnd();
            _streamReader.Close();
            _kindleClippingsFile.Close();
            //The individual clippings are split up by a &quot;=====&quot; kind of seperator, so we split it into records on that &quot;seam&quot;.
            var _kindleClippings = SplitByString(_kindleClippingsString, &quot;==========&quot;);
            foreach (var _clipping in _kindleClippings)
            {
                try
                {
                    //A basic property bag object called Quotation provides a container for all of the bits.
                    Quotation _newQuote = new Quotation();
                    //More splitting by line breaks to get the individual bits of a given quote
                    var _clippingElements = SplitByString(_clipping, &quot;\r\n&quot;);
                    //The title of the book/magazine/etc is one of the basic bits
                    _newQuote.Source = _clippingElements[1];
                    //Because bookmarks are kept in this same file, we check only for those called &quot;Highlight&quot;
                    //which is Amazon's term for a quote.
                    if (_clippingElements[2].Contains(&quot;Highlight&quot;))
                    {
                        //The date the quote was added and the digital equiv of a page number are on the same line
                        //so we split that up too.
                        var _quoteDateAndLocation = _clippingElements[2].Split('|');
                        //I haven't found a reasonable way to use the location outside of the Kindle, but I figured it
                        //made sense to store it anyway.
                        _newQuote.SourceLocation = _quoteDateAndLocation[0];
                        //I wanted the date the quote was added as a DateTime, so parse that out.
                        var _quoteDateAddedString = _quoteDateAndLocation[1];
                        if (_quoteDateAddedString.Length &gt; 0)
                        {
                            _quoteDateAddedString = _quoteDateAddedString.Replace(&quot;Added on&quot;, &quot;&quot;).Trim();
                            DateTime _quoteDateAdded = DateTime.Parse(_quoteDateAddedString);
                            _newQuote.DateClipped = _quoteDateAdded;
                        }
                        //Finally, what was the highlighted text of the quote.
                        _newQuote.Text = _clippingElements[4];
                        //Let's check the SimpleRepository for whether this quote's already been added.
                        //Since the Kindle keeps adding to this file, it's going to have all of the quotes
                        //from the last import on it. Check if we've already stored this one.
                        //I used the full text of the quote for comparison, which is slower than other comparisons,
                        //but more likely to catch collisions.
                        if (_repo.Exists&lt;Quotation&gt;(x =&gt; x.Text == _newQuote.Text)){}
                        else
                        {
                            //Add the quote to the database via the SimpleRepository
                            _repo.Add(_newQuote);
                        }
                    }
                } catch (Exception e)
                {
                    //Since this is just a blog post sample, I'm not handling the exceptions. You should.
                }

            }
        }
        private static string[] SplitByString(string testString, string split) {
           int offset = 0;
           int index = 0;
           int[] offsets = new int[testString.Length + 1]; 

           while(index &lt; testString.Length) {
              int indexOf = testString.IndexOf(split, index);
              if ( indexOf != -1 )  {
                 offsets[offset++] = indexOf;
                 index = (indexOf + split.Length);
              } else {
                 index = testString.Length;
              }
           }

           string[] final = new string[offset+1];
           if (offset == 0 ) {
              final[0] = testString;
           } else {
              offset--;
              final[0] = testString.Substring(0, offsets[0]);
              for(int i = 0; i &lt; offset; i++) {
                 final[i + 1] = testString.Substring(offsets[i] + split.Length, offsets[i+1] - offsets[i] - split.Length);
              }
              final[offset + 1] = testString.Substring(offsets[offset] + split.Length);
           }
           return final;
        }
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2009/07/store-kindle-clippings-in-sql-server-with-c-and-subsonic-3s-simplerepository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ORDER BY BiggestProblem DESC</title>
		<link>http://www.wynia.org/wordpress/2008/10/order-by-biggestproblem-desc/</link>
		<comments>http://www.wynia.org/wordpress/2008/10/order-by-biggestproblem-desc/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 01:29:30 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[Lifehack]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/?p=1186</guid>
		<description><![CDATA[I caught a little snippet on NPR this weekend that fits in well with what I&#039;ve been hearing a lot of on the radio, TV, newspapers and the like. They were interviewing someone who was making drastic changes to their life and spending due to a loss of one of the family incomes.
I had a [...]]]></description>
			<content:encoded><![CDATA[<p>I caught a little snippet on NPR this weekend that fits in well with what I&#039;ve been hearing a lot of on the radio, TV, newspapers and the like. They were interviewing someone who was making drastic changes to their life and spending due to a loss of one of the family incomes.</p>
<p>I had a lot of reactions that made me wonder how they afforded their previous lifestyle if the loss of a part-time job led to things like moving into the cellar to avoid heating the rest of the house. Lots of these stories on TV and radio and in magazines make me wonder how many of these are stories that happen every day, bad economy or not, but we now have crowds of journalists digging to find them because it makes for a good story now.</p>
<p>Digressions aside, one of their cost-cutting measures stuck out at me: dramatically altering what they wear to get down to only one load of laundry a week. What I heard sounded like there was a lot of effort for this and hit me funny because we got a new washer and dryer a couple of weeks ago and an image of those yellow EnergyGuide cards from both popped into my head.</p>
<p>The washing machine&#039;s card estimated that our ANNUAL energy cost for both electricity and gas (for our hot water) was . . . $11. That&#039;s right. Less than a buck a month to wash all of our clothes. </p>
<p>I&#039;m not going to pretend that I understand their situation, but, if we needed to find an extra $1000 or even $2000 a month to scrape by in tough times, it&#039;s pretty clear that OUR laundry isn&#039;t a gold mine of wasted cash, just waiting to be tapped into.</p>
<p>Whenever I see huge effort going into places where it isn&#039;t going to pay off proportional to that effort, I start thinking in SQL. To me, given the amount of data I work with on a daily basis, it&#039;s entirely natural to take all of the expenses and ORDER BY the biggest expense when it&#039;s time to start cutting.</p>
<p>And, if a quick look at the top of that list doesn&#039;t reveal much, a quick ORDER BY &#034;least important&#034; works as well to reveal the easiest cuts.</p>
<p>This approach is something that&#039;s impressed me with how the <a href="http://www.gatesfoundation.org/Pages/home.aspx">Bill and Melinda Gates Foundation</a> went about choosing the areas to attack first. Everything I&#039;ve seen about that process says that they were pre-occupied with choosing problems that affect the lives of the highest number of people. They did an ORDER BY &#034;number of people who die from ???&#034; on the giant spreadsheet of problems in this world.</p>
<p>When I go out of my way to consider a problem or situation through this lens, I often end up with a much more obvious place to start my solution. I think this pattern is really powerful. Imagine going through your typical cubicle farm and following this simple process:</p>
<ol>
<li>Ask everyone the following questions:
<ol>
<li>What is the most tedious computer-related task you do daily/weekly/monthly?
<li>How much time do you spend on it?
<li>If that task wasn&#039;t yours to do any more, what project that isn&#039;t being done now would you be able to do instead?
</ol>
<li>Compile those results, along with salary-type information and start doing ORDER BY&#039;s to see what the most tedious, time-wasting tasks are actually costing.
<li>Start tackling the top of the list with a portion of your IT budget.
<li>Act on that list of projects that aren&#039;t being done by enabling people to get moving.
</ol>
<p>Imagine how many thousands of hours, tens of thousands of dollars are being wasted on things like manually comparing 2 reports, line by line for discrepancies because there isn&#039;t a reconciliation report that SHOWS the differences. </p>
<p>Imagine how many good ideas for projects, ideas for improving your business, for making a better product or offering a better service are stagnating in your cubicle farm. And, imagine that, after eliminating or reducing these tedious tasks, instead of laying people off, you reinvest that previously wasted time into those ideas and project.</p>
<p>I have to wonder how this little exercise might affect an organization&#039;s position in a tough market.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2008/10/order-by-biggestproblem-desc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting Up Shop in the Shower</title>
		<link>http://www.wynia.org/wordpress/2008/05/setting-up-shop-in-the-shower/</link>
		<comments>http://www.wynia.org/wordpress/2008/05/setting-up-shop-in-the-shower/#comments</comments>
		<pubDate>Sun, 11 May 2008 22:33:29 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Cognitive Psychology]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/?p=1006</guid>
		<description><![CDATA[Photo: Steve Jurvetson
A while back, there was a TV commercial (for a product/service I can&#039;t recall)1 that showed a group of businessmen having a meeting in a shower. They were there because the executive that called the meeting wanted to leverage the fact that his best ideas came to him in the shower.
That commercial hits [...]]]></description>
			<content:encoded><![CDATA[<div class="flickr-illustrate" style="border: solid black 2px;padding: 3px;float:right;display: inline;font-family: Arial,Helvetica;font-style: italic;font-size: .75em;text-align: center;padding-left:5px;padding-right:3px;padding-top:5px;margin:8px;"><a href="http://www.flickr.com/photos/44124348109@N01/2088733117"><img style="border: solid black 1px;padding: 0px;margin: 0px;" src="http://static.flickr.com/2201/2088733117_6d5da6640f_m.jpg" border="0" alt="" /></a><a class="f-i-attribution" style="text-decoration: none;color:black;display:block;font-weight:bold;text-align:right;" href="http://www.flickr.com/people/jurvetson/">Photo: Steve Jurvetson</a></div>
<p>A while back, there was a TV commercial (for a product/service I can&#039;t recall)<sup>1</sup> that showed a group of businessmen having a meeting in a shower. They were there because the executive that called the meeting wanted to leverage the fact that his best ideas came to him in the shower.</p>
<p>That commercial hits us as relevant because nearly everyone has had the experience of being in the shower and having that thought, solution or idea completely come out of &#034;nowhere&#034; that is exactly what we want.</p>
<p>Of course, the commercial takes that experience and attempts to apply it in a way that obviously won&#039;t work. It&#039;s obvious to pretty much everyone. But, why?</p>
<p>It&#039;s because it&#039;s not about the shower. It&#039;s actually about the &#034;slack&#034; time and is key to innovative thinking. The beauty is that, while gathering your team into the shower won&#039;t foster this innovative thinking, it *is* possible to deliberately make these moments happen and is a topic I&#039;ve been looking at quite a bit lately.</p>
<p>Lots of people develop their own ways to manufacture these moment. I like to think that I did a reasonable job at it myself. However, my recent interest in the junction of economics, neurology, psychology, self-improvement and my longstanding interest in cross disciplinary learning have been coming together to better understand and debug my own brain. Deeper understanding of how my own neurons are working can lead to better decisions and more effective practices.</p>
<p>On this particular topic, recent interest was sparked by an EconTalk episode with <a href="http://www.econtalk.org/archives/_featuring/william_duggan/index.html">William Duggan</a>. He was talking about his book: <a href="http://www.amazon.com/Strategic-Intuition-Creative-Achievement-Columbia/dp/0231142684">Strategic Intuition</a>.</p>
<p>The conversation was very enlightening and I bought and subsequently read the book. While I&#039;ve got lots I could say about the book (it really resonated with me), what&#039;s really worth taking away from it is the core idea of what exactly &#034;strategic intuition&#034; is.</p>
<p>Basically, it&#039;s those &#034;shower&#034; ideas. It&#039;s the kind of thought or idea that is the result of disparate portions of your brain come together and make a connection. Those that are able to engage in strategic intuition regularly are often able to really shine in the midst of their circumstances.</p>
<p>So, how to cultivate moments of strategic intuition?</p>
<ol>
<li>Harvest and gather information.</li>
<li>Make space for the background processes in your brain to do their thing.</li>
<li>Feast on the great ideas.</li>
</ol>
<h3>Harvest</h3>
<p>In order for your brain to make connections, there need to be things for it to connect. The more diverse the inputs, the better. If you read nothing but self-help books or nothing but fantasy novels or nothing but political blogs that you agree with, there&#039;s not much distance between the stuff in your head and distance is good.</p>
<p>The further apart the 2 ideas, the more satisfying the idea. Incidentally, this is also true of jokes. The further you travel to &#034;get&#034; the joke, the funnier you find it.</p>
<p>So, in pursuit of the harvest of information, I read books on varied subjects, RSS feeds from varied topics, listen to podcasts, watch TV, etc. I also make a distinct effort to take in stuff that I disagree with.</p>
<h3>Make Space</h3>
<p>There&#039;s a commonality to the situations in which most people experience strategic intuition naturally. I&#039;ve heard people mention:</p>
<ul>
<li>the shower</li>
<li>mowing the lawn</li>
<li>standing out and having a smoke</li>
<li>driving</li>
<li>raking leaves</li>
<li>cooking (one of my favorites)</li>
<li>walking in the park</li>
<li>umm, sitting on the toilet</li>
</ul>
<p>The thing common to all of them is that the &#034;thinking&#034; part of our brains get freed from being put to work. The task at hand can usually be performed without &#034;thinking&#034;. That frees our brains up to do the work that leads to strategic intuition.</p>
<p>The busy lives that everyone seems to be living today are a hostile environment for this kind of space at first glance. However, when things like the drive to and from work can function as the kind of space we&#039;re after, it&#039;s not as foreign as it might first seem.</p>
<p>Regardless, when I carve out the time and have been putting lots of good input into my head, it is ALWAYS rewarded.</p>
<p><sup>1</sup>There&#039;s a lesson in there somewhere for being clever in your advertising but failing to get your brand attached to the cleverness.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2008/05/setting-up-shop-in-the-shower/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Toward 30 Days Straight at the Gym</title>
		<link>http://www.wynia.org/wordpress/2008/04/toward-30-days-straight-at-the-gym/</link>
		<comments>http://www.wynia.org/wordpress/2008/04/toward-30-days-straight-at-the-gym/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 01:38:45 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Exercise]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/?p=998</guid>
		<description><![CDATA[Ten years ago, I left college and sat down, completing a slowdown that began 4 or so years earlier. When I left high school, I transitioned from doing chores every day and working on the farm to going to college. I stayed relatively active, riding my bike to class year &#039;round and doing IT support [...]]]></description>
			<content:encoded><![CDATA[<p>Ten years ago, I left college and sat down, completing a slowdown that began 4 or so years earlier. When I left high school, I transitioned from doing chores every day and working on the farm to going to college. I stayed relatively active, riding my bike to class year &#039;round and doing IT support on campus, which required walking all over.</p>
<p>However, when I graduated from college, my situation effectively purged all of the physical activity I was getting all along. Because I&#039;d always just gotten my exercise doing things I already had to do, I didn&#039;t pay attention to the fact that The Great Sitting Down necessitated changing my eating or replacing the activity.</p>
<p>As many of you know, I did lose about 50 pounds a couple of years ago by addressing the diet and climbing the stairs at my project site. Alas, again, when 28 flights of stairs were no longer between me and my desk, that loss stopped and I&#039;ve spent the last couple of years pretty much stuck in the same general ballpark.</p>
<p>While I&#039;ve messed with a couple of things on the dietary front, I hadn&#039;t really done much to acknowledge the physical activity side of things.</p>
<p>Knowing this needed to change, a few months ago, I did like so many others and signed up for a gym, went twice and then kept paying the bill, but little else. Once I&#039;d paid for 3 months and never set foot in the place, I decided that something needed to change.</p>
<p>Clearly, economics says that the best way to ensure that I actually do this thing that I consciously want to do is to leverage incentives or disincentives. I&#039;d heard about a site where you could take out a contract on yourself where money would be sent to a charity you disagree with if you don&#039;t follow through (<a href="http://www.stickk.com/">stickK.com</a>). I gave it a look and even got about half way through signing up before abandoning that idea.</p>
<p>The big problem is that even though the goals are weekly, you have to give them the total cost of failure up front. So, you could say that failing to exercise this week would cost you $10, but if you wanted to commit to a year, you&#039;d have to give them the whole $520 off your card up front.</p>
<p>While that is a perfectly valid way to do it, I shied away at that point.</p>
<p>When I sat back to consider the situation, I remembered a study that I had read about the amount of effort people will go to to avoid something so simple as doors closing on a computer screen. That mirrored what I&#039;ve seen watching other people play video games. Even simple games where you have to keep things going can lead people to get REALLY concerned when nothing more than a few pixels are going to &#034;fall&#034; or break through a wall, etc.</p>
<p>That same principle is what is at work in Jerry Seinfeld&#039;s &#034;<a href="http://lifehacker.com/software/motivation/jerry-seinfelds-productivity-secret-281626.php">don&#039;t break the chain</a>&#034; productivity method. Given the effects that just losing that incrementing number of completed days, I wondered what would happen for me if nothing more than that number WAS the thing I&#039;d lose by not going to the gym.</p>
<p>So, revived something I&#039;ve done for lots of other stuff with a 30 Day Challenge. I&#039;d go to the gym every day for 30 days. Period. The challenge wouldn&#039;t be over until 30 days in a row were touched by a visit to the gym. Of course, the first few days are often easy and then, hopefully, the cumulative effect of the incrementing number would kick in.</p>
<p>I&#039;m not bundling any sort of goal to lose weight. I&#039;m not bundling any specific gym routine; stepping in the door counts. And, I&#039;m now 12 days in. Twice, so far, I&#039;ve had a &#034;reason&#034; to miss, but went out of my way to do it anyway, something I&#039;ve never done with previous attempts at physical activity.</p>
<p>In other words, it&#039;s working.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2008/04/toward-30-days-straight-at-the-gym/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eye Catching Resumes</title>
		<link>http://www.wynia.org/wordpress/2008/03/eye-catching-resumes/</link>
		<comments>http://www.wynia.org/wordpress/2008/03/eye-catching-resumes/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 18:58:49 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Saved Links]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2008/03/19/eye-catching-resumes/</guid>
		<description><![CDATA[
 photo credit: Liel Bomberg
I often push people who work as employees to view themselves as actually being self-employed. When you take a job, your little business just sold some of your time to a company for an agreed-upon amount of money per year. It&#039;s a business arrangement, so treating it like one makes sense.
When [...]]]></description>
			<content:encoded><![CDATA[<div style="border: 2px solid black; margin: 10px; padding: 3px; float: right"><a href="http://www.flickr.com/photos/79045425@N00/2340325399/" target="_blank"><img src="http://farm3.static.flickr.com/2358/2340325399_ef29db6fda_m.jpg" border="0" /></a><br />
<small><a href="http://www.photodropper.com/creative-commons/" title="creative commons" target="_blank"><img src="http://www.wynia.org/wordpress/wp-content/plugins/photo_dropper//images/cc.png" alt="Creative Commons License" align="absmiddle" border="0" height="16" width="16" /></a> <a href="http://www.photodropper.com/photos/" target="_blank">photo</a> credit: <a href="http://www.flickr.com/people/Liel%20Bomberg/" title="Liel Bomberg" target="_blank">Liel Bomberg</a></small></div>
<p>I often push people who work as employees to view themselves as actually being self-employed. When you take a job, your little business just sold some of your time to a company for an agreed-upon amount of money per year. It&#039;s a business arrangement, so treating it like one makes sense.</p>
<p>When people make that shift, they often start to see their resume&#039;s more like potential &#034;customers&#034; of their services (employers) do. The resume and anything that accompany it are your marketing materials to land an interview. In that interview, you need to push the &#034;deal&#034; forward, but if your resume ends up in a stack with dozens or hundreds of others only to be tossed en masse, you don&#039;t even get that chance.</p>
<p>Sure, lots of places are pushing resumes into giant keyword databases. And, for that, you should make sure the text itself is optimized. However, there are still PLENTY of places where your carefully formatted resume gets viewed by a real person.</p>
<p>In those cases, having a resume that catches the eye makes a big difference in getting someone to actually read it and call you in for an interview.</p>
<p>If your resume is based on one of the 3-4 that come with Microsoft Word, consider something a little more unique. This great sample of <a href="http://jobmob.co.il/blog/beautiful-resume-ideas-that-work/">really nice-looking resumes</a> came through the feed reader this morning really shows what can be done to wake up a tired resume.</p>
<p>Some are more feasible than others if you aren&#039;t a graphic designer, but the ideas should certainly spark some changes in yours.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2008/03/eye-catching-resumes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Keeping Track of Everything You Print</title>
		<link>http://www.wynia.org/wordpress/2008/02/keeping-track-of-everything-you-print/</link>
		<comments>http://www.wynia.org/wordpress/2008/02/keeping-track-of-everything-you-print/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 12:28:33 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2008/02/13/keeping-track-of-everything-you-print/</guid>
		<description><![CDATA[A few weeks ago, I was staring at my browser which was presenting me the now ubiquitous receipt page after buying something online. That page was, as is so common, recommending that I &#34;print this page for your records&#34;. 
The thing is that I usually don&#039;t really want a printed copy of it, despite really [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I was staring at my browser which was presenting me the now ubiquitous receipt page after buying something online. That page was, as is so common, recommending that I &quot;print this page for your records&quot;. </p>
<p>The thing is that I usually don&#039;t really want a printed copy of it, despite really wanting to keep a copy. As I was on my Linux laptop, I just printed it to PDF. That way, I have a copy of it in a form that matches what I would have gotten if I had printed it. I could have saved the HTML page, but like the single document approach of PDF for this.</p>
<p>On my Mac laptop, this is just as easy and on <a href="http://www.pdfforge.org/products/pdfcreator">Windows</a> not much harder. Both Ubuntu and Mac OSX make it really easy to have a PDF printer. However, what I noticed as I went to print this particular receipt to a PDF was that on none of my machines was this PDF printer the default printer. </p>
<p>Because of that, I was only getting a PDF when I saw in advance that I might want one instead of printing it for real. That sparked a bit of curiosity in me. What would happen if I made the PDF printer my default and sent everything through there first.</p>
<p>So, for the past few weeks, that&#039;s been the setup on all of my workstations. The results make it clear that I want to make this the default setup from here on out for a few reasons.</p>
<p>First is the number of times where I printed something to PDF, sent it to the printer marked up the printout and eventually dropped the paper into the recycling only to go looking on my desk for that printout a couple of days later. No problem, since the PDF was sitting in my PDF output directory.</p>
<p>It&#039;s also become a really decent way to save a web page article or snapshot of a document in an easily retrievable format. When combined with my recent <a href="http://www.jungledisk.com/">JungleDisk</a> installations on all of those machines and the automatic backups that include those PDF directories on all of the machines, I now have access to anything I&#039;ve printed or wanted to keep, no matter where I was when I printed it.</p>
<p>While I still use bookmarking engines quite a bit for marking things to find later, it&#039;s happened more often than I am comfortable with that the page/article in question goes away by the time I want it a few months down the road: not the case with exported PDF&#039;s.</p>
<p>Finally, when you <a href="http://www.ghacks.net/2007/11/17/configure-firefox-printing-options/">turn off your browser&#039;s headers and footers</a>, you can easily use straight HTML or any of the online word processors for document editing and get nice PDF&#039;s for sharing by email, etc. </p>
<p>Given how I can quite easily write simple documents in raw HTML faster and make them look more consistent (with standardized CSS) than I can do the same in MS Word or OpenOffice, this is pretty useful.</p>
<p>Overall, pretty slick and handy. If you haven&#039;t ever tried setting your computer up this way, I highly recommend giving it a shot.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2008/02/keeping-track-of-everything-you-print/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Eyes Bigger Than My Stomach? Really?</title>
		<link>http://www.wynia.org/wordpress/2007/12/my-eyes-bigger-than-my-stomach-really/</link>
		<comments>http://www.wynia.org/wordpress/2007/12/my-eyes-bigger-than-my-stomach-really/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 00:31:54 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[Food]]></category>
		<category><![CDATA[Half-baked Ideas]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/12/17/my-eyes-bigger-than-my-stomach-really/</guid>
		<description><![CDATA[Photo: ThÃ©o
 All my life, I&#039;ve heard people talking about how their &#034;eyes were bigger than their stomach&#034; or warning their children against such a misjudgment. I always had to guess at what they meant. That&#039;s because for as long as I can remember, it never really applied to me. If it could fit on [...]]]></description>
			<content:encoded><![CDATA[<p class="flickr-illustrate" style="border: 2px solid black; margin: 8px; padding: 5px 3px 3px 5px; display: inline; font-size: 0.75em; float: right; font-style: italic; font-family: arial,helvetica; text-align: center"><a href="http://www.flickr.com/photos/27857804@N00/1426299"><img src="http://static.flickr.com/2/1426299_9fd348391d_m.jpg" style="border: 1px solid black; margin: 0px; padding: 0px" border="0" /></a><a href="http://www.flickr.com/people/lenny_montana/" class="f-i-attribution" style="display: block; font-weight: bold; color: black; text-align: right; text-decoration: none">Photo: ThÃ©o</a></p>
<p> All my life, I&#039;ve heard people talking about how their &#034;eyes were bigger than their stomach&#034; or warning their children against such a misjudgment. I always had to guess at what they meant. That&#039;s because for as long as I can remember, it never really applied to me. If it could fit on a plate, I could finish it.</p>
<p>Other than on days like Thanksgiving (and maybe one or two other days a year) I don&#039;t manage to approach that &#034;full&#034; feeling everyone else seems to experience at most meals until a half hour after I&#039;m done eating, if at all. Unfortunately, I also get REALLY hungry (think &#034;willing to walk miles to get food) fairly often, no matter how much I eat.</p>
<p>That, of course, coupled with a move from farming to sitting on my butt all day pretty much guaranteed that I would top 300 pounds, which I did a few years ago. That&#039;s when I went to a weight loss doctor and spent nearly a year on a weight loss program resulting in a loss of 60 pounds.</p>
<p>The thing that made that program work for me was the included an appetite suppressant you probably know from countless spam emails: phentermine. When I took those pills, it was amazing. It was as though rational decision-making was returned to my interactions with food. Instead of *needing* that food, I was just *wanting* that food: an impulse I had some control over.</p>
<p>Unfortunately, that doctor turned out to be a bit flaky. She went on &#034;vacation&#034; and didn&#039;t come back for MONTHS. That, of course, derailed my progress and eventually I gained about 10 pounds back. A few months later, I tried to start back up with this doctor only to have her disappear again after a couple of months.</p>
<p>Then, this summer, I decided to try to find another doctor and get back on the prescription. It&#039;s clearly the only thing that&#039;s worked for me. I headed in for a couple of appointments only to have the reality of keeping clients happy collide with getting to appointments.</p>
<p>When I missed my last one, I sat back to do some reflection. See, while the phentermine worked for me, it has always bothered me that I needed to be on a prescription in order to have control over my weight and appetite. I was never quite sure what the final exit strategy would be when I reached my target weight.</p>
<p>Obviously, I can&#039;t stay on that kind of prescription as a long term solution. That&#039;s why the last few days have been so exciting for me. I have been unable to finish any of my last 4 meals without any surgery or other drastic measures. The results I&#039;m getting have every possibility of being permanent and for the rest of my life.</p>
<p>2 years ago, I read an article <a href="http://www.nytimes.com/2005/09/11/magazine/11FREAK.html?_r=1&amp;ex=1126670400&amp;en=e44dbec0ebb507fc&amp;ei=5070&amp;oref=slogin">from the New York Times</a> about a psychologist named Seth Roberts and his self-experimentation and interesting results in researching a link between flavors, appetite and fat storage. I bookmarked it and even bought the book.</p>
<p>It was interesting and, over the last 2 years, I gave the methods he describes a shot, with no results. Then, last week, in the midst of my reflection on this situation, I noticed that book on my shelf and pulled it out. I figured I&#039;d give it one last shot, following it as strictly as I could.</p>
<p>Clearly, I did something wrong the previous times because, on the 2nd day, the effects kicked in and I&#039;m getting a stronger suppression of of my appetite than phentermine ever provided and it&#039;s probably cost me less than $0.25 in the last 4 days.</p>
<p>The long and short of Roberts&#039; research is that when we engage the following combination of conditions, a perfect storm is set up for storing fat and driving us to eat more:</p>
<ol>
<li>Strong flavor. This is distinct from taste. Taste is the basic sweet, salty, bitter, etc. and flavor is the rest. Taste is what you get when you plug your knows and eat.</li>
<li>Quickly detected calories that get delivered along with the flavor.</li>
<li>Repetition. The flavor is eaten often and always has the same caloric content.</li>
<li>Similarity. The flavor is identical or very similar to the last time it was eaten.</li>
</ol>
<p>That combination leads your brain/body to &#034;mark&#034; that flavor as being a great source of calories. The next time you eat it, it gets stored as fat and your appetite &#034;thermostat&#034; (which Roberts calls a &#034;set point&#034;) gets adjusted to drive you to eat more of it.</p>
<p>Unfortunately, if you consider things like fast food, they hit this on all cylinders. You&#039;ve got readily detectible calories in the fries and burger as well as strong flavors throughout, including the Coke. Because it all gets mixed together, even a Diet Coke contributes to the problem.</p>
<p>The key to Roberts&#039; approach to controlling your weight is that if you consume calories that are missing flavor, it moves your thermostat in the other direction: making you less hungry and full faster.</p>
<p>The 2 items that he found work this way are: sugar and flavorless oils (like extra light olive oil).  If those are consumed completely away from flavors (an hour before and an hour after), they kick in and move the thermostat toward less hunger.</p>
<p>To that end, I&#039;ve been doing 4 Tablespoons of sugar a day, half in the morning and half at night. For the record, a 20 oz bottle of Mountain Dew has <strong>6</strong> tablespoons in it, making many of the concerns about this &#034;much&#034; sugar for these purposes less than many of the foods that taking the sugar helps you avoid eating.</p>
<p>Like I said, the net effect has been amazing. Yesterday, I left food on my plate (up to HALF in one case) for the first time in as long as I can remember. At breakfast, I ordered my usual and actually added a pumpkin muffin as a test for myself (I love those things). When our server took my main plate, he left the half-eaten muffin instead of taking that too. That muffin sat there for another hour without me finishing it. That&#039;s astonishing.</p>
<p>Strangely enough, the hardest thing to adapt from life in order to follow the rules correctly is that, with toothpaste being a very intense flavor, the morning dose of sugar has to be very carefully timed. I&#039;m taking it immediately after I get up, waiting an hour and brushing my teeth just before I leave the house.</p>
<p>I haven&#039;t weighed myself yet to see if there&#039;s been any progress on my weight, but past experience has shown that if I can control my appetite, just that little edge in the battle is enough to let my rational brain run the show for food and I can lose weight fairly easily.</p>
<p>The more I think about this theory, the more it seems to match reality. This explains those people who seem to eat very little but get &#034;full&#034; on it. Their thermostats are set differently. It also explains the whole idea of an &#034;acquired taste&#034;. Flavor preference is a learned thing as your body matches flavors to calories.</p>
<p>Incidentally, that means that this theory could also be used to develop a liking of a food you think you hate. Choke it down with a chaser of extra calories a few times and you&#039;ll start liking the food.</p>
<p>We&#039;ll see how it goes, but right now things are looking very good for lifelong control of my appetite. Sure, it seems a little strange, but science is science, folks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/12/my-eyes-bigger-than-my-stomach-really/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What Defines Success Here?</title>
		<link>http://www.wynia.org/wordpress/2007/11/what-defines-success-here/</link>
		<comments>http://www.wynia.org/wordpress/2007/11/what-defines-success-here/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 02:40:02 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/11/15/what-defines-success-here/</guid>
		<description><![CDATA[I&#039;ve been doing a lot of fire-fighting in my consulting gigs lately. Someone comes in to the office, opens their email and discovers a message declaring that the sky is falling, that the building is burning down around us and that the 3rd Horseman of the Apocalypse has just been sighted. Or maybe it&#039;s just [...]]]></description>
			<content:encoded><![CDATA[<p>I&#039;ve been doing a lot of fire-fighting in my consulting gigs lately. Someone comes in to the office, opens their email and discovers a message declaring that the sky is falling, that the building is burning down around us and that the 3rd Horseman of the Apocalypse has just been sighted. Or maybe it&#039;s just that the Monthly Widget Report has a subtotal error, but STILL.</p>
<p>That message immediately translates into a DEEP desire to <strong>do</strong> something. That desire to do something often results in whole teams of people leaping into action without asking the simple question: &quot;What defines success here?&quot;</p>
<p>That&#039;s nearly the first question I ask when faced with a small army of people itching to get the emergency behind them. You&#039;d think that it&#039;s fairly obvious and yet I often get blank stares when I ask it. Yet, it can often mean the difference between jumping in and grabbing a fire extinguisher because you think that it&#039;s just the garbage can by the door on fire or figuring out that the living room, dining room, bedrooms and garage are already a blazing inferno, with the garbage can being merely the latest victim.</p>
<p>In the first case, grabbing the fire extinguisher isn&#039;t going to help and will likely result in more burning before you finally call 911. However, if you only have a single sheet of paper on fire in a metal garbage can, calling in the big red ladder truck is overkill.</p>
<p>Basically, when you say, &quot;this emergency will be over when the garbage can is no longer on fire&quot;, you&#039;ve defined success. When you say, &quot;this emergency is over when the house is no longer burning and everyone is out safe and our photos are safe in the car&quot;, you&#039;ve defined success.</p>
<p>In technology end of things, this can mean things like:</p>
<ul>
<li>When these 9 different reports bring up data for 2005, 2006 and 2007, we&#039;ve fixed the reporting services problem.</li>
<li>When all 4 production web servers bring up this list of 25 web sites, we&#039;re done with this emergency.</li>
<li>When the &quot;object reference not set to an instance of an object&quot; exception is no longer being thrown, we&#039;re done with this particular problem.</li>
</ul>
<p>It often means you need to make a grid of what exactly is broken. Then you can focus on clearing the &quot;X&quot; entries where there&#039;s a problem. </p>
<p>The thing that&#039;s powerful about this really simple thing is that how it really manages to help people focus and calm down. Next thing you know, the problems actually get solved more quickly, with fewer man-hours involved and everyone&#039;s stress level can drop back down to more normal levels.</p>
<p>And, every once in a while, you actually discover that there isn&#039;t really even a problem to be fixed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/11/what-defines-success-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>POPFile Spam Filtering for Fetchmail on Ubuntu</title>
		<link>http://www.wynia.org/wordpress/2007/08/popfile-spam-filtering-for-fetchmail-on-ubuntu/</link>
		<comments>http://www.wynia.org/wordpress/2007/08/popfile-spam-filtering-for-fetchmail-on-ubuntu/#comments</comments>
		<pubDate>Fri, 17 Aug 2007 10:33:49 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/08/17/popfile-spam-filtering-for-fetchmail-on-ubuntu/</guid>
		<description><![CDATA[Photo: flattop341
The power outage earlier in the week managed to coincide with an email server problem. I worked through the original problem, but brought attention to the email server and made me think about the things that I had on my fix-this-when-you-can list.
Attention is often like that. I&#039;ve said repeatedly about marketing that if you [...]]]></description>
			<content:encoded><![CDATA[<div class="flickr-illustrate" style="border: solid black 2px;padding: 3px;float:right;display: inline;font-family: Arial,Helvetica;font-style: italic;font-size: .75em;text-align: center;padding-left:5px;padding-right:3px;padding-top:5px;margin:8px;"><a href="http://www.flickr.com/photos/46861107@N00/217869786"><img src="http://static.flickr.com/75/217869786_358d163941_m.jpg" style="border: solid black 1px;padding: 0px;margin: 0px;" border="0"></a><a class="f-i-attribution" style="text-decoration: none;color:black;display:block;font-weight:bold;text-align:right;" href="http://www.flickr.com/people/flattop341/">Photo: flattop341</a></div>
<p>The power outage earlier in the week managed to coincide with an email server problem. I worked through the original problem, but brought attention to the email server and made me think about the things that I had on my fix-this-when-you-can list.</p>
<p>Attention is often like that. I&#039;ve said repeatedly about marketing that if you get the attention of your customers, you&#039;d better be prepared for it. If they&#039;ve been irritated with your service and you send them a flyer or a bill, you&#039;ve just given them a reminder to call and complain.</p>
<p>Anyway, since moving to the Linux mail server, I haven&#039;t had <a href="http://popfile.sourceforge.net/">POPFile</a> doing my spam filtering, and I&#039;ve really missed it. I used to run it on my Windows mail server, but just never got around to setting it up on the Linux one.</p>
<p>So, last night, I decided to set it up. There were a couple of tricks to it that I thought were worth sharing.</p>
<p>First, a description of my setup going into this. The mail server itself is a VMWare virtual machine, running Ubuntu Server (which means no GUI, which is important later). Fetchmail grabs email from a bunch of POP3 mailboxes and funnels them into a Courier IMAP mailbox for me.</p>
<p>Since POPFile is implemented as a POP3 proxy, that Fetchmail retrieval was to be the injection point for getting this into the existing setup.</p>
<p>First, I installed POPFile, which is available via aptitude:<br />
<code><br />
sudo aptitude install popfile<br />
</code></p>
<p>That installs the tool, as well as it&#039;s web interface on port 7070 (check the docs as this port has changed in the past). I opened a browser on the host machine and got a &#034;connection refused&#034;. I even tried to forward ports in and still got the message. I had to think about that for a while before I realized what was going on.</p>
<p>See, by default, POPFile only allows &#034;local&#034; access to the admin panel by default. That&#039;s a problem, since it&#039;s a web-based admin panel. </p>
<p>So, to get around that, I installed the &#034;links&#034; commandline browser:<br />
<code><br />
sudo aptitude install links<br />
</code></p>
<p>I opened the control panel at http://localhost:7070 in links and changed the setting:</p>
<blockquote><p>
Accept HTTP (User Interface) connections from remote machines (requires POPFile restart)
</p></blockquote>
<p>to &#034;Yes&#034; and rebooted the server. </p>
<p>I was then able to open the panel from http://192.168.0.13:7070 instead from any computer on my network. That enabled me to set up my buckets (plenty of docs on the POPFile site for setting up this stuff) and get POPFile ready to start filtering.</p>
<p>I also shut off the subject modification for all of the buckets. I&#039;ve seen more than once where someone replies to a message and the subject now reads: &#034;[junk] Are You Coming To The Project Meeting?&#034; and someone gets upset.</p>
<p>Fortunately, if you leave the other indicators on, you can use the header that POPFile adds: X-Text-Classification for any client-side filtering you may need to do.</p>
<p>At any rate, it was time to switch over my Fetchmail retrieval.</p>
<p>In my home directory, the .fetchmailrc file contains the entries for my POP3 accounts. What you basically do is to point it to the POP3 proxy as the server instead of the real one and add the real server information to the username. New entries look like this:<br />
<code><br />
poll 127.0.0.1 port 7071 protocol pop3 username "mail.wynia.org:j@wynia.org" password "PASSWORD"<br />
</code></p>
<p>That&#039;s it. The next time you run fetchmail manually or from a cron job, it should start pulling through POPFile and you&#039;ll see the messages show up in the history tab.</p>
<p>I recommend letting it run for several hundred messages without doing anything else. All of those messages will go through as &#034;unclassified&#034;. Then, you can spend 15 minutes going through and classifying all of them at once. </p>
<p>This cuts down dramatically on the wild swings between everything being marked as spam and nothing being marked as spam that can happen otherwise as you start using it.</p>
<p>So far, it&#039;s chugging along great and I&#039;m back to dealing with much less spam again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/08/popfile-spam-filtering-for-fetchmail-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tracking Accomplishments with PHP, Google Calendar and Zend Framework</title>
		<link>http://www.wynia.org/wordpress/2007/07/tracking-accomplishments-with-php-google-calendar-and-zend-framework/</link>
		<comments>http://www.wynia.org/wordpress/2007/07/tracking-accomplishments-with-php-google-calendar-and-zend-framework/#comments</comments>
		<pubDate>Mon, 23 Jul 2007 00:17:04 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Software Hacking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/07/22/tracking-accomplishments-with-php-google-calendar-and-zend-framework/</guid>
		<description><![CDATA[A couple of months ago, I pointed out the utility of keeping track of the things you accomplish on a daily basis. I&#039;ve been keeping mine in just a notebook. However, making something that can be used to extract reporting information for the eventual inclusion in resume&#039;s, status reports, etc.
It struck me that keeping track [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago, I pointed out the utility of <a href="http://www.wynia.org/wordpress/2007/04/19/managing-your-career-with-daily-accomplishment-lists/">keeping track of the things you accomplish</a> on a daily basis. I&#039;ve been keeping mine in just a notebook. However, making something that can be used to extract reporting information for the eventual inclusion in resume&#039;s, status reports, etc.</p>
<p>It struck me that keeping track of that stuff on Google Calendar would be a reasonably good way to centralize it and make it accessibly from any of the computers that I work on (Windows, Linux, Mac, etc.) without depending on software. So, I took a quick look at the <a href="http://code.google.com/apis/calendar/developers_guide_php.html">PHP API for using GCal&#039;s information</a>.</p>
<p>It requires the Zend Framework, so this was an opportunity to install that as well. The instructions on installing the Zend Framework were a bit vague. What it boils down to is this. The &#034;Zend&#034; directory inside the &#034;library&#034; needs to be on your &#034;include_path&#034; for PHP. On my Ubuntu development boxes, that means putting that Zend directory as &#034;/usr/share/php/Zend&#034; and the existing configuration picked it up.</p>
<p>I then grabbed the Calendar.php sample file. There&#039;s lots of stuff in there I&#039;ll (and you&#039;ll) want to change in it for ongoing use (like lots of the defaults). However, it works well to get up and running. I stripped all of the stuff at the end of the file (the stuff that wasn&#039;t inside a function), thus turning the Calendar.php file into more of a library to be included.</p>
<p>After including that file in my &#034;createaccomplishment.php&#034;, I set up a really basic form for creating an entry.</p>
<p><b>Add Accomplishments Code:</b> (<a href="http://www.wynia.org/samplecode/GCalAddAccomplishment.html">View Highlighted Code</a>)<br />
<iframe src="http://www.wynia.org/samplecode/GCalAddAccomplishment.html" width="90%"></iframe></p>
<p>I made a couple of changes to what would be a normal calendar entry.</p>
<ul>
<li>I hard-coded the times. After I dig through the library and API a bit more, I&#039;ll probably switch these to all day events.
<li>I added &#034;ACC&#8211;&#034; to the title of the appointments (ACC for accomplishment). This way, they&#039;ll be easy to search for specifically.
<li>I used the &#034;where&#034; part of an appointment as my entry for which project the accomplishment was for.
</ul>
<p>Now, at first blush, I can&#039;t see how to specify a given calendar (and neither can lots of other people looking for it online). That would be better than a specific subject. Then, you could just search through your &#034;Accomplishments&#034; calendar, which would have nothing else on it. But, this will do to serve as a starting point.</p>
<p>Then, just to give a quick example, you can search for all appointments that contain our marker in them anywhere. It&#039;s crude, but it gets the job done.</p>
<p><b>Show Accomplishments Code:</b><br />
<iframe src="http://www.wynia.org/samplecode/GCalShowAccomplishments.html" width="90%"></iframe></p>
<p>Aside from the couple of things I&#039;m looking for in the API, it looks like Zend&#039;s implementation of the API is relatively easy to work with and would make other kinds of tracking easy as well.</p>
<p>Once integrated into browser bookmarks or desktop widgets, commandline scripts or other places, it could make quickly noting down accomplishments really easy. Once they&#039;re stored, they can be retrieved by the variety of criteria that make sense:</p>
<ul>
<li>All accomplishments for a given week, month, year.
<li>All accomplishments for a given project (which is stored in the location, like I said)
<li>With additional microformatted data in the content, you could store and retrieve all sorts of other useful bits
</ul>
<p>Of course, what I *really* want is a system that lets me keep track of projects according to who I was employed by while working on it, what technologies were used, duration, who the client was, who the managers were, etc. That would make the various forms of resume&#039;s, skills inventories, chronologies, etc. that recruiters and other consulting firms are constantly looking for. Then, the fact that they all seem to ask for slightly different formats won&#039;t be a problem.</p>
<p>I could just export it by project, listed chronologically according to employer for one and by employer, listed chronologically by project for another, while turning &#034;Target Corporation&#034; into &#034;retailer&#034; and &#034;Wells Fargo&#034; into &#034;financial institution&#034; for still another. Similarly, I could query such a system for the actual number of months using XSLT, C#, Reporting Services or whatever else I&#039;ve worked on instead of trying to do those calculations and adjust them constantly.</p>
<p>Being in the effective business of &#034;wholesale&#034; consulting, I tend to make more use of resumes and such project details than more &#034;retail&#034; consulting/freelancing consultants.</p>
<p>Does that exist out there somewhere?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/07/tracking-accomplishments-with-php-google-calendar-and-zend-framework/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The Black Hole of Procrastination</title>
		<link>http://www.wynia.org/wordpress/2007/07/the-black-hole-of-procrastination/</link>
		<comments>http://www.wynia.org/wordpress/2007/07/the-black-hole-of-procrastination/#comments</comments>
		<pubDate>Mon, 16 Jul 2007 23:45:52 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/07/16/the-black-hole-of-procrastination/</guid>
		<description><![CDATA[Photo: Steve Jurvetson
I just caught myself having a thought I&#039;ve had before. This time, however, I had a little bit of a different perspective on it and it made me realize what a black hole procrastination can be for me. Not only does procrastination mess with the task I&#039;m specifically avoiding, but it sucks down [...]]]></description>
			<content:encoded><![CDATA[<div class="flickr-illustrate" style="border: solid black 2px;padding: 3px;float:right;display: inline;font-family: Arial,Helvetica;font-style: italic;font-size: .75em;text-align: center;padding-left:5px;padding-right:3px;padding-top:5px;margin:8px;"><a href="http://www.flickr.com/photos/44124348109@N01/2438953"><img src="http://static.flickr.com/2/2438953_1dd78e99ef_m.jpg" style="border: solid black 1px;padding: 0px;margin: 0px;" border="0"></a><a class="f-i-attribution" style="text-decoration: none;color:black;display:block;font-weight:bold;text-align:right;" href="http://www.flickr.com/people/jurvetson/">Photo: Steve Jurvetson</a></div>
<p>I just caught myself having a thought I&#039;ve had before. This time, however, I had a little bit of a different perspective on it and it made me realize what a black hole procrastination can be for me. Not only does procrastination mess with the task I&#039;m specifically avoiding, but it sucks down nearly all productivity in its vicinity. Particularly troubling is the fact that I manage to avoid this problem in my billable work.</p>
<p>Here&#039;s the thought process that happens. I&#039;ll illustrate with a hypothetical instead of the real instance. Let&#039;s say, for the sake o example, that I have 5 relatively big tasks on my to do list (things like filing tax paperwork, cleaning my office, etc.). Beyond that, I have 10-20 items/projects that I think are worth doing (things like working on my memoir software or re-designing this site).</p>
<p>Now, one of the items on the big to do list is what I should be doing right now and I don&#039;t want to do it: classic procrastination scenario. However, when procrastination rears its ugly head, I often look to the &#034;B&#034; list of tasks for something to do instead. That&#039;s when the thought in question pops into my head. See, I think about doing one of those &#034;B&#034; tasks. However, I find myself deciding that I can&#039;t do one of those things, because, if I&#039;m going to *do* something, I really should just be doing the primary task. </p>
<p>This is evil because what I end up doing is essentially &#034;nothing&#034;. I not only end up avoiding the initial task, but turn down the idea of anything else off of my lists because I &#034;really should be&#034; doing that initial task instead. </p>
<p>Hopefully, by framing this thought process, I can catch myself. It worked this time, because one of the things on the &#034;B&#034; list was to write a new post on this site and here we are.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/07/the-black-hole-of-procrastination/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Forwarding Cellphone Calls to a Landline or Other Number</title>
		<link>http://www.wynia.org/wordpress/2007/06/forwarding-cellphone-calls-to-a-landline-or-other-number/</link>
		<comments>http://www.wynia.org/wordpress/2007/06/forwarding-cellphone-calls-to-a-landline-or-other-number/#comments</comments>
		<pubDate>Wed, 06 Jun 2007 10:09:35 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/06/06/forwarding-cellphone-calls-to-a-landline-or-other-number/</guid>
		<description><![CDATA[The client-site that I&#039;m working at is a cellphone black hole. Once inside the building, I have absolutely no reception. That means that if you call me at 8:30, and I don&#039;t leave for lunch, I won&#039;t know that you called until I leave at the end of the day. Given how I&#039;ve had the [...]]]></description>
			<content:encoded><![CDATA[<p>The client-site that I&#039;m working at is a cellphone black hole. Once inside the building, I have absolutely no reception. That means that if you call me at 8:30, and I don&#039;t leave for lunch, I won&#039;t know that you called until I leave at the end of the day. Given how I&#039;ve had the same cell number for 5+ years and used it as my only number for most of that, being entirely unreachable for the entire duration of the day isn&#039;t reasonable.</p>
<p>Now, after about a week, they did give me a desk phone. However, aside from internal people, I don&#039;t want to give that number out for several reasons. One is that when the contract is over, I don&#039;t want to have to update anyone with a new number. Another is that I really like just having a single phone number that I can control. I can have complete connectivity when I want/need it and can completely shut it off by just silencing the phone.</p>
<p>Except a dead zone breaks that control apart.</p>
<p>So, last night I went looking for how I could forward all of my cell calls to another number. It turns out to be fairly easy, at least for T-Mobile. These <a href="http://wiki.howardforums.com/index.php/T-Mobile_Conditional_Call_Forwarding">instructions</a> worked like a charm.</p>
<p>Basically, you just create a speed dial entry in the phone book with a name like &#034;Forward to Skype&#034; and a number like:<br />
**004*6125551234#</p>
<p>Then I set up one to &#034;Forward to TMobile&#034; which switches it back to the regular voicemail. It was really easy to set up one to point to my home phone, the desk phone onsite, Shelly&#039;s phone, etc. All I have to do is hit that speed dial as I&#039;m walking into the building and route the calls to wherever they should go.</p>
<p>Given how this stuff is all digital at this point, this is how it *should* work, but that expectation so rarely holds true that I was pleasantly surprised to find out how easy this was and how well it worked.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/06/forwarding-cellphone-calls-to-a-landline-or-other-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Your Own Tiny URL&#039;s with PHP</title>
		<link>http://www.wynia.org/wordpress/2007/05/making-your-own-tiny-urls-with-php/</link>
		<comments>http://www.wynia.org/wordpress/2007/05/making-your-own-tiny-urls-with-php/#comments</comments>
		<pubDate>Mon, 07 May 2007 00:11:40 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Other Programming]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/05/06/making-your-own-tiny-urls-with-php/</guid>
		<description><![CDATA[As I&#039;ve been using Twitter to post frivolous things that aren&#039;t worth posting as real posts here on the site, it becomes clear pretty quickly that if you want to post a URL, the 140 character limit gets in the way. The typical solution the people go to is to use something like TinyURL to [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#039;ve been <a href="http://twitter.com/jwynia">using Twitter</a> to post frivolous things that aren&#039;t worth posting as real posts here on the site, it becomes clear pretty quickly that if you want to post a URL, the 140 character limit gets in the way. The typical solution the people go to is to use something like <a href="http://tinyurl.com/">TinyURL</a> to get a shorter version.</p>
<p>While I could use that service, I decided I&#039;d rather have my own version on my server, so this afternoon, I coded up a quick solution. It consists of an .htaccess file to route everything in a directory called &#034;lnk&#034; to a PHP script. That PHP script either creates a new link or redirects you to an existing one. I also made a quick bookmarklet to make creating links quick and easy.</p>
<p>The basic idea for TinyURL and other such services is to create a short, random code and associate it with the target URL. If you use the lowercase alphabet and the numbers 0-9, minus the number &#034;1&#034; and the letter &#034;l&#034; (to avoid confusion if someone tries to type the URL), you&#039;ve got 34 posibilities in each character of the random code. For mine, I&#039;m using a 3 letter code, which has &#034;room&#034; for about 40,000 URL&#039;s before I run out. That&#039;s more than enough for me and using 3 letters leaves me with link URL&#039;s that are one character shorter than TinyURL&#039;s.  TinyURL uses a 6 character code, mostly because it&#039;s a public service, where 40,000 combinations would actually get used up fairly quickly.</p>
<p>At any rate, I used a password generating function that I had in my sample code directory to generate the codes. It just takes a number of characters the resulting code should be and gives it to you:</p>
<pre class="brush: php;">
function Random_Password($length) {
    mt_srand();
    $possible_characters = &quot;abcdefghijkmnopqrstuvwxyz234567890&quot;;
    $string = &quot;&quot;;
    while(strlen($string)&lt;$length) {
        $string .= substr($possible_characters, rand()%(strlen($possible_characters)),1);
    }
    return($string);
}
</pre>
<p>[edit: Updated the above code 2008-09-03 to take advantage of the <a href="http://wynia.org/lnk/f4t4">better random number generator</a> in PHP now.]</p>
<p>I edited the $possible_characters string to remove the 2 entries that would cause confusion and put it into the PHP script.</p>
<p>The rest of the PHP script is basically checking to see if the request is for a new link, which looks like this:</p>
<pre class="brush: jscript;">

http://wynia.org/lnk/create.php?linkurl=TARGETURL
</pre>
<p>So, it checks the SCRIPT_URL to see if it&#039;s equal to &#034;/lnk/create.php&#034;. If so, it creates a key. If it finds that it&#039;s already used the selected key, it does another one until it gets one it can use. It then creates a text file, containing the target URL and naming it according to the key. Finally, it displays the link URL.</p>
<p>If it&#039;s not a new link, it looks for the right file according to the key, loads the contents and redirects to the URL in question. If it can&#039;t find a matching file, it throws a simple error page.</p>
<pre class="brush: php;">
$url = $_SERVER['SCRIPT_URL'];
if($url == &quot;/lnk/create.php&quot;){
  $linkurl = $_GET['linkurl'];
  $shortcut = Random_Password(3);
  while(file_exists(&quot;store/$shortcut&quot;)){
    $shortcut = Random_Password(3);
  }
  file_put_contents(&quot;store/$shortcut&quot;,$linkurl);
  print(&quot;http://wynia.org/lnk/$shortcut&quot;);
} else {
  $exploded = explode(&quot;/&quot;,$url);
  $key = $exploded[2];
  if(file_exists(&quot;store/$key&quot;)){
    $destination = trim(file_get_contents(&quot;store/$key&quot;));
    header(&quot;Location: $destination&quot;);
  } else {
    print(&quot;&lt;h1&gt;Error&lt;/h1&gt;Sorry, no link for that key. &lt;br&gt;&lt;a href='http://www.wynia.org'&gt;Wynia.org&lt;/a&gt;&quot;);
  }
}
</pre>
<p>The .htaccess file just rewrites *everything* under /lnk/ to go to the index.php script:</p>
<pre class="brush: jscript;">
RewriteEngine On
RewriteRule . index.php
</pre>
<p>The bookmarklet is pretty simple too. It just escapes the current URL, and redirects over to the link creation script.</p>
<pre class="brush: jscript;">
javascript:$base = &quot;http://wynia.org/lnk/create.php?linkurl=&quot;;$encoded = escape(location.href);location.href = $base + $encoded;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/05/making-your-own-tiny-urls-with-php/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Running Vista Inside VMWare on Ubuntu</title>
		<link>http://www.wynia.org/wordpress/2007/05/running-vista-inside-vmware-on-ubuntu/</link>
		<comments>http://www.wynia.org/wordpress/2007/05/running-vista-inside-vmware-on-ubuntu/#comments</comments>
		<pubDate>Fri, 04 May 2007 09:06:25 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Hacking]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/05/04/running-vista-inside-vmware-on-ubuntu/</guid>
		<description><![CDATA[
A month or 2 ago, Geeks.com sent me another one of their emails that I should just get around to blocking. That&#039;s because they&#039;re probably one of the biggest source of revenue for my impulse tax. They don&#039;t necessarily offer the best stuff, but every one of those emails has something tempting in it.
Anyway, the [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:20px;"><a href="http://www.flickr.com/photos/jwynia/483787173/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/209/483787173_a07ec06486_m.jpg" width="240" height="192" alt="VMWareVista" /></a></div>
<p>A month or 2 ago, <a href="http://www.geeks.com">Geeks.com</a> sent me another one of their emails that I should just get around to blocking. That&#039;s because they&#039;re probably one of the biggest source of revenue for my <a href="http://www.wynia.org/wordpress/2006/12/27/cutting-down-on-impulse-spending-and-creating-outlook-appointments-with-jscriptnet/">impulse tax</a>. They don&#039;t necessarily offer the best stuff, but every one of those emails has something tempting in it.</p>
<p>Anyway, the email in question listed a &#034;debranded&#034; Compaq/HP desktop specced at a Sempron 3800+/512MB/120GB/DVD for $239. I had been thinking about setting up a VMWare host box to put all of my virtual appliances on (or at least the important ones). At the time, they were sitting on machines that really had other purposes, so the idea of a machine that just played host appealed to me.</p>
<p>I picked up one of them (and paid the impulse tax for it), installed Ubuntu and VMWare Server on it and put my email and PHP development server onto it and everything was humming along.</p>
<p>Now, given that most of my computers have been migrated to Linux as their real OS, I don&#039;t have much for Windows environments laying around. However, because I do some Windows development, I do need them. In particular, I needed a setup for *doing* that development. I&#039;ve got the WinXP home theater PC and a Windows laptop, but neither is set up for doing real development work. </p>
<p>So, I figured that a good test of this VMWare host box would be to create a virtual Windows development workstation. And, since I have no intention of buying a Vista-specific machine, but *do* need to work with the OS to ensure I keep up to date on  the platform, I figured I&#039;d make it a Vista-based workstation (yes, I like a challenge).</p>
<p>Unfortunately, the 512MB of RAM the machine came with just wasn&#039;t going to cut it, so I ordered 2GB more of RAM, which came last night. Even after buying 2GB of RAM from <a href="http://www.newegg.com">Newegg</a>, this box was still only $350 or so. Vista, on the other hand isn&#039;t cheap. However, I consider this a necessary cost of being in this industry and ordered that too.</p>
<p>The install went like any other VMWare install combined with any other Windows install. The machine boots up and is available on the network via remote desktop. I&#039;m going to be using it primarily that way, using the Terminal Services Client in Ubuntu. Incidentally, that&#039;s the best remote desktop client I&#039;ve used for RDP. When it&#039;s in full-screen mode, *everything* works like you&#039;re sitting at the remote computer: the WIN+E and other key combinations, CTRL+ALT+DEL, and all of the other stuff that efficient users of Windows workstations are likely to miss with other remote desktop connections.</p>
<p>At any rate, the machine is now running 4 virtual machines:</p>
<ul>
<li>Ubuntu Email &#8211; My IMAP/SMTP/fetchmail setup allocated 128MB of RAM.
<li>Ubuntu PHP &#8211; My PHP development server allocated 128MB of RAM.
<li>TrixBox &#8211; The PBX phone system project I&#039;m tinkering allocated 256MB of RAM.
<li>Vista Business Workstation &#8211; This new one allocated 750MB of RAM.
</ul>
<p>What&#039;s amazing is that with all 4 of those running, plus the host OS, the CPU is idling aroung 16% and despite the fact that 1.25GB of RAM has been provisioned for the running virtual machines, they and the host OS are only using 340MB of RAM together.</p>
<p>Sure, that&#039;ll go up when I start using the Vista workstation heavily, but I&#039;m just impressed with how well it all runs even at low levels of utilization. I *did* shut off all of the eye candy in Vista, which I&#039;m sure made a huge difference. That&#039;s both a performance gain and my personal preference.</p>
<p>Regardless, the fact that this $350 box is being used as: a Linux email server, a Windows workstation, a Linux PHP server and a phone system all at once is pretty cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/05/running-vista-inside-vmware-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Easy Downloading of CDBaby Sample MP3&#039;s</title>
		<link>http://www.wynia.org/wordpress/2007/04/easy-downloading-of-cdbaby-sample-mp3s/</link>
		<comments>http://www.wynia.org/wordpress/2007/04/easy-downloading-of-cdbaby-sample-mp3s/#comments</comments>
		<pubDate>Mon, 30 Apr 2007 01:26:17 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[General Internet]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Minneapolis]]></category>
		<category><![CDATA[Minnesota]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Other Programming]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/04/29/easy-downloading-of-cdbaby-sample-mp3s/</guid>
		<description><![CDATA[A couple of days ago, Garrick asked a good question that I&#039;ve wondered about myself: where can you find downloadable music from the upper midwest? I like finding new music and always get an extra bit of warm fuzzy when the artist is from Minnesota or nearby.
While the question raised some ideas about future projects, [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of days ago, Garrick asked a good question that I&#039;ve wondered about myself: where can you find <a href="http://garrickvanburen.com/archive/anyone-know-a-good-source-for-downloadin">downloadable music from the upper midwest</a>? I like finding new music and always get an extra bit of warm fuzzy when the artist is from Minnesota or nearby.</p>
<p>While the question raised some ideas about future projects, I did suggest <a href="http://www.cdbaby.com">CD Baby</a>&#039;s state-specific listings: <a href="http://cdbaby.com/places/9MN0">Minnesota</a>, <a href="http://cdbaby.com/places/9IA0">Iowa</a>, <a href="http://cdbaby.com/places/9WI0">Wisconsin</a>, <a href="http://cdbaby.com/places/9SD0">South Dakota</a>, etc. While the interface that they provide isn&#039;t great, it does underscore just how much great music is out there from EVERY area of the world.</p>
<p>CD Baby is a great idea. Make a place for artists to sell their CD&#039;s without having to go through labels. Many of the discs are way cheaper than the $15-18 in most stores and I&#039;ve bought a couple for well under the $10 that iTunes charges as well. Of course, since pretty much anyone can sell a CD there, pretty much anyone *does*, which makes the preview tracks a good idea (and just plain a good source of MP3&#039;s).</p>
<p>The tracks are all individual or by M3U playlist for streaming. The problem is that my searching for music is pretty much completely separated from my evaluation of it. I tend to find a list of artists/albums/tracks I might like, download them and listen to them later. I pretty much NEVER listen to the potentially interesting music when I find it.</p>
<p>All of that meant that to get the most out of the CD Baby sample tracks, I wanted a quick way to queue up the downloading of the tracks on a playlist. First, note that the playlist URL for an album changes (daily it looks like), so this is pretty much about downloading in the background while you&#039;re browsing the catalog, not trying to spider their entire site. What I am doing works today, but could always change.</p>
<p>At any rate, with a command prompt open (Linux, Windows or Mac doesn&#039;t matter) and a copy of <a href="http://en.wikipedia.org/wiki/Wget">wget</a> on your system path, you can make quick work of grabbing the contents of a playlist.</p>
<p>See, an M3U playlist is pretty simple, coming down to pretty much a text file of URL&#039;s to MP3 files. That just happens to be the exact thing wget is made to handle. So, the general &#034;workflow&#034; works like this:</p>
<ol>
<li>Find an album you like.
<li>Right click on the &#034;Play All Songs&#034; link above the track list and copy the link address.
<li>Go to the command prompt and type &#034;wget&#034; followed by a space and then the URL. On Linux, it can be pasted by CTRL+SHIFT+V. Hit ENTER.
<li>Note the filename of the M3U that it downloads.
<li>Run &#034;wget -i playlistname.m3u&#034; and let it run.
</ol>
<p>It will then download them all one at a time. It all works fairly well. I&#039;ve got them all downloading to a specific directory called, simply enough &#034;cdbaby&#034;. I&#039;m keeping them all under there so that I know where to go to buy the albums I like. However, I do want them organized by artist and album. It&#039;s just how I roll.</p>
<p>Fortunately, I wrote <a href="http://www.wynia.org/wordpress/2007/04/11/renaming-mp3-files-according-to-id3-tags-with-c/">code to move and rename MP3&#039;s</a> by ID3 tag a while back. Add the folder to iTunes and make another smart playlist and I can evaluate more music easily. And, with as much as I&#039;ve been working the last couple of weeks, more music is a really good thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/04/easy-downloading-of-cdbaby-sample-mp3s/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Managing Your Career with Daily Accomplishment Lists</title>
		<link>http://www.wynia.org/wordpress/2007/04/managing-your-career-with-daily-accomplishment-lists/</link>
		<comments>http://www.wynia.org/wordpress/2007/04/managing-your-career-with-daily-accomplishment-lists/#comments</comments>
		<pubDate>Fri, 20 Apr 2007 00:48:48 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/04/19/managing-your-career-with-daily-accomplishment-lists/</guid>
		<description><![CDATA[Lifehacker mentioned the idea of a &#034;did-do&#034; list instead of/in addition to a &#034;to-do&#034; list a couple of days ago. I&#039;ve been using something similar, though for other reasons than they cited.
Keeping an accomplishment list on a daily basis can be great career management. I write down the things I get done at work in [...]]]></description>
			<content:encoded><![CDATA[<p>Lifehacker <a href="http://www.lifehacker.com/software/productivity/improve-your-productivity-with-a-did+do-list-252532.php">mentioned the idea</a> of a &#034;did-do&#034; list instead of/in addition to a &#034;to-do&#034; list a couple of days ago. I&#039;ve been using something similar, though for other reasons than they cited.</p>
<p>Keeping an accomplishment list on a daily basis can be great career management. I write down the things I get done at work in a specific notebook, under a heading for the day. I don&#039;t use any special formatting, just a quick note for each thing I finish, with a dash to the left to mark the separations. If I can easily quantify how long I worked on it, I also make a note of how many hours went into it on the left.</p>
<p>This list is useful at several different levels of rollup for career management. Given how many people complain about the tasks I use this for, it might be useful.</p>
<ol>
<li>Daily timesheet. Because I&#039;m usually accountable for my time on a project and task level, this log of activities makes filling out my timesheet easier. I can include more detail in each entry
<li>Status reports in meetings. I used to work in environments where weekly status meetings were a recounting of what you had done the previous week. Having this list lets you pick out the best stuff for those meetings.
<li>Annual reviews. More relevant if you&#039;re an employee, but when it&#039;s time to discuss how well you&#039;ve done for the year (and negotiate a salary adjustment), having a complete list of what you&#039;ve done all year to pick from is a GREAT thing. I guarantee you&#039;ll find things you would have otherwise forgotten about.
<li>Consultant skills inventory. I work in an environment where my company has a &#034;resume&#034; for selling my skills to clients. The list helps in updating that when it&#039;s time.
<li>Your resume. Even if you&#039;re not looking for a job, I think everyone should update their resume at least once a year. I actually recommend doing it as soon as you file your taxes. Think of it like changing the smoke detector batteries when daylight savings time changes. In case you&#039;re not paying attention, that means it&#039;s time right about now.
</li>
</ol>
<p>Having an updated resume makes for a *better* resume because you&#039;re not trying to remember the details of a 3 year old project. It also means that should you find yourself without a job (it happens to everyone at some point) unexpectedly, you can jump right into the game. </p>
<p>Personally, I also recommend actually going on interviews every so often as well, to keep those skills sharp. This is NOT disloyalty. It&#039;s an acknowledgment that I know of no company out there that is willing to make a 45 year career commitment to provide a job to anyone from age 20-65. There&#039;s only one thing guaranteed to be part of each of those 45 years: you. As a result, you need to manage your career because no one else will.</p>
<p>And, until companies are willing to share the details of your layoff 8 months before it happens, managing it on a daily basis is the best way to ensure that you&#039;re ready on a daily, weekly, monthly, quarterly and annual basis is to keep track of the stuff you accomplish *as it happens*. </p>
<p>Besides, there&#039;s often no one around who&#039;s willing to listen to your bragging, and it can feel really good to brag, even if it&#039;s just on a sheet of paper on your desk.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/04/managing-your-career-with-daily-accomplishment-lists/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>This American Life, Ira Glass on Storytelling and Compelling Content</title>
		<link>http://www.wynia.org/wordpress/2007/04/this-american-life-ira-glass-on-storytelling-and-compelling-content/</link>
		<comments>http://www.wynia.org/wordpress/2007/04/this-american-life-ira-glass-on-storytelling-and-compelling-content/#comments</comments>
		<pubDate>Tue, 17 Apr 2007 11:06:05 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Minneapolis]]></category>
		<category><![CDATA[Minnesota]]></category>
		<category><![CDATA[Podcasting]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/04/17/this-american-life-ira-glass-on-storytelling-and-compelling-content/</guid>
		<description><![CDATA[As I&#039;ve been putting together slides to spark discussion on Saturday for the RESTful web development session at MinneBar, I&#039;ve been going back through a bunch of my bookmarks related to giving presentations, writing and communication.
In those links was a set of video clips from Ira Glass. For those who don&#039;t know, Ira Glass is [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#039;ve been putting together slides to spark discussion on Saturday for the RESTful web development session at MinneBar, I&#039;ve been going back through a bunch of my bookmarks related to <a href="http://www.presentationzen.com/">giving presentations</a>, writing and communication.</p>
<p>In those links was a set of video clips from Ira Glass. For those who don&#039;t know, Ira Glass is the guy behind the radio show, <a href="http://www.thislife.org/">This American Life</a>, which has recently branched out into <a href="http://www.sho.com/site/thisamericanlife/home.do">TV on Showtime</a> with the same approach. </p>
<p>Both shows are all about telling compelling stories. After you&#039;ve listened to or watched a few episodes, you&#039;ll likely experience the surreal disconnect of finding yourself amazed that you&#039;re so interested in a story that *shouldn&#039;t* be that interesting. Recently, someone sat down with Ira Glass and asked him the right questions, to get him to explain, in some GREAT detail, what it is that makes for that compelling storytelling experience.</p>
<p>While I definitely have a LONG way to go to integrate the principles he describes, these 4 video clips are something everyone who produces creative or communication content needs to watch. The things he says, resonate and match up really well with my experience.</p>
<p>I especially liked his discussion of the gap between taste and your skills. That&#039;s one of the things that&#039;s kept me from getting back to working on <a href="http://www.glasstoobig.com">the podcast</a>. He&#039;s right, though, that you just have to power through until that gap closes. I&#039;m thinking I may need to retool the podcast a bit after the conference and see if I can get that thing back on track.</p>
<p>At any rate, give these a look. You won&#039;t regret it.</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/n7KQ4vkiNUk"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/n7KQ4vkiNUk" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/3qmtwa1yZRM"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/3qmtwa1yZRM" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/-hidvElQ0xE"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/-hidvElQ0xE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/9blgOboiGMQ"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/9blgOboiGMQ" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/04/this-american-life-ira-glass-on-storytelling-and-compelling-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Archiving Full-Text Copies of Your Bookmarks</title>
		<link>http://www.wynia.org/wordpress/2007/03/archiving-full-text-copies-of-your-bookmarks/</link>
		<comments>http://www.wynia.org/wordpress/2007/03/archiving-full-text-copies-of-your-bookmarks/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 18:11:28 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Half-baked Ideas]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/03/07/archiving-full-text-copies-of-your-bookmarks/</guid>
		<description><![CDATA[I bookmark a LOT of stuff. Much of that is stuff that I know I&#039;m going to want to find again. Tools like del.icio.us have made this quite a bit easier. However, in order for delicious to be of use, you usually have to augment it by adding relevant tags and a description. Even then, [...]]]></description>
			<content:encoded><![CDATA[<p>I bookmark a LOT of stuff. Much of that is stuff that I know I&#039;m going to want to find again. Tools like <a href="http://del.icio.us">del.icio.us</a> have made this quite a bit easier. However, in order for delicious to be of use, you usually have to augment it by adding relevant tags and a description. Even then, 6 months later when I actually want the information, I may be looking for it under a different context than when I originally filed it.</p>
<p>Given that I don&#039;t really want to do much more than hit a keystroke to indicate that I want to keep the page for further reference, the &#034;normal&#034; way of using delicious pretty much bugs me. And, unless I use it that way, it becomes difficult to retrieve anything from. What I&#039;ve *really* wanted for a while is to just store a copy of each page I bookmark and then have full-text searching of that content. </p>
<p>In between the pain-killer fog, I thought of a quick way to accomplish this and tackled the problem with a short PHP script.</p>
<p>So, I took the basic code I wrote for <a href="http://www.wynia.org/wordpress/2007/02/01/building-a-monthly-delicious-bookmark-summary-with-php/">doing a monthly delicious summary</a> and modified it a bit. It still builds an HTML document listing the bookmarks for a given day. However, this whole setup is based off of a directory structure like this:</p>
<pre>
2007
     01
     02
     03
          01
          02
          03
          04
          05
          06
          07
</pre>
<p>Basically, a directory for each year, with months and days inside. In each day&#039;s directory is the HTML summary as well as the copies of the bookmarked pages, done via &#034;wget&#034;. This script uses the delicious API again to get the bookmarks.  The script is intended to be called via the CLI php and not run through the browser.</p>
<pre>
php bydate.php 2007-03-07
</pre>
<p>The date argument can be anything that PHP handles via strtotime(), which means that:</p>
<pre>
php bydate yesterday
</pre>
<p>will work pretty much like you&#039;d expect. That&#039;s what I&#039;m intending to use in a daily cron job. That way, every day, the server will just grab and archive my daily bookmarks for me. I&#039;m intending to put this under a full-text search like Lucene or Beagle which will give me the better kind of retrieval that I&#039;m after.</p>
<p>I&#039;m still going to have to go back through the previous days that I&#039;ve been using delicious, but that&#039;s just a matter of scripting my way back through the days and filling the archives. But, this will work going forward.</p>
<p>To use the script, you need to change the delicious username and password as well as the path to the archive. It&#039;s repeated through the script, but hey, I&#039;m recovering from surgery, so that&#039;s as much as I&#039;m willing to do to clean it up.</p>
<p>The PHP script itself is available as <a href="http://www.wynia.org/download/codesamples/delicious_daily_export.pdf">a highlighted PDF as usual</a>.</p>
<p>Now, I think it&#039;s time for a nap.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/03/archiving-full-text-copies-of-your-bookmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bang for the Buck: Do You Really Get What You Pay For?</title>
		<link>http://www.wynia.org/wordpress/2007/02/bang-for-the-buck-do-you-really-get-what-you-pay-for/</link>
		<comments>http://www.wynia.org/wordpress/2007/02/bang-for-the-buck-do-you-really-get-what-you-pay-for/#comments</comments>
		<pubDate>Wed, 28 Feb 2007 11:46:15 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/02/28/bang-for-the-buck-do-you-really-get-what-you-pay-for/</guid>
		<description><![CDATA[
I&#039;m a different kind of technology enthusiast when it comes to buying stuff. First, I NEVER buy top of the line, under any circumstances. Second, I pretty much never buy bleeding edge products. Even though I seriously love technology and gadgets, I&#039;ve got a chart in my head for every purchase that looks something like [...]]]></description>
			<content:encoded><![CDATA[<div style="float:right;margin:20px;"><a href="http://www.flickr.com/photos/jwynia/405624688/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/183/405624688_f71c99892e_m.jpg" width="240" height="177" alt="Bang for the Buck in RAM" /></a></div>
<p>I&#039;m a different kind of technology enthusiast when it comes to buying stuff. First, I NEVER buy top of the line, under any circumstances. Second, I pretty much never buy bleeding edge products. Even though I seriously love technology and gadgets, I&#039;ve got a chart in my head for every purchase that looks something like this one.</p>
<p>We&#039;ve all heard people spouting the &#034;wisdom&#034; that you get what you pay for. It&#039;s usually offered to someone who had their cheapest-product-in-category item fall apart on them. The problem with that is that the price/performance curve that the axim hints at isn&#039;t entirely straight and it <b>doesn&#039;t</b> go on forever.</p>
<p>For most products in the marketplace, especially geeky ones, there is a curve for how much you get in terms of measurable features for the money. Now, it doesn&#039;t measure things like prestige or intangible, feel-good benefits. However, I believe that if you wouldn&#039;t be happy with a purchase <a href="http://www.wynia.org/wordpress/2006/06/13/the-value-of-posessions/">unless you could tell someone</a>, you probably shouldn&#039;t buy it.</p>
<p>Regardless, to a large degree, you get more quality/features/durability, etc. (with some sloppy variations) as you climb the curve. A non-geeky example would be T-shirts. The more you spend, the better the stitching and the heavier the fabric. For $2, you get a pretty thin shirt only suitable as an undershirt. For $10, you usually get a dyed colored shirt on heavier fabric. For $15, you usually get a clever slogan or some other printing. For $30, you usually get some sort of souvenir value. However, at $50 or $100 or $500, you&#039;re pretty much only paying for a designer name, artificial scarcity or someone tacking things with an outside value (like diamonds) onto it. Thus, the curve on T-shirts probably peaks at about $30.</p>
<p>So, this curve works for a LOT of the stuff I buy and makes the purchasing decisions fairly easy. The example chart is for upgrading RAM on my home theater PC. Given the current configuration and what the parameters are for RAM that will fit, I can choose between 512MB, 1GB, 2GB or 4GB of RAM to put into the machine.</p>
<p>Here are the prices of each option at the moment:</p>
<p>512MB= $59<br />
1024MB= $98<br />
2048=$173<br />
4096=$800</p>
<p>Now, just looking at the numbers, you could probably intuit what the chart shows graphically: there&#039;s a sharp change in what you&#039;re getting for the money at 4GB. That&#039;s where the peak is. If you take the price, divided by the MB of memory it gets you, you get the chart in this article. </p>
<p>Whenever you do this, you&#039;ll find such a peak. If you buy on the left side of the peak, you usually *are* getting what you paid for. If you&#039;re buying on the right side, you&#039;re either buying to impress someone, out of a genuine need (like a custom application that runs out of memory unless it has at least 8 GB of RAM) or some other emotional need.</p>
<p>Just so no one misunderstands, everyone buys some stuff based on some emotional need. That&#039;s just part of being human. I just want to make sure that I (and anyone who will listen) is doing it consciously. Living a deliberate life is something I strive toward.</p>
<p>Back to the RAM example, I&#039;m probably going to buy the 1GB because I just don&#039;t need 2GB and 512MB isn&#039;t enough for what I&#039;m doing, but I&#039;m now confident that that&#039;s a decent decision.</p>
<p>I use this basic chart (and usually it&#039;s just in my head) to weed out the choices that shouldn&#039;t even be part of my decision. Of course, that&#039;s also why Apple&#039;s products rarely make it into the final round on a tech decision for me, but the needs and wants I&#039;m trying to fulfill with a purchase just don&#039;t result in a curve that favors Apple.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/02/bang-for-the-buck-do-you-really-get-what-you-pay-for/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Difference Between Difficult and Complicated</title>
		<link>http://www.wynia.org/wordpress/2007/02/the-difference-between-difficult-and-complicated/</link>
		<comments>http://www.wynia.org/wordpress/2007/02/the-difference-between-difficult-and-complicated/#comments</comments>
		<pubDate>Sat, 24 Feb 2007 19:54:41 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/02/24/the-difference-between-difficult-and-complicated/</guid>
		<description><![CDATA[As someone who&#039;s studied both computers (as an autodidact) and linguistics, I often tend to pay attention to the nuances of meaning found in words. One such distinction that came up this week told me that people don&#039;t necessarily understand the difference between &#034;difficult&#034; and &#034;complicated&#034;.
Both are cited as examples of why something can&#039;t be [...]]]></description>
			<content:encoded><![CDATA[<p>As someone who&#039;s studied both computers (as an <a href="http://en.wikipedia.org/wiki/Autodidacticism">autodidact</a>) and linguistics, I often tend to pay attention to the nuances of meaning found in words. One such distinction that came up this week told me that people don&#039;t necessarily understand the difference between &#034;difficult&#034; and &#034;complicated&#034;.</p>
<p>Both are cited as examples of why something can&#039;t be done. They&#039;re cited as reasons why something will be expensive. However, the objections are often aimed at the wrong one. </p>
<p>If you tell someone that the task they&#039;re asking to have done is &#034;difficult&#034;, they&#039;ll go on and on about its simplicity, which only addresses *complexity*. Similarly, when you tell them it&#039;s really complex, they&#039;ll argue about how &#034;all&#034; that has to be done is to assemble each of the 15,000 components. </p>
<p>Difficulty is usually a measure of your endurance, your will, your fortitude and generally your commitment to following through on the task. These things are difficult, but simple.</p>
<ul>
<li>Run a marathon. Just put one foot in front of the other, for 26 miles straight.
</li>
<li>Lose weight. Eat less and exercise more than your base metabolism needs.
</li>
<li>Save enough money for retirement. Max out your 401K in an index fund for the duration of your 45 year career.
</li>
</ul>
<p>Difficult tasks have us fighting our impulses, our emotional needs, our desires and our limits. </p>
<p>Complication is a measure of the number of steps, components and elements involved in the problem. These things are complicated, but easy.</p>
<ul>
<li>Assembling a bicycle. Lots of little parts, but anyone who follows the instructions is fine.
</li>
<li>Getting a Linux system running. Lot of steps, but each is well documented via a Google search.
</li>
</ul>
<p>There are things that are *both*, but it&#039;s obvious to me that when something is one or the other, the reasons for why it will take a long time or be expensive are entirely different.</p>
<p>And, if someone is facing a *difficult* task, any encouragement should take the form of helping with their fortitude, not the logistics.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/02/the-difference-between-difficult-and-complicated/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>My Newly Discovered Secret for Increased Email Productivity</title>
		<link>http://www.wynia.org/wordpress/2007/02/my-newly-discovered-secret-for-increased-email-productivity/</link>
		<comments>http://www.wynia.org/wordpress/2007/02/my-newly-discovered-secret-for-increased-email-productivity/#comments</comments>
		<pubDate>Fri, 23 Feb 2007 11:57:00 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/02/23/my-newly-discovered-secret-for-increased-email-productivity/</guid>
		<description><![CDATA[Earlier in the week, I added Pine support to my VMWare-based Ubuntu email server. That email server is now sitting on my Ubuntu *workstation* at home in the VMWare environment. As such, I now connect to it remotely. 
So, I added Pine to the mix for a couple of reasons: low bandwidth, nostalgia for when [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier in the week, I added <a href="http://www.washington.edu/pine/">Pine</a> support to my VMWare-based Ubuntu email server. That email server is now sitting on my Ubuntu *workstation* at home in the VMWare environment. As such, I now connect to it remotely. </p>
<p>So, I added Pine to the mix for a couple of reasons: low bandwidth, nostalgia for when it was my only real option for reading email, and for its potential as a <a href="http://ii.best.vwh.net/internet/messaging/pine/pc/">really powerful email productivity enhancer</a>.</p>
<p>However, I had been looking more at the filtering and tagging capabilities as the source of the productivity, only to find a secret that I probably knew all along, but never was willing to admit to being true.</p>
<p>See, Pine doesn&#039;t have a preview pane. You see a list of message subjects, senders, dates and statuses. To read a message, you have to make a deliberate decision that an email is worth reading.</p>
<p>That tiny little speedbump has been the key to seriously increased speed in going through my inbox. I, like lots of other digitally connected folks, am subscribed to quite a few discussion lists. I *dramatically* prefer them to online forums (that&#039;s a post for another day) and they&#039;re often the best source of support for software or other niche topics. </p>
<p>However, when I&#039;ve got a preview pane in your email client and every message opens, even if just for a split second, before you delete it, I tend to get sucked into reading it.</p>
<p>On Pine (and I&#039;ve since verified that my instinct is the same on other email clients under similar conditions), because there&#039;s no preview pane, I delete those threads that I&#039;m not interested in. When it&#039;s there, I read them and *then* delete.</p>
<p>When I&#039;m in the &#034;subject-only&#034; mode, I find myself going to the email client out of that habit that we all sort of develop. However, there&#039;s nothing new there and I&#039;m actually dealing with the *important* ones instead of just the new ones, which is a shift I can feel in my gut.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/02/my-newly-discovered-secret-for-increased-email-productivity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lifehack: Back to Getting Up Early</title>
		<link>http://www.wynia.org/wordpress/2007/02/lifehack-back-to-getting-up-early/</link>
		<comments>http://www.wynia.org/wordpress/2007/02/lifehack-back-to-getting-up-early/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 11:30:08 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Cognitive Psychology]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/02/08/lifehack-back-to-getting-up-early/</guid>
		<description><![CDATA[Over the past few months, my habit of getting up early has been broken. I&#039;ve gradually dropped more and more days out of the week until I was pretty much getting up the same time Shelly does: 6:00am on weekdays and 7-9am on weekends. Given that getting up early (5am, 7 days a week) was [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few months, my habit of getting up early has been broken. I&#039;ve gradually dropped more and more days out of the week until I was pretty much getting up the same time Shelly does: 6:00am on weekdays and 7-9am on weekends. Given that getting up early (5am, 7 days a week) was responsible for me getting ahead on projects, a general sense of well-being, lower levels of stress, etc., you can imagine what this trend has meant for my mental health. </p>
<p>I&#039;ve gradually also had to shift my starting time at work later. Which means staying later. Which means getting home later. Which means eating dinner later. Which means sitting down in the evening to relax later. All of which means bedtime comes sooner.</p>
<p>Finally sick of the whole vicious cycle, yesterday I decided to start getting up early again. However, rather than pick an arbitrary start time, I wanted to make the change empirically. Given what I&#039;ve learned about sleep cycles, there&#039;s a natural rhythm, the end of which flushes out the sedatives your body naturally produces to keep you from moving too much during the dreaming phase. If you wake up at the end of one of these ~90 minute cycles, you are able to get up fairly easily. However, if you wake in the middle of a cycle, you&#039;ll feel pretty dang groggy until your system clears out.</p>
<p>Unfortunately, I think part of what broke the habit for me was that my schedule left 5:00am as being in the middle of a cycle instead of at the end of one. I&#039;d get up at 5:00 and have to fight to wake up. Given my aversion to mornings in the first place, that was a combination punch that knocked me out.</p>
<p>However, over the last few weeks, I&#039;d noticed that, during my normal short wakeups during the night, I was seeing consistent times on the alarm clock. Those times matched up with about 90 minute-divisible times from when I went to bed +/- 20 minutes for when I fell asleep. I rarely sleep through the night and usually wake up 2-3 times, though only for a couple of minutes.</p>
<p>Figuring that I&#039;d eventually want to get back to early mornings, I made a note on a pad on the nightstand for when we went to bed and the wakeup time nearest 5:00am. I never once saw anything within a half-hour of 5:00am, which made it abundantly clear why that time wasn&#039;t working for me. However, I did see a pretty consistent pattern: 4:24, 4:28, 4:22, 4:34, etc.</p>
<p>So, yesterday morning, I set the alarm for 4:30am and muttered under my breath about the insanity of that time (which I used to say should only come once a day). I woke up at 4:29 and rolled over to see the clock flip and the radio turn on. This morning, I rolled over at 4:27 and just shut it off and got up.</p>
<p>Yesterday, I felt 10x better than I&#039;ve felt in months. I was alert all day, had better focus and the day was SO much longer. This morning I&#039;m wide awake and have none of the morning &#034;grog&#034; that I&#039;d gotten used to again. I remember why I was getting up early before and really need to stick with this.</p>
<p>It&#039;s become clear to me, based on my own methodical look at this problem in my own life that the *duration* of the sleep isn&#039;t as critical <b>for me, at least</b> as the rhythm. There seems to be some science to back that up as well. I feel WAY better on 4 even cycles equaling 6 hours than I do on 8 hours in 5 1/3 cycles. </p>
<p>I suspect that the conventional wisdom of &#034;you need to get 8 hours of sleep&#034; is targeted at a 7.5 hour sleep time (5 cycles) and padded for the time to fall asleep. However, I also know that if I go 6 or 7 cycles, I&#039;m more tired than if I go 4, so there&#039;s something less than straightforward about this whole science.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/02/lifehack-back-to-getting-up-early/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Alternate IMAP Solution for PHP: PEAR Net_IMAP</title>
		<link>http://www.wynia.org/wordpress/2007/02/alternate-imap-solution-for-php-pear-net_imap/</link>
		<comments>http://www.wynia.org/wordpress/2007/02/alternate-imap-solution-for-php-pear-net_imap/#comments</comments>
		<pubDate>Mon, 05 Feb 2007 02:16:27 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Hacking]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/02/04/alternate-imap-solution-for-php-pear-net_imap/</guid>
		<description><![CDATA[I&#039;m still not sure exactly why my new VMWare mail server&#039;s setup for IMAP email doesn&#039;t get along with PHP&#039;s main IMAP extension. However, when it didn&#039;t want to cooperate, I took a chance and went over to PEAR to see if there was a solution there for doing IMAP without or augmenting the main [...]]]></description>
			<content:encoded><![CDATA[<p>I&#039;m still not sure exactly why my new VMWare mail server&#039;s setup for IMAP email doesn&#039;t get along with PHP&#039;s <a href="http://us3.php.net/imap">main IMAP extension</a>. However, when it didn&#039;t want to cooperate, I took a chance and went over to <a href="http://pear.php.net/">PEAR</a> to see if there was a solution there for doing IMAP without or augmenting the main extension.</p>
<p>Fortunately for me, not only was there a PEAR module for IMAP: <a href="http://pear.php.net/package/Net_IMAP">Net_IMAP</a>, but it actually works with my Courier IMAP implementation and handles the Thunderbird IMAP keywords as well. Even better, the documentation available is in my favorite form: a <a href="http://cvs.php.net/viewvc.cgi/pear/Net_IMAP/docs/test_IMAP.php?view=markup">long list of sample code</a>.</p>
<p>It works much like the regular extension. The search is still powered by the standard SQL-like IMAP search language, so the queries in my existing IMAP cleanup scripts work unmodified. </p>
<p>To test things out, I wrote a cleanup script that grabs my &#034;red&#034; email and moves it to an &#034;important&#034; folder:<br />
<code><br />
require_once 'Net/IMAP.php';<br />
$imap= new  Net_IMAP($host,$port);<br />
$ret = $imap->login( $user , $passwd);<br />
$imap->selectMailbox('inbox');<br />
$important = $imap->search("UNDELETED KEYWORD \"\$Label1\"");<br />
$imap->copyMessages("INBOX.important",$important);<br />
$imap->deleteMessages($important);<br />
$imap->expunge();<br />
</code></p>
<p>I expanded it to also delete &#034;purple&#034;, archive &#034;orange&#034;, mark everything in &#034;important&#034; as &#034;unread&#034; (this keeps the number of unanswered emails in my face), etc. This way, my inbox is always empty and stuff can&#039;t easily fall through the cracks. I use the color coding instead of deleting the emails myself because it actually takes Thunderbird about 2-3 times longer to delete a message as mark it &#034;purple&#034;. I can whip through a mailbox in no time with my hand over the numbers and the &#034;n&#034; key for &#034;Next&#034; and just let the cleanup script take care of it every time fetchmail runs.</p>
<p>So now, every 15 minutes, it grabs all of my incoming mail and shuffles through all of my mailboxes and organizes things based on the IMAP keywords I&#039;ve noted on each item.</p>
<p>Also intriguing in the PEAR module is the functionality to just inject a new message into the mailbox without it actually going through an SMTP server anywhere. This really caught my eye as I&#039;m looking to move my RSS reading setup to the virtual email server. I&#039;m currently actually *sending* each post via SMTP. True, it&#039;s still just to the same machine, but I&#039;d much rather just shove the post into the IMAP mailbox directly.</p>
<p>After a month or so, I may end up using the injection to put batch reminders of older unanswered emails in as new email, etc. It&#039;s sort of a forced review from the GTD setup (which extends my efforts to integrate GTD better into my setup with Jello.Dashboard for Outlook). Now if only Outlook supported the IMAP keywords as easily.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/02/alternate-imap-solution-for-php-pear-net_imap/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cleaning Up My Handwriting: The End of an Unannounced Challenge</title>
		<link>http://www.wynia.org/wordpress/2007/01/cleaning-up-my-handwriting-the-end-of-an-unannounced-challenge/</link>
		<comments>http://www.wynia.org/wordpress/2007/01/cleaning-up-my-handwriting-the-end-of-an-unannounced-challenge/#comments</comments>
		<pubDate>Mon, 29 Jan 2007 02:28:38 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2007/01/28/cleaning-up-my-handwriting-the-end-of-an-unannounced-challenge/</guid>
		<description><![CDATA[I have horrible penmanship. It&#039;s always been horrible. Back in elementary school, when it sat on my report cards along with things like &#034;gets along with others&#034;, my otherwise glowing grades and &#034;Exceeds Expectations&#034; was a glaring exception. Under penmanship, it pretty much always read: &#034;Needs Improvement&#034;.
Eventually, they stopped grading me on it, but from [...]]]></description>
			<content:encoded><![CDATA[<p>I have horrible penmanship. It&#039;s always been horrible. Back in elementary school, when it sat on my report cards along with things like &#034;gets along with others&#034;, my otherwise glowing grades and &#034;Exceeds Expectations&#034; was a glaring exception. Under penmanship, it pretty much always read: &#034;Needs Improvement&#034;.</p>
<p>Eventually, they stopped grading me on it, but from there it actually got worse. As I entered college and had nearly everything carrying a requirement of being typed, it both continued to get worse when I actually did write things down (because no one else was reading it and criticizing it) and the culture surrounding me enabled me to keep heading further and further down this path.</p>
<p>I started feeling more exposed recently when I wanted to hand-write some thank you notes and write a paragraph in a birthday card. It&#039;s downright embarrassing and, with the 1st of the year, I decided to do something about it. </p>
<p>I wasn&#039;t sure how far I&#039;d get on it and so I didn&#039;t mention it on this site. Similarly, despite being convinced of the benefits of doing this, and feeling embarrassed by what I had, I still felt *really* weird doing penmanship exercises. I pretty much kept my activities on this under wraps for all of January.</p>
<p>After looking at some of the materials online and in books for teaching handwriting, I ended up working on something fairly close to &#034;standard&#034; <a href="http://briem.ismennt.is/4/4.1.1a/4.1.1.1.quick.htm">italic handwriting</a>. It seemed the most reasonable approach for an adult to take. It doesn&#039;t have nearly as many wasted strokes as the cursive I was taught as a kid, but still made the kinds of connections I was already making between letters in my chicken scratching.</p>
<p>I put in about 2 hours each weekend and made an attempt to use my &#034;new&#034; writing whenever I needed to write something down during the month.</p>
<p>A month or so into this, I thought I&#039;d share my results. At the moment, it&#039;s not as neat as it can be when writing REALLY slowly, but the samples were written fast enough to be useful in real life. That means that I can write like the &#034;After&#034; for real at this point.</p>
<p>Here&#039;s the text I used for my before and after samples. It&#039;s a poem by Stephen Crane that I&#039;ve always liked.</p>
<blockquote><p>
In the desert<br />
I saw a creature, naked, bestial,<br />
Who, squatting upon the ground,<br />
Held his heart in his hands,<br />
And ate of it.<br />
I said: &#034;Is it good, friend?&#034;<br />
&#034;It is bitter &#8211; bitter,&#034; he answered;<br />
&#034;But I like it<br />
Because it is bitter,<br />
And because it is my heart.&#034;<br />
-Stephen Crane
</p></blockquote>
<p>Here&#039;s what my handwriting looked like at the beginning of the year.</p>
<p><a href="http://www.flickr.com/photos/jwynia/372790928/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/175/372790928_71b4f25374.jpg" width="446" height="500" alt="My Handwriting &quot;Before&quot;" /></a></p>
<p>You can imagine how difficult it is to read that 6 months or a year after you write it down. The letters aren&#039;t the same from word to word, some are on top of others, and others are little more than slightly darker spots on a line.</p>
<p>And, here&#039;s what it looks like now after 30 days of working on it. I used a book I picked up at Amazon: <a href="http://www.amazon.com/gp/redirect.html%3FASIN=0876781180%26tag=phpgeek-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0876781180%253FSubscriptionId=0EMV44A9A5YT1RVDGZ82" title="View product details at Amazon">Write Now: The Complete Program For Better Handwriting</a> as the guide for practice. It felt a bit silly as an adult to be tracing letters, but I think it was good for retraining the muscles.</p>
<p><a href="http://www.flickr.com/photos/jwynia/372790877/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/163/372790877_7214fe13e6.jpg" width="425" height="500" alt="My Handwriting &quot;After&quot;" /></a></p>
<p>I&#039;m still going to keep working on it a bit here and there as an ongoing project. Given that it&#039;s now no longer humiliating to share handwritten notes and those of you who have to stare at a whiteboard that I&#039;m writing on are no longer subject to the punishing experience you were before, I think further increases in speed and legibility are definitely feasible. I&#039;ve also got plenty of room for training the muscle memory for words I&#039;m not used to writing regularly.</p>
<p>Overall, this is one of the better 30 Day Challenges I&#039;ve done. I&#039;m really happy with the results.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2007/01/cleaning-up-my-handwriting-the-end-of-an-unannounced-challenge/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Cutting Down on Impulse Spending and Creating Outlook Appointments with JScript.NET</title>
		<link>http://www.wynia.org/wordpress/2006/12/cutting-down-on-impulse-spending-and-creating-outlook-appointments-with-jscriptnet/</link>
		<comments>http://www.wynia.org/wordpress/2006/12/cutting-down-on-impulse-spending-and-creating-outlook-appointments-with-jscriptnet/#comments</comments>
		<pubDate>Wed, 27 Dec 2006 23:45:00 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Other Programming]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2006/12/27/cutting-down-on-impulse-spending-and-creating-outlook-appointments-with-jscriptnet/</guid>
		<description><![CDATA[Photo: Tim Boyd
Every year around Christmas, Shelly and I observe a financial moratorium until the gift-giving is over. This is due in large part to the fact that we don&#039;t spend all that much on gifts for each other. We&#039;re usually giving a few books/DVD&#039;s, etc. and one fairly nice item per year. Because those [...]]]></description>
			<content:encoded><![CDATA[<div class="flickr-illustrate" style="border: solid black 2px;padding: 3px;float:right;display: inline;font-family: Arial,Helvetica;font-style: italic;font-size: .75em;text-align: center;padding-left:5px;padding-right:3px;padding-top:5px;margin:8px;"><a href="http://www.flickr.com/photos/35756245@N00/183768940"><img src="http://static.flickr.com/56/183768940_439fa806bf_m.jpg" style="border: solid black 1px;padding: 0px;margin: 0px;" border="0"/></a><a class="f-i-attribution" style="text-decoration: none;color:black;display:block;font-weight:bold;text-align:right;" href="http://www.flickr.com/people/dyobmit/">Photo: Tim Boyd</a></div>
<p>Every year around Christmas, Shelly and I observe a financial moratorium until the gift-giving is over. This is due in large part to the fact that we don&#039;t spend all that much on gifts for each other. We&#039;re usually giving a few books/DVD&#039;s, etc. and one fairly nice item per year. Because those smaller items are the kind of thing we tend to just buy throughout the year, we stop around the holidays. That prevents us from buying something as a gift only to watch the other buy it for themselves while it&#039;s sitting wrapped under the tree (who am I kidding? I wrapper gifts 2 hours before we opened them).</p>
<p>At any rate, we&#039;re in the middle of one of those because *my* side of the family won&#039;t be celebrating Christmas until February. We usually celebrate on New Year&#039;s Day (makes the scheduling with lots of families work better), but my sister is in Jamaica working at an orphanage through January.</p>
<p>Anyway, now that the exposition has gone on for days, I&#039;m getting to my point. With my non-necessary spending on hold, except for buying of gifts for others, I&#039;ve really noticed a jump in my personal account balances. My personal accounts are really only for my personal debt (college loans and anything Shelly wouldn&#039;t be willing to help pay for), food and stuff I want to buy. The first 2 items are relatively stable and the rest usually gets spent pretty much as I feel like it.</p>
<p>But, like I said, when there was a restriction placed on that spending, I was really surprised how fast the remaining cash piled up. Clearly, my impulse spending on stuff I could argue as non-necessary could use some reining in.</p>
<p>So, here&#039;s the lifehack I&#039;ve come up with, complete with software assistance.</p>
<p>I see my problem as being able to buy stuff I don&#039;t need without any natural restriction. I make pretty decent money and if I feel like buying a $100 gadget, I just do it. When I was in college and early in my professional life, there was a natural restriction on that behavior: an empty bank account. When you stare at the ATM saying your balance is $18.00 and you can&#039;t get out a $20, you aren&#039;t just going to buy whatever you feel like.</p>
<p>This is similar to having a natural boundary on your eating because you work a physically active job. The hard work regulates most of your bad eating habits. However, remove the natural boundary and you will either have to replace the boundary with something else (like discipline) or you&#039;ll end up in weight trouble.</p>
<p>So, I need to institute boundaries for this kind of spending. The necessity spending isn&#039;t the problem, so the first step is to separate out those purchases. Any &#034;bills&#034; are out as are my lunches, etc. True, it&#039;s a very &#034;American&#034; view of &#034;necessary&#034;, but I&#039;m just after continuing the pragmatic change I&#039;ve already seen this month and that definition will do for those purposes. Basically, anything that I&#039;d be willing to defend to other people as actually needing it will be exempt from this process. Everything else now has a gatekeeper.</p>
<p>What I&#039;m going to do is a combination of discipline and economic disincentives. When I&#039;m hovering over the &#034;Buy It Now&#034; button for something on impulse, I need to delay the purchase. To enforce that, I&#039;m instituting a 30% &#034;impulse tax&#034; on myself. If I buy, say a book that costs $10, without delaying the purchase, I have to also put $3 into my savings account. If I delay the purchase one week, the tax drops to 15% and down to 5% the following week.</p>
<p>This adds some pain to making an immediate purchase while actually benefiting my long-term purchase goals. I&#039;m basing it on a downward-sliding scale because I&#039;m theorizing that by 3 weeks out from the impulse, lots of the stuff I wanted isn&#039;t going to be nearly as desirable and I&#039;m just going to skip the purchase.</p>
<p>To actually handle the delay, I wrote a little utility in JScript.NET. I&#039;m going to add it to my Autohotkey startup and link it to the Win+P key combination. When it&#039;s run, it asks what I&#039;m thinking about purchasing, how much it costs and where I intend to buy it. Then, it adds an appointment to my Outlook calendar (tested on Outlook 2007 Beta, but should work on older versions too) one week from &#034;today&#034; at 8:00AM with a reminder on it.</p>
<p>When the reminder goes off, I can either:</p>
<ul>
<li>Buy the item and pay the impulse tax
</li>
<li>Delete the reminder and move on because the item wasn&#039;t actually worth buying.
</li>
<li>Move it out another week and make a note of it.
</li>
</ul>
<p>This also gave me an opportunity to mess with JScript.NET, which I&#039;m really starting to enjoy. It&#039;s a nice blend of pragmatic compromises which makes it nice for these little hacks/tools. It compiles to regular .NET exe, but doesn&#039;t require all of the overhead of being forced to create a &#034;main&#034; class and method for a single-task console app like this. In short, you can write it like Javascript, but get the power of .NET.</p>
<p>At any rate, you can see the code in <a href="http://www.wynia.org/download/delayedpurchase/delayedpurchase.pdf">this PDF</a>. It&#039;s a syntax-highlighted export from Scite. If you want the code itself or the compiled exe, you can <a href="http://www.wynia.org/download/delayedpurchase/delayedpurchase.zip">download the zip file</a>. To compile it, you need the .NET SDK, which includes the Javascript compiler. Once that&#039;s in place, you just run:<br />
<code><br />
jsc delayedpurchase.js<br />
</code><br />
and it will spit out the .exe.</p>
<p>The PDF and the source code are *heavily* commented and should explain the details you need to use this as an example for any Outlook appointment creation you may want to do.</p>
<p>Also, because of the dependency on Outlook, it should go without saying that, despite there being a JScript compiler for Mono on Linux, this won&#039;t work there. But, if I don&#039;t say it, someone will ask, so there it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2006/12/cutting-down-on-impulse-spending-and-creating-outlook-appointments-with-jscriptnet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Portable Apps for Windows</title>
		<link>http://www.wynia.org/wordpress/2006/11/portable-apps-for-windows/</link>
		<comments>http://www.wynia.org/wordpress/2006/11/portable-apps-for-windows/#comments</comments>
		<pubDate>Thu, 02 Nov 2006 01:44:02 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2006/11/01/portable-apps-for-windows/</guid>
		<description><![CDATA[Photo: Roman Pinzon-Soto
Since early this year, I&#039;ve been carrying a 60GB hard drive with me to work and back. It&#039;s been a great way to keep not just documents handy, but video, music, VMWare virtual machines, etc. 
I&#039;ve had one or two portable apps running on the drive where I want to have the same [...]]]></description>
			<content:encoded><![CDATA[<div class="flickr-illustrate" style="border: solid black 2px;padding: 3px;float:right;display: inline;font-family: Arial,Helvetica;font-style: italic;font-size: .75em;text-align: center;padding-left:5px;padding-right:3px;padding-top:5px;margin:8px;"><a href="http://www.flickr.com/photos/24657869@N00/153893023"><img src="http://static.flickr.com/58/153893023_fe8f689759_m.jpg" style="border: solid black 1px;padding: 0px;margin: 0px;" border="0"/></a><a class="f-i-attribution" style="text-decoration: none;color:black;display:block;font-weight:bold;text-align:right;" href="http://www.flickr.com/people/ninjanoodles/">Photo: Roman Pinzon-Soto</a></div>
<p>Since early this year, I&#039;ve been carrying a 60GB hard drive with me to work and back. It&#039;s been a great way to keep not just documents handy, but video, music, VMWare virtual machines, etc. </p>
<p>I&#039;ve had one or two portable apps running on the drive where I want to have the same settings, etc. on every computer I go to. Then, I discovered a <a href="http://www.theinfobox.com/index.php/Portable_USB_Apps">really nice package of portable apps</a> for Windows. It includes all kinds of really useful utilities across the spectrum from network utils to media tools and office apps.</p>
<p>Now, I&#039;ve pretty much got at least one app from this collection running at all times. I now don&#039;t have to set up all of my putty session settings, FTP settings and other site configurations over and over and over again on every computer I use. I just plug in and away I go.</p>
<p>And, on a related note, I will definitely be using InstallPad, which <a href="http://www.lifehacker.com/software/downloads/geek-to-live-automatically-download-and-install-your-favorite-software-211373.php">showed up on Lifehacker</a> to build up a list of the non-portable stuff. It removes the pain of having to track down all of that stuff you forget about how dependent you are on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2006/11/portable-apps-for-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daylight Savings High Holy Day: Time to Sleep or a Time for Resolutions</title>
		<link>http://www.wynia.org/wordpress/2006/10/daylight-savings-high-holy-day-time-to-sleep-or-a-time-for-resolutions/</link>
		<comments>http://www.wynia.org/wordpress/2006/10/daylight-savings-high-holy-day-time-to-sleep-or-a-time-for-resolutions/#comments</comments>
		<pubDate>Sat, 28 Oct 2006 13:30:01 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[Exercise]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2006/10/28/daylight-savings-high-holy-day-time-to-sleep-or-a-time-for-resolutions/</guid>
		<description><![CDATA[Photo: Bruce
This weekend, we again revisit the high holy day on my calendar. It sits in my favorite month of the year (though it&#039;s now sadder that my grandma has passed), with Sit on Your Ass and Watch Movies Day, fantastic weather, Halloween and the 25 hour day.
Digressions aside, the 25 hour day is usually [...]]]></description>
			<content:encoded><![CDATA[<div class="flickr-illustrate" style="border: solid black 2px;padding: 3px;float:right;display: inline;font-family: Arial,Helvetica;font-style: italic;font-size: .75em;text-align: center;padding-left:5px;padding-right:3px;padding-top:5px;margin:8px;"><a href="http://www.flickr.com/photos/35423169@N00/33016277"><img src="http://static.flickr.com/21/33016277_6208ea3209_m.jpg" style="border: solid black 1px;padding: 0px;margin: 0px;" border="0"/></a><a class="f-i-attribution" style="text-decoration: none;color:black;display:block;font-weight:bold;text-align:right;" href="http://www.flickr.com/people/superfantastic/">Photo: Bruce</a></div>
<p>This weekend, we again revisit the <a href="http://www.wynia.org/wordpress/2005/10/28/high-holy-day-daylight-savings-fall-adjustment/">high holy day on my calendar</a>. It sits in my favorite month of the year (though it&#039;s now sadder that my grandma has passed), with Sit on Your Ass and Watch Movies Day, fantastic weather, Halloween and the 25 hour day.</p>
<p>Digressions aside, the 25 hour day is usually used by most folks to sleep in on Sunday. However, consider the possibility of using the day as a much better starting point for what usually end up as New Year&#039;s Resolutions. After all, if you&#039;ve been wanting to start getting up earlier, what better day than one where it *isn&#039;t* earlier to your body. Use the extra hour to start exercising, because you aren&#039;t giving up even a single minute of your normal 24 hour day. </p>
<p>What else?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2006/10/daylight-savings-high-holy-day-time-to-sleep-or-a-time-for-resolutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking to Learn Some Spanish</title>
		<link>http://www.wynia.org/wordpress/2006/10/looking-to-learn-some-spanish/</link>
		<comments>http://www.wynia.org/wordpress/2006/10/looking-to-learn-some-spanish/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 00:58:21 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Books and Reading]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2006/10/25/looking-to-learn-some-spanish/</guid>
		<description><![CDATA[Photo: Steve Bridger
I&#039;m interested in learning Spanish and am wondering for recommendations on tools to help me do it. I know that all of the experts and experience point to the absolute best way to learn a language being to be completely immersed into it. However, that&#039;s not remotely feasible any time in the next [...]]]></description>
			<content:encoded><![CDATA[<div class="flickr-illustrate" style="border: solid black 2px;padding: 3px;float:right;display: inline;font-family: Arial,Helvetica;font-style: italic;font-size: .75em;text-align: center;padding-left:5px;padding-right:3px;padding-top:5px;margin:8px;"><a href="http://www.flickr.com/photos/62457680@N00/544805"><img src="http://static.flickr.com/1/544805_22619e369d_m.jpg" style="border: solid black 1px;padding: 0px;margin: 0px;" border="0"/></a><a class="f-i-attribution" style="text-decoration: none;color:black;display:block;font-weight:bold;text-align:right;" href="http://www.flickr.com/people/mexicanwave/">Photo: Steve Bridger</a></div>
<p>I&#039;m interested in learning Spanish and am wondering for recommendations on tools to help me do it. I know that all of the experts and experience point to the absolute best way to learn a language being to be completely immersed into it. However, that&#039;s not remotely feasible any time in the next year or 2.</p>
<p>I took some German, som French and some Latin going through high school and college, and my degree is in English (with a lot of linguistics) so learning another language isn&#039;t entirely new territory for me. However, this time I&#039;m aiming to learn more on my own as I&#039;m not really looking to take a formal class or dropping $300 on CD&#039;s/software.</p>
<p>So, I&#039;m looking for a little help filtering out the myriad of choices in tackling this particular task. One of the things I&#039;m looking for most is a decent way to build vocabulary. I&#039;ve used paper flashcards in the past, but would rather have something digital if I can find it. Any recommended software, PDF&#039;s, sites, etc as well as any books would be greatly appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2006/10/looking-to-learn-some-spanish/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wanting to Have Done</title>
		<link>http://www.wynia.org/wordpress/2006/10/wanting-to-have-done/</link>
		<comments>http://www.wynia.org/wordpress/2006/10/wanting-to-have-done/#comments</comments>
		<pubDate>Fri, 20 Oct 2006 00:56:33 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[Essays and Rants]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Writing]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2006/10/19/wanting-to-have-done/</guid>
		<description><![CDATA[If you&#039;ve had a conversation with me by phone or in person in the last few months, you&#039;ve probably heard me use the phrase or a derivative of &#034;wanting to have done&#034; rather than &#034;wanting to do&#034;. This is a shorthand that&#039;s been useful in helping me understand my motivations and whether I&#039;m being honest [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#039;ve had a conversation with me by phone or in person in the last few months, you&#039;ve probably heard me use the phrase or a derivative of &#034;wanting to have done&#034; rather than &#034;wanting to do&#034;. This is a shorthand that&#039;s been useful in helping me understand my motivations and whether I&#039;m being honest with myself. It&#039;s also something I&#039;ve been pushing other people to consider.</p>
<p>For instance, most people don&#039;t want to restrict their eating and add exercise, but they want <b>to have done</b> these things and reap the rewards.</p>
<p>People want <b>to have done</b> the work to improve their careers. Want <b>to have done</b> the years of practice to become a world-class athlete. Want <b>to have read</b> the dense, great works of literature, but not give up their TV time. Want <b>to have written</b> the great American novel, but not spend the immense number of hours slaving over the keyboard.</p>
<p>So, the next time you&#039;re saying that you &#034;want&#034; to do something, ask yourself, do I want to <b>do</b> or <b>have done</b>?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2006/10/wanting-to-have-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 Power Tips for Getting More Out of Firefox Bookmarks</title>
		<link>http://www.wynia.org/wordpress/2006/09/5-power-tips-for-getting-more-out-of-firefox-bookmarks/</link>
		<comments>http://www.wynia.org/wordpress/2006/09/5-power-tips-for-getting-more-out-of-firefox-bookmarks/#comments</comments>
		<pubDate>Tue, 12 Sep 2006 10:25:15 +0000</pubDate>
		<dc:creator>J Wynia</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[General Internet]]></category>
		<category><![CDATA[Lifehack]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.wynia.org/wordpress/2006/09/12/5-power-tips-for-getting-more-out-of-firefox-bookmarks/</guid>
		<description><![CDATA[Photo: John
While bookmarks or favorites have been part of pretty much every browser from the beginning, the same functionality is generally used for all 3 normal uses of &#034;bookmarks&#034;:

I like this page and want to be able to find it again at some point in the future.

I visit this page regularly.

Do something with the page [...]]]></description>
			<content:encoded><![CDATA[<div class="flickr-illustrate" style="border: solid black 2px;padding: 3px;float:right;display: inline;font-family: Arial,Helvetica;font-style: italic;font-size: .75em;text-align: center;padding-left:5px;padding-right:3px;padding-top:5px;margin:8px;"><a href="http://www.flickr.com/photos/34017702@N00/12852539"><img src="http://static.flickr.com/11/12852539_94cf73f48d_m.jpg" style="border: solid black 1px;padding: 0px;margin: 0px;" border="0"/></a><a class="f-i-attribution" style="text-decoration: none;color:black;display:block;font-weight:bold;text-align:right;" href="http://www.flickr.com/people/dcjohn/">Photo: John</a></div>
<p>While bookmarks or favorites have been part of pretty much every browser from the beginning, the same functionality is generally used for all 3 normal uses of &#034;bookmarks&#034;:</p>
<ol>
<li>I like this page and want to be able to find it again at some point in the future.
</li>
<li>I visit this page regularly.
</li>
<li>Do something with the page I&#039;m currently viewing.
</li>
</ol>
<p>The first category is the one that&#039;s usually brought up when using sites like <a href="http://delicious.com">delicious</a>. That site or one like it is what I suggest for fulfilling that need. These are usually sites that you aren&#039;t committed to putting any effort into organizing bookmarks for. I used to use the browser bookmark functionality for this, but found that it just ended up being a 2000+ link pile that was impossible to find things in. Those social bookmark have tagging and better organizational tools that tend to make doing the organizing easier.</p>
<p>That said, I would like to lower the barrier for adding a new site. Prior to using the social bookmarking sites, I just hit CTRL+D and called it a day. That&#039;s really all the effort I usually want to put into it. I&#039;d really like a service that grabbed any Technorati tags, hit Yahoo for keyword analysis and save that metadata along with the text of the page as the bookmark. But, that&#039;s another issue from what I&#039;m talking about today.</p>
<p>With the save-it-for-later stuff taken care of by a social bookmarking service, I thought I&#039;d share some tips for using the Firefox bookmark tools to handle the other 2 categories.</p>
<ol>
<li><b>Use Keywords</b><br />In the Properties of a Firefox bookmark, whatever you put into the &#034;keyword&#034; field can be used as an address bar shortcut to the bookmark. I can type in &#034;adsense&#034; or &#034;gmail&#034; or &#034;subscribe&#034; and the appropriate site or action happens. This works particularly well for sites I use constantly.
</li>
<li><b>Make the Personal Toolbar Truly Personal</b><br />The personal toolbar folder is set up by default with a bunch of common sites. This toolbar is prime real estate and shouldn&#039;t be wasted on links that the Firefox Foundation thinks you need. Make it your own by putting it to work on those 2 bookmark categories.
</li>
<li><b>Use Folders</b><br /> I&#039;ve set all of my Personal Toolbar setups to actually contain a bunch of folders instead of just links. This gives you room for lots of links without taking lots of space. The net result is that I&#039;ve got an entire personal menu of the most useful links. The folders I use are:
<ul>
<li>Frequent Sites &#8211; this contains stuff like the script that sends my RSS feeds to email and the script that generates Sokkit keys for people who&#039;ve lost theirs.
</li>
<li>Current Page &#8211; this contains links for acting on the current page: RSS subscribe (see the &#034;subscribe&#034; keyword), bookmark on delicious, etc.
</li>
<li>Bookmarklets &#8211; this contains a big pile of bookmarklets. Some of these should probably move to the Current Page entry. However, these are more script oriented, like &#034;retrieve RSS URL&#034; or &#034;Email to Friend&#034;.
</li>
<li>Blogging &#8211; this one contains a folder for each blog I own/operate. Inside that are URL&#039;s for administration and for creating a new posts as well as various feeds for topic mining (see tip 5).
</li>
<li>Feeds &#8211; This contains feeds of current events news, headlines, my Netflix queue, etc. The kind of stuff that I want to keep tabs on without resorting to a real RSS reader.
</li>
<li>Work &#8211; this one contains a directory for each project I&#039;m working on at work for things like documentation, message boards, time reporting, etc.
</li>
</ul>
<p>The rest of the space is used for links I&#039;m likely to use regularly for a few days (like links for an upcoming vacation).  Thus far, I haven&#039;t needed more space than is available here.
</li>
<li><b>Use the Foxmarks Extension</b><br />The <a href="http://www.foxcloud.com/wiki/Main_Page">Foxmarks extension</a> lets you put all of the work you&#039;re putting into your bookmark organization onto each and every computer you use. Rearrange on the office computer and the home computer picks up the changes.
</li>
<li><b>Put Feeds Into Your Toolbar</b><br />Firefox calls them &#034;Live Bookmarks&#034;, but you can put any RSS feed into your bookmarks. Whenever you see the little orange icon in the address bar, you can just click it and add the feed wherever you want, including the folders of your Personal Toolbar.
</li>
<li>Bonus Tip &#8211; If you use the bookmarks in the sidebar, your newly organized hierarchy of folders is easy to navigate and use.
</li>
</ol>
<p>Put this all together and the bookmark facilities in Firefox get a chance to stretch their legs and get put to work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wynia.org/wordpress/2006/09/5-power-tips-for-getting-more-out-of-firefox-bookmarks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
