<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
   <channel>
      <title>Dave Seah All Network Feed</title>
      <description>Pipes Output</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=4ab69e01d76eef43b9773fcbb203360f</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=4ab69e01d76eef43b9773fcbb203360f&amp;_render=rss&amp;page=2" />
      <pubDate>Fri, 25 May 2012 03:28:56 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DavidSeah-All" /><feedburner:info uri="davidseah-all" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>DavidSeah-All</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
         <title>Groundhog Day Resolution Review 5/5/2012</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/0-pAMDibzws/</link>
         <description>NOTE: This is the much-delayed Groundhog Day Resolution post for May 5, which fell on the Saturday I was at New England Give Camp camping out in Cambridge. Oy, this month has completely gotten away from me in. First, I&amp;#8217;ve &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/05/groundhog-day-resolution-review-552012-2/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=5072</guid>
         <pubDate>Thu, 24 May 2012 15:31:26 +0000</pubDate>
         <content:encoded><![CDATA[<p><em>NOTE: This is the <strong>much-delayed</strong> Groundhog Day Resolution post for May 5, which fell on the Saturday I was at <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/05/new-england-give-camp-2012-0800/">New England Give Camp</a> camping out in Cambridge.</em></p>

<p>Oy, this month has completely gotten away from me in. First, I&#8217;ve been busy with multiple projects for clients, which is great. Secondly, I had obligations with <a rel="nofollow" target="_blank" href="http://newenglandgivecamp.org/">New England Give Camp</a> followed by my friend Alen getting married the following weekend. The one-two punch had sapped me of energy <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/05/tribal-weekend/">in a good way</a>.</p>

<p>However, I&#8217;ve not been as focused on the &#8220;becoming a functional stationery maker&#8221; as I had wanted. While the process is moving along, I&#8217;m learning (again) just how long it takes to do something as conceptually simple as &#8220;ship some new pads of paper to Amazon.&#8221; So for this month&#8217;s Groundhog Day Resolution Review, I&#8217;m going to reflect on why that is.</p>

<p><hr id="more-5072" class="more-separator"/></p>

<h2>What are Realistic Expectations?</h2>

<p>While I have not been very organized this month, I have been focused. One huge advantage of switching from &#8220;Dave Seah: Information Graphic Designer&#8221; to &#8220;Dave Seah: Stationer&#8221; is that I can measure progress in terms of number of products available and number of units sold. However, I&#8217;ve fallen back on old habits, doing &#8220;what seems the most pressing&#8221; and trusting that it will get done. While I&#8217;m keeping track of hours spent, I&#8217;m not rigorously estimating hours; it&#8217;s sort of a <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Hakuna_matata">Hakuna Matata</a> approach to work. This may be the correct approach to take for creative work; my own sense of what is proper has been skewed by working in a way that fits design into an available timebox (with the assumption that it should also be awesome). When the fundamental questions about the job haven&#8217;t been decided, this is a terrible way to work. This attitude would not likely win me any glowing employee reviews at a &#8220;competitive&#8221; job, but I&#8217;ve <strong>dropped those expectations from myself</strong> and am as a result more relaxed.</p>

<p>At the same time, I&#8217;m learning to relax my expectations of how things SHOULD be, and am instead allowing a bit more exploration into my work. In the past, I would get very hung-up on being able to deliver exacting work on demand. To deliver exacting work requires equally exacting specification, and most of the time neither I or the client know exactly what those specifications will be. We each have a piece of the puzzle, and need to be willing to explore the solution space as a team, maintaining focus as we navigate through uncharted goat paths of creative opportunity. It&#8217;s tough work, but it doesn&#8217;t have to suck.</p>

<p>Realistically, I remind myself, it takes <strong>hundreds of hours</strong> to learn then create something that didn&#8217;t exist before. It&#8217;s easy, by comparison, to imagine what superlatives will describe it. I remember this, accept it, and try to keep moving while maintaining a positive attitude.</p>

<p>I have to admit, though, that it&#8217;s tough to accept how long it takes to make something from scratch, especially when I can SEE how that thing will fit into my master plan. It&#8217;s like waiting for cookies to bake when you haven&#8217;t eaten for an entire day. Patience is required, as each tiny step of the winning process is cultivated and put into action. To forget this is a precursor to frustration. If you can&#8217;t wait, buy something off the shelf and accept its limitations. Otherwise, keep a good attitude and make those tiny steps.</p>

<p>Here are some recent resources I&#8217;ve found useful in shaping this difficult balance of attitudes. All of them, I just noticed, were brought to my attention via my friend <a rel="nofollow" target="_blank" href="http://communicatrix.com">Colleen Wainwright</a>, truth-seeking marketing maven:</p>

<ul>
<li><p><a rel="nofollow" target="_blank" href="http://5by5.tv/b2w">Back to Work</a>, the podcast featuring Merlin &#8220;43Folders&#8221; Mann and Dan &#8220;5by5&#8243; Benjamin, covers subjects related to work and productivity. It&#8217;s something of a showcase for Merlin&#8217;s thinking on the subject, which is plentiful and insightful. Merlin, like me, isn&#8217;t particularly good at being productive, and he&#8217;s painfully aware of all the ways one can fall short because he&#8217;s done it. This gives his off-the-cuff analysis of root causes of various productivity pitfalls a cheerfully real credibility. Merlin is highly energetic and entertaining, too, which makes it a good listen even when they&#8217;re talking about Macintosh utilities for the umpteenth time. Worth a listen!</p></li>
<li><p>Designers out there may remember Mike Monteiro&#8217;s  <a rel="nofollow" target="_blank" href="http://vimeo.com/22053820">F*ck You, Pay Me</a> videotaped talk from last year, where he laid down the history and principles behind charging for his work. He&#8217;s expanded the material into a slim-but-mighty treatise called <strong><a rel="nofollow" target="_blank" href="http://www.abookapart.com/products/design-is-a-job">Design is a Job</a>.</strong> A practical primer on charging for your design services, the book has renewed my confidence in the wisdom of saying NO when a potential project is not quite ripe for processing. Mike&#8217;s book isn&#8217;t exactly the guide for me, since I don&#8217;t really want to have a service-oriented business. However, I much appreciate the acerbic-yet-empathetic conviction in his voice, backed as it is by experience and admirable work. He speaks the truth as he sees it, without apology or malice. I also like his mildly-alarming manner of speech; if the <em>Addams Family</em> had a graphic designer locked up in the manor basement, it might be someone like Mike Monteiro. That&#8217;s a cheery-enough thought to get me up on a Monday and get the f*ck to work.</p></li>
<li><p>Last week I received a review copy of Chris Guillebeau&#8217;s <a rel="nofollow" target="_blank" href="http://www.amazon.com/The-100-Startup-Reinvent-Living/dp/0307951529">The $100 Startup: Reinvent the Way You Make a Living, Do What You Love, and Create a New Future</a>. Chris Guillebeau is someone I&#8217;ve had my eye on for a while because he gets such good press from people I respect, yet occupies an Internet niche (self help) that I view with some suspicion. I attended one of his book tour stops in New Hampshire, and bought one of his art-related startup kits, looking for anything that smacked of bullshit. I didn&#8217;t find anything alarming that turned me off, nor did I find any whiff of hubris except in my own ungenerous attitude. The new book has swung my opinion of him hugely toward the positive. It is a <em>humble</em> book about being successful starting your own small-scale business. While it doesn&#8217;t paint a picture of just how hard things are, it does tell a lot of stories about people who did simple things to build a self-sustaining business that fit their personal desires and passions. The tone of the book is relaxed, factual, and conversational while incorporating ideas found in three of my other favorite reads in this area: the freedom-oriented aspects of <em>The 4-Hour Work Week</em>, the motivational aspects of <em>Ignore Everybody</em>, and business/marketing concepts of <em>The Personal MBA</em>. Chris&#8217; secret to success appears to be his willingness to put in the long hours and think about people&#8217;s needs without the need to complain or expend energy showing off; he&#8217;s that guy who succeeds because he builds the best products he can without getting too wrapped up in the appearance-maintenance and personal angst that often comes with creativity. That&#8217;s really freakin&#8217; fantastic.</p></li>
</ul>

<h2>The Product Refresh</h2>

<p>Getting back to actual &#8220;Maker of Functional Stationery&#8221; work, I&#8217;m happy to report there has been  progress made on the <strong>new</strong> version of the printed Emergent Task Planner pads. They are on their way to Amazon.com as I type.</p>

<p>The main goal of the product refresh is to reduce the price from $12.00 to $9.99, while increasing certain functional aspects of the package. To compensate for lowering the price, I&#8217;m reducing the page count from 75 to 50, but I&#8217;m incurring additional costs in terms of better cardstock + the inclusion of an instruction sheet. This makes the net cost of production of the new package actually about the same, so I&#8217;ll be making less money per-package than before. However, I want to <strong>test</strong> the theory of <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Price_elasticity_of_demand">price elasticity</a>, which says that given a change in price, there is a corresponding change in demand. The change is different for every product, and there are other variables involved, but this is a positive step toward understanding how &#8220;business&#8221; works.</p>

<p>On a philosophical note, I had positioned the printed ETP as a &#8220;premium&#8221; product so I could charge enough money to make a profit; it&#8217;s expensive to print and ship paper products. I&#8217;m finding that my natural desire for the ETP is not to sell it as a premium product, but instead to make a GOOD product available at the best price I can. We&#8217;ll see how this works out in practice. I may need a bit more deprogramming on this subject.</p>

<p>I&#8217;m not yet sure if I&#8217;ll continue to offer the 75-sheet pads at $12.00. Originally I was going to phase them out, but I think it might make sense to keep them as the &#8220;economy size&#8221; option. I&#8217;ll have to talk to my printer about this. I put a <a rel="nofollow" target="_blank" href="http://www.facebook.com/questions/448616668500436/">poll on my Facebook page</a>, which is currently 50/50.</p>

<h2>Juggling the Balance between Client and Personal Work</h2>

<p>Both are important to me, and I think the major personal advance I&#8217;ve made is <em>relaxing</em> about where the time is going. In a sense, this is related to my recent epiphany about maintaining a good attitude toward whatever I&#8217;m doing. Before I was constantly worried that I was not working on personal success-building projects while doing client work, and when I was working on personal projects I worried that I wasn&#8217;t putting enough time into the client work. In the former situation, my fear was related to failing at finding my personal success. In the latter, I was bedeviled by my desire to please clients with great work. So many fears.</p>

<p>I don&#8217;t see the competition between client work and personal projects going away any time soon, so I need to deal with it and not get overwhelmed. I was initially excited about the possibility of product growth as I described in the <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/04/groundhog-day-resolution-review-442012/">&#8220;seeing the snowball grow&#8221;</a> section of my last GHDR Review, I realized that it might take 2 years to get there given how long it was taking to fund and bootstrap new products. The StickyPads, which were a new product a couple months ago, are selling at 1/5th the rate of the Emergent Task Planner pads. This data underscores that not all products will be hits, and the ramp-up time will be correspondingly longer. At current rates of sales, it takes about 4 months to earn enough profit to fund another project.</p>

<p>But you know what? That&#8217;s fine. A positive attitude that is applied to both the personal work and client relations will pay off. I was reminded a couple weeks go that it&#8217;s critical to me to maintain strong communication channels with anyone I&#8217;m working with, as this boosts my attitude considerably. Working in a vacuum is one of the great displeasures of my life; I need smart, good-hearted people around me to thrive. From that, balance seems to come naturally.</p>

<p>On a different note, I now have so many communication threads out there that I need to figure out how to manage them. A few client threads have dropped, as they weren&#8217;t pressing or perhaps people are concerned about bothering me. I hope that&#8217;s not the case.</p>

<h2>Concluding Thoughts</h2>

<p>Also on my mind is how to keep the flame of my passions visible here on the blog, as this is the beacon that attracts new opportunity and collaborators. I have NOT been happy about the sporadic nature of my posting in the past two years, and the emphasis on business posts has skewed the content mix toward seriousness. I&#8217;m not going to go into that now, though, as this post is already getting super-long.</p>

<p>For the coming month, I have to finish a lot of client projects. This theoretically reduces the time I have to work on new products and related materials, but it also ensures that I have some income to do a few important home upgrades before Dad visits this fall.</p>

<p>What&#8217;s certain:</p>

<ul>
<li>New ETP Pad Package will Ship!</li>
<li>Old Pad Package will remain!</li>
<li>As time permits, will launch a new project. I have several to choose from.</li>
</ul>

<p>What would be cool to have:</p>

<ul>
<li>Creating some new design-related procedures, so I can streamline client work further.</li>
<li>Creating a better multi-task management system. There is a hole in my task management forms that I hadn&#8217;t noticed before. </li>
<li>Finding some more creative partners, or people who would like to work for me in exchange for the experience of doing it.</li>
</ul>

<p>What I want to avoid:</p>

<ul>
<li>Stressing out!</li>
<li>Losing positive attitude.</li>
<li>Disappointing clients and customers &#8211; that will have to be handled as it happens instead of worrying about it <em>before</em> I do the work.</li>
<li>Falling out of the moment, and letting uncertainty-induced anxiety harsh my vibe.</li>
</ul>

<p>We&#8217;ll see what happens!</p>

<h2>Groundhog Day Resolution Posts for 2012</h2>

<p>Here are other posts about Groundhog Day Resolutions for the 2012 season.</p>

<ul>
<li>02/02 <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/02/groundhog-day-resolutions-2012/">Kickoff</a></li>
<li>03/03 <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/groundhog-day-resolution-review-332012/">Review</a></li>
<li>04/04 <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/04/groundhog-day-resolution-review-442012/">Review</a></li>
<li>The <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2007/02/groundhog-day-resolutions/">original post</a> about Groundhog Day Resolutions</li>
</ul><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/0-pAMDibzws" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/blog/2012/05/groundhog-day-resolution-review-552012-2/</feedburner:origLink></item>
      <item>
         <title>Tribal Weekend</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/4vm9z01S_2w/</link>
         <description>It&amp;#8217;s been a busy couple of weekends, and I was determined (or rather, hopeful) that I wouldn&amp;#8217;t go crazy. Thoughts about identity and being part of a tribe follow. The first weekend of May was New England GiveCamp, a yearly &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/05/tribal-weekend/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=5069</guid>
         <pubDate>Tue, 15 May 2012 21:18:17 +0000</pubDate>
         <content:encoded><![CDATA[<p>It&#8217;s been a busy couple of weekends, and I was determined (or rather, hopeful) that I wouldn&#8217;t go crazy. Thoughts about identity and being part of a tribe follow. <hr id="more-5069" class="more-separator"/></p>

<p>The first weekend of May was <a rel="nofollow" target="_blank" href="http://newenglandgivecamp.org/">New England GiveCamp</a>, a yearly &#8220;coding for charity&#8221; event that connects cash-strapped non-profit organizations with willing volunteers in the tech and media industries. True to its name, GiveCamp involved camping overnight in the Microsoft NERD Center down in Cambridge with a whole bunch of people. By the second day I realized that this was a more unusual experience than appeared to the eye: the non-profits involved were truly involved in the problem-solving, and the volunteers were really helpful and genuine; the very nature of the event filters out anyone who doesn&#8217;t give a crap. As it turned out, this was one of the best experiences I&#8217;ve had in a camp-like event due to the high level of support (catered food FTW, and prizes) and commitment to a cause. The non-profit organization team I was assigned to was for <a rel="nofollow" target="_blank" href="http://www.evkids.org/">EV Kids</a>, which connects Harvard and Boston College students with inner-city Boston kids for a multi-year commitment of mentoring, outdoor camping, and support. They already had a website from last year&#8217;s GiveCamp, so we focused on simplifying the home page and fixing some scripts that had become obsolete. It was also fun to work with people who had overlapping skills; we were able to split the tasks up with confidence and understanding of the underlying issues. This is a luxury I hadn&#8217;t experienced in a very long time, maybe since high school. With the right partners, difficult tasks are whittled down to size. The major takeaway for the weekend was to purposefully seek overlapping skills in my partners, and tackle tasks together.</p>

<p>This past weekend was the wedding of one of my best friends, Alen Yen. I was tasked with both being a groomsman and video stream implementer for the bride&#8217;s mother, who was unable to leave the hospital for the event. The event was held in Sugarbush Resort in Warren, Vermont, so I went up the night before the wedding to get ready. I&#8217;ve never been to Vermont before, despite having lived in neighboring New Hampshire for 12 years. First of all, I got to drive through farmland carved out of mountains; they were all abloom with dandelions and grass, ready to be plowed under. Beautiful. I reconnected with people I had known of or had met in passing over the years, and it occurred to me that the tribe that had formed around Alen was quite remarkable, and that it was fantastic that they were all here. The connections between people in the room, disparate though those groups may have been, were almost visible in their intensity. It was then that I started thinking about tribes. I really should reread <a rel="nofollow" target="_blank" href="http://www.amazon.com/dp/1591842336/">Seth Godin&#8217;s book</a> to see if what I&#8217;m feeling has already been summarized, but let me see if I can do it myself:</p>

<ul>
<li><p>I&#8217;m thinking of &#8220;tribe&#8221; as a group of people who really &#8216;get&#8217; you, and have accepted you as one of them. The tribe recognition moment came to me when I realized that two factors had come together: I was a recognized member of the Alen tribe, and also a friend member of the Japanese Toy Robot tribe. While I couldn&#8217;t follow the significance of the vintage chogokin and vinyl photos flashed across half-a-dozen iPhones, I certainly felt I was among a group of like-minded people. I felt something similar at GiveCamp, except in more of a technical lifestyle sort of way.</p></li>
<li><p><strong>While my goals are my own, the tribe supports and nurtures them.</strong> The selection of one&#8217;s tribe, and the acceptance into that tribe, is about the celebration of shared values and goals. Personally, I am striving to achieve a high level of personal excellence, whatever that is, and it&#8217;s important for me to be surrounded by people who are doing the same. However, my goals are still uniquely my responsibility, because I&#8217;m the only person who can truly assess whether I&#8217;ve met them or not. My tribal buddies may help me, but they want to see me cross the finish line on my own power.</p></li>
<li><p><strong>A shift of identity.</strong> In the past, I&#8217;ve written that I believed &#8220;being part of something bigger than myself&#8221; was the key to some kind of breakthrough. At the time I thought it was inspiration or community connection, but both GiveCamp and the wedding are different in that my <em>starting assumptions</em> were different. These are both events that are about celebrating giving and union, and I subconsciously shifted into a giving mood that de-emphasized my sense of self. In a sense, I surrendered my identity to the event mission, rather than striving to maintain it in sharp relief. This was quite different than my attitude when going to an event like South by Southwest Interactive for the first time, when I was hugely concerned by how I would present myself and be perceived by other industry pros. I&#8217;m not sure what the ramifications of this observation are, but it feels important.</p></li>
</ul>

<p>So what is the upshot of all this pondering? It&#8217;s the <strong>rediscovery</strong> of the importance of tribe as partners. It&#8217;s recognizing that my tribal instincts, particularly the community celebration aspect of it, have atrophied. I need to rekindle the bonfire and break through the barriers that I have in allowing those parts of me to shine like a beacon. By embracing my weirdness, I also rekindle my sense of conviction, which is a precursor to taking decisive action.</p>

<p>The Tribe I&#8217;m part of, if I were to bulletize it, would incorporate the following:</p>

<ul>
<li>The desire to self-empower through responsible learning and experimentation.</li>
<li>The desire to overcome one&#8217;s self-imposed limits by deconstructing them.</li>
<li>The desire to produce or perform at a very high level, and celebrate excellence at every opportunity.</li>
<li>The desire to share and reciprocate knowledge and resources.</li>
<li>The desire for complete transparency and authenticity, in an environment that promotes and protects it.</li>
<li>The recognition that getting from here to there is a lonely, difficult, and uncertain journey with few meaningful shortcuts. And that this is no reason not to go for it and enjoy the challenge with a positive attitude.</li>
<li>The joy that comes from helping comrades in the tribe to do any of the above.</li>
<li>The appreciation of weirdness, uniqueness, and original thinking without imposing judgment due to differing tastes.</li>
</ul>

<p>Every tribe I&#8217;m part of celebrates the majority of these elements, if not all of them.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/4vm9z01S_2w" height="1" width="1"/>]]></content:encoded>
         <category>Encounters</category>
      <feedburner:origLink>http://davidseah.com/blog/2012/05/tribal-weekend/</feedburner:origLink></item>
      <item>
         <title>Amazon UK Now Carrying Emergent Task Planner Pads</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/gELbISDDB90/</link>
         <description>Through the continuing efforts of my friend Al Briggs, you can now order a &amp;#8220;produced under license&amp;#8221; version of the Emergent Task Planner on Amazon UK. They ship anywhere in the European Union.</description>
         <guid isPermaLink="false">http://davidseah.com/?p=5060</guid>
         <pubDate>Mon, 14 May 2012 22:29:49 +0000</pubDate>
         <content:encoded><![CDATA[<p>Through the continuing efforts of my friend Al Briggs, you can now order a &#8220;produced under license&#8221; version of the <em>Emergent Task Planner</em> on <strong><a rel="nofollow" target="_blank" href="http://amazon.co.uk/s?search-type=ss&amp;index=office-products&amp;field-keywords=David%20Seah">Amazon UK</a></strong>. They ship anywhere in the European Union.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/gELbISDDB90" height="1" width="1"/>]]></content:encoded>
         <category>Asides</category>
      <feedburner:origLink>http://davidseah.com/blog/2012/05/amazon-uk-now-carrying-emergent-task-planner-pads/</feedburner:origLink></item>
      <item>
         <title>The Morning After, Looking Ahead</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/nB0JHTrXAU4/425</link>
         <description>I went to sleep at 8PM last night, and woke up 12 hours later. I&amp;#8217;m refreshed, and dehydrated; today&amp;#8217;s goal is to rejoin the gym and drink 64 oz of water. I&amp;#8217;m super re-energized by the events of the weekend, and this morning am facing the mountain of tasks with pent-up inspiration bursting at the [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=425</guid>
         <pubDate>Mon, 07 May 2012 16:03:18 +0000</pubDate>
         <content:encoded><![CDATA[<p>I went to sleep at 8PM last night, and woke up 12 hours later. I&#8217;m refreshed, and dehydrated; today&#8217;s goal is to rejoin the gym and drink 64 oz of water.</p>

<p>I&#8217;m super re-energized by the events of the weekend, and this morning am facing the mountain of tasks with pent-up inspiration bursting at the seams. Usually, I am facing the mountain when I have a low supply of inspiration, having instead to draw on a sense of duty or the desire to stand for something. The mountain of tasks, I&#8217;m realizing, looks the same no matter what my energy level or attitude is. I <em>want</em> to do things, but I find the task of breaking down the mountain into some kind of approach to be energy-draining.</p>

<p>It occurs to me further that I really don&#8217;t SEE the mountain clearly. That would imply I know what I&#8217;m doing. It&#8217;s more like I sense the MASS and SIZE of the mountain, so I assume it&#8217;s there and gigantic. And I know I have to go climb the mountain if I want to get things done, but you know what? I&#8217;m not sure what mountain I&#8217;m climbing.</p>

<p>The mountain is not a mountain. The mountain is my labeling of a set of uncertainties and expected hardships. Hardship is guaranteed, but to shy away from hardship in the abstract is not a character-building attitude. To not define the set of hardships is to give into uncertainty.</p>

<p>Let me try to simplify this further:</p>

<p>I know I have a lot of things to do, and it&#8217;s going to take time and energy and perhaps be unpleasant in the following ways:</p>

<ul>
<li>It will make me feel trapped by the situation until it&#8217;s done</li>
<li>It will take a long time</li>
<li>I won&#8217;t possess the skill or resources to do a great job the first time</li>
<li>I may never get it right, and I will disappoint someone</li>
<li>I may fail, and it will have been a waste of time</li>
</ul>

<p>These are guaranteed feelings I will have, and they loom large in my mind. However, I should think about how I will feel if I do get something done:</p>

<ul>
<li>I will have learned something</li>
<li>I will have a new story to tell that draws from life experience</li>
<li>I will have something new to build with, sell, or show to people</li>
<li>I&#8217;ll be one step closer to a goal</li>
<li>I will see new opportunities</li>
<li>I can see one more data point in the larger patterns of life</li>
</ul>

<p>These are good feelings. The combination of the unpleasant feelings with the pleasant feelings reminds me of a contraction followed by an expansion. Repeated over and over again, progress is guaranteed. It&#8217;s as simple as the contraction and concentration of effort, followed by release. I can get behind that, I think.</p>

<p>That leaves the <strong>what mountain</strong> and also the <strong>myriad commitments</strong> I have? These represent piles of related tasks. There are many piles. There is also a main theme that ties all these piles together, that of leading my best and my productively fulfilling life. That is measured by what I can build, what I can refine and polish, making the best communities and contributing in them, and bringing in enough money to fund all those dreams.</p>

<p>What comes to mind is that the client commitments fit into the overall commitments. There is one product: a Dave Seah that can create useful things and garner revenue from this activity while maintaining a flexible and free lifestyle in a community of like-minded people. The challenge is to manage all those engagements with people while making progress on building the machine that supports me. That is the peak of the mountain, and the client commitments are subpeaks and basecamps scattered from sea level on up to the top.</p>

<p>The actual climb consists of hitting all those peaks and basecamps successfully, and this is a sequencing and logistics problem. It&#8217;s not related to the action or produced experience; it&#8217;s a management issue. To be able to plan this, though, requires an intimate understanding of the terrain and environmental factors as they impact the available ability to perform.</p>

<p>Since I lack an intimate understanding of the terrain, I&#8217;m reduced to guessing. This is a bad strategy when it comes to mountain climbing, I would imagine, unless you are in the process of EXPLORING. Exploring can be thought of as way of converting uncertainty to certainty, or adding more knowledge about a particular activity with the intention of improving something. Exploring without these intentions is just entertainment or looking for inspiration. This is probably what a vacation is supposed to be, giving one&#8217;s brain a rest from trying to change the world all the time.</p>

<p>So, what does the mountain look like now? At the peak is a successful David Seah, doing creative things with a like-minded group of collaborators to generate the revenue and expertise to expand the scale of the operation with style. To reach the top, I have to identify the basecamps and develop the logistical plans that link them together. I have been doing that for the past 15 years. I think what I need to do now is start the real planning to pull the logistics together.</p>

<p>Task management strategies, then, probably will become clearer.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/KHLJkC8-ub8" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/nB0JHTrXAU4" height="1" width="1"/>]]></content:encoded>
         <category>Activity Log</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/KHLJkC8-ub8/425</feedburner:origLink></item>
      <item>
         <title>Wrapping Up New England Give Camp</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/qMZgkdeLg-4/423</link>
         <description>It&amp;#8217;s getting to the end of New England Give Camp, the &amp;#8220;coding for charity&amp;#8221; event being held at the Microsoft NERD Center this weekend. Sunday morning was spent reviewing what we&amp;#8217;d got done and wrapping up loose ends. After lunch (which was delicious mini-burgers made with locally raised beef), we finished up and started writing [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=423</guid>
         <pubDate>Sun, 06 May 2012 20:41:13 +0000</pubDate>
         <content:encoded><![CDATA[<p>It&#8217;s getting to the end of New England Give Camp, the &#8220;coding for charity&#8221; event being held at the Microsoft NERD Center this weekend. Sunday morning was spent reviewing what we&#8217;d got done and wrapping up loose ends. After lunch (which was delicious mini-burgers made with locally raised beef), we finished up and started writing documentation. I actually fell asleep while I was doing this, so I didn&#8217;t finish before it was time for PRESENTATIONS.</p>

<p>Each team is given around 3 minutes to stand up and talk about what they worked on, which is a nice way to provide closure. I&#8217;m sitting in the audience right now, and it&#8217;s great to see the reaction of each non-profit who have started with little and ended up with a whole lot of organization-supporting website. In some cases, it&#8217;s needed basic functionality. In others, it&#8217;s content organization and branding. Seeing the breadth of the organizations and technical approaches is like a crash course in web development. It&#8217;s very interesting to see just how much a small team can do in a fixed period of time with complete access to the client, and to see what the shared problems were. From the NPO&#8217;s perspective:</p>

<ul>
<li>Promotion! </li>
<li>Simplifying the message!</li>
<li>Serving both NPO partners and newcomers!</li>
<li>Automating tedious organization functions! </li>
<li>Getting the community to respond and take action!</li>
<li>Changing content so it looks good and doesn&#8217;t hurt!</li>
</ul>

<p>From the team&#8217;s perspective, I&#8217;ve noticed these issues:</p>

<ul>
<li>Level of familiarity with a platform (WordPress and Drupal were popular) to get started fast</li>
<li>How to achieve the NPO&#8217;s needs with specific application of technology</li>
<li>How to say things&#8230;writing and content strategy</li>
<li>How to show things&#8230;visual design</li>
<li>How to teach the client NPO how to use the site</li>
<li>Finding out what the team members do </li>
<li>Sharing good process</li>
<li>Finding the synchronicity in every interaction</li>
</ul>

<p>The greatest experience, however, which is just dawning on me, is really the gratitude and appreciation that the NPO organizers have for the whole experience. From my perspective, I felt I wasn&#8217;t really giving up much in exchange for the chance to hang out in Cambridge and get free food over the weekend, but I was reminded that the collective might of the 100+ volunteers was a tremendous force for positive change. I tend to think of skills in dispassionate terms, but to see them applied toward community causes that people really, really love and are driven to support&#8230;it&#8217;s very motivating. A lot of my personal grumblings about doing web development work has kind of evaporated, and I am kind of jazzed about establishing the best practices I&#8217;ve observed this weekend.</p>

<p>I have quite a bit more mental processing to do about the weekend, but for now I can definitely say this was one of the best work experiences / events I&#8217;ve ever attended. One remarkable thing about the GiveCamp event is that everyone here is generous and accepting in some way. This struck me on Saturday, because I suddenly became aware of the complete lack of drama. And maybe I am finally mature enough to appreciate how important that is.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/qP0J9TnwA1w" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/qMZgkdeLg-4" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/qP0J9TnwA1w/423</feedburner:origLink></item>
      <item>
         <title>Wrap Up Day 2</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/A7KCjFAjdLQ/421</link>
         <description>It was actually quite a busy day after lunch. Our team tackled a number of issues that I at first thought were more trivial than they turned out to be. No big surprises there. What I did find novel was the experience of working with a team that possessed overlapping skills again, instead of being [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=421</guid>
         <pubDate>Sun, 06 May 2012 05:03:24 +0000</pubDate>
         <content:encoded><![CDATA[<p>It was actually quite a busy day after lunch. Our team tackled a number of issues that I at first thought were more trivial than they turned out to be. No big surprises there. What I did find novel was the experience of working with a team that possessed overlapping skills again, instead of being the lone specialist in one matter or another. This was very refreshing, and had me thinking about the pros and cons of the freelance lifestyle.</p>

<p>The problems we looked at today were:</p>

<ul>
<li><p>Making sure that the website was automatically backing up (BlueHost does).</p></li>
<li><p>Troubleshooting the social media plugins that had stopped functioning, which involved tracking down some extension conflicts in Firefox.</p></li>
<li><p>Resolving some CSS issues that stood in the way of recreating the home page with a particular layout that the project manager had in mind. I learned a few things about stacked floated DIVs. I provided some insight on the use of CSS selectors.</p></li>
<li><p>Cleaned up some website cruft: old WordPress install and databases, for example.</p></li>
</ul>

<p>Mixed in with this was a lot of snacking, Cinquo De Mayo celebration (though the caterer forgot to bring meat), movies, and prize draws. I wandered around a bit more to see what other people were doing with their coding and their design, which was gratifying. Again, I rarely get to work with people that have overlapping skills with me, and it&#8217;s apparent that it&#8217;s a wonderful thing to have available.</p>

<p>It&#8217;s 1AM and I&#8217;m about to crash. I know I have  Groundhog Day Resolution to catch up on, but that might have to wait until Monday.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/o7EkVVBoIUk" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/A7KCjFAjdLQ" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/o7EkVVBoIUk/421</feedburner:origLink></item>
      <item>
         <title>Initial Interviews and Assignments</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/f7r__oBJPXI/418</link>
         <description>Everyone is here now so we&amp;#8217;re now going through the task list as it exists. We&amp;#8217;re also going through the fundamentals to find out the needs of the organization itself. Clients, in my experience, often are fixated on the specific fixes they want to see, so designers / developers have to ask for the reason [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=418</guid>
         <pubDate>Sat, 05 May 2012 20:24:14 +0000</pubDate>
         <content:encoded><![CDATA[<p>Everyone is here now so we&#8217;re now going through the task list as it exists. We&#8217;re also going through the fundamentals to find out the needs of the organization itself. Clients, in my experience, often are fixated on the specific fixes they want to see, so designers / developers have to ask for the reason behind the requests.</p>

<ul>
<li>List of Organization Needs</li>
<li>Contributing Factors to Program Success</li>
<li>What &#8220;Interactivity&#8221; means to the Organization</li>
</ul>

<p>One thing that came up is that EV currently isn&#8217;t sure how people are using the website. There has been very little feedback. Interactivity, from the organization&#8217;s perspective, means getting <em>people</em> to interact with the site. Me, as a former game developer, thinks of interactivity as getting the <em>computer</em> to respond to users, and so I tend to think about solving a particular information challenge with appropriate code and design.</p>

<p>Ultimately, EV would like to see more feedback, comments, and so forth. There are some comments on the site, but they are a source of mystery: there are actually NO comment forms on the site currently. This means that the comments are bypassing the interface by calling the scripts directly. Akismet, the spam filtering plugin, isn&#8217;t catching these for some reason. We could install more aggressive filtering plugins that try to detect robot behavior, but I find that sometimes these prevent legitimate comments from being posted.</p>

<p>LUNCH was wraps. I had a very good Italian wrap and an OK chicken wrap. Could have used some more mayonnaise. Had a tasty cup of clam chowder while looking across the Charles River at the Prudential Center. Feeling pretty New Englandy!</p>

<p>&#8230;</p>

<p>It&#8217;s now around 415PM, and we&#8217;ve been knocking of a few of the small changes:</p>

<ul>
<li>Facebook / Twitter Integration: FIXED (a weird combination of javascript script rot and Firefox AddOns)</li>
<li>Reworking the front page layout</li>
<li>Going through some CSS 101</li>
</ul>

<p>We also got &#8220;Rip van Wafels&#8221; cookies, or Stroopwafels. Dutch syrup-soaked cookies, or something.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/EM2Yu3cF-0Y" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/f7r__oBJPXI" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/EM2Yu3cF-0Y/418</feedburner:origLink></item>
      <item>
         <title>Theory of Knowledge</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/cyYbB3CTSEk/412</link>
         <description>After breakfast came in, I had an interesting conversation with our project lead, Adam Caron, about our experiences in meditation, which led to to a discussion about the role of meaning and identity in our daily life. I related the experience of trying to meditate in a Theory of Knowledge class in high school, which [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=412</guid>
         <pubDate>Sat, 05 May 2012 13:31:58 +0000</pubDate>
         <content:encoded><![CDATA[<p>After breakfast came in, I had an interesting conversation with our project lead, Adam Caron, about our experiences in meditation, which led to to a discussion about the role of meaning and identity in our daily life. I related the experience of trying to meditate in a Theory of Knowledge class in high school, which ended in uncontrollable laughter and expulsion from the classroom. I&#8217;ve had a bit better luck since then.</p>

<p>Our client, Brian Thompson of <a rel="nofollow" target="_blank" href="http://evkids.org/">EVKids.org</a>, arrived just a few minutes ago. The immediate task list is a combination of technical fixes for his WordPress-based website + the addition of &#8220;interactive elements&#8221;, which we need to dig into a bit deeper this morning.</p>

<p>In the meantime, I&#8217;ve installed BackWPUp, a WordPress backup plugin, to see what it&#8217;s capable of doing. It&#8217;s Multisite-compatible, which is nice since my own main websites are WordPress Networks; not every plugin can work with them.</p>

<p>Looking over the settings panel for the plugin, it seems that it&#8217;s based on the creation of backup &#8220;jobs&#8221;, which is perhaps too jargon-y already to consider for our client. Clicking the &#8220;Add Job&#8221; button revealed an enormous number of options related to the database tables to back-up, file folders, etc, and the manner with which to back up the resulting archive file. It also does not seem to do restorations of the database.</p>

<p>Checking out XCloner next. It failed to run properly on my test installation, and the means of accessing its menu is different from the usual ways WordPress plugins operate. I just canned it&#8230;don&#8217;t like it.</p>

<p>I&#8217;m going to take another sweep through the plugin directory for backups. Noting that the <a rel="nofollow" target="_blank" href="http://codex.wordpress.org/WordPress_Backups">WordPress backup page</a> is a useful starting point for the client, potentially, to understand the need for backup.</p>

<p>After scanning through the backup plugins again, nothing obvious jumps out. If I were backing up the files, the simplest would be to just tar-gz my wp-content directory (after nuking any cache directories) and use some MySQL commands to make a database dump. Restoring a backup is more of a pain, but is straightforward. I guess using BackWPUp for the client is an acceptable solution in that it appears to do what it needs to do, though it&#8217;s not end-user friendly. If I think of it as a failsafe, but requiring an experienced developer to restore, that is probably good enough&#8230;will have to confer with the rest of the team to see what the consensus is.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/iu60eC6A5no" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/cyYbB3CTSEk" height="1" width="1"/>]]></content:encoded>
         <category>Activity Log</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/iu60eC6A5no/412</feedburner:origLink></item>
      <item>
         <title>Up and Away!</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/b3pXfs8gg6s/407</link>
         <description>After about 4 hours of sleep at New England GiveCamp, I&amp;#8217;m up and groggy, but feeling like working while my mind is still kind of mushy. Does that even make sense. Gar. Anyway, there are a number of technical tasks on the list today. One of them is to back up the database on the [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=407</guid>
         <pubDate>Sat, 05 May 2012 11:52:22 +0000</pubDate>
         <content:encoded><![CDATA[<p>After about 4 hours of sleep at New England GiveCamp, I&#8217;m up and groggy, but feeling like working while my mind is still kind of mushy. Does that even make sense. Gar.</p>

<p>Anyway, there are a number of technical tasks on the list today. One of them is to back up the database on the client&#8217;s site, and arrange for some kind of automated backup.</p>

<p>I use a plugin called <a rel="nofollow" target="_blank" href="http://wordpress.org/extend/plugins/adminer/">Adminer</a> that is like a mini-version of PHPMyAdmin, but this is probably overkill. So, I&#8217;m looking to see what&#8217;s new in the world of WordPress plugins. The plugins <a rel="nofollow" target="_blank" href="http://wordpress.org/extend/plugins/xcloner-backup-and-restore/">xcloner</a> and <a rel="nofollow" target="_blank" href="http://wordpress.org/extend/plugins/backwpup/">BackWPUp</a> look promising. The criteria I look for in a plugin, when first scoping out the field of potentials, is somewhat subjective initially:</p>

<ol>
<li>Has it been recently updated for the latest version of WordPress, and does it have a history of such updates?</li>
<li>Is the description of the plugin comprehensive, with some sense of &#8220;excellence&#8221; in the tone of writing?</li>
<li>Does it have more than a few positive 4-star ratings?</li>
</ol>

<p>Plugins that match these criteria tend to be well-known, mainstream solutions that many people use. For something like backup, that&#8217;s probably a reliable indicator of probable technical excellence and usability. For more esoteric problems like caching, opinions tend to split along popularity (&#8220;it works, and it&#8217;s what I&#8217;ve always used&#8221;).</p>

<p>So, I might as well install these plugins in my own installation and see how that goes.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/-bNMFuI86Qo" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/b3pXfs8gg6s" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/-bNMFuI86Qo/407</feedburner:origLink></item>
      <item>
         <title>New England Give Camp 2012 +0800</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/VLrzkIZhUaM/</link>
         <description>SUMMARY: I&amp;#8217;m at I&amp;#8217;m at New England Give Camp 2012 right now, a &amp;#8220;coding for charity&amp;#8221; weekend where around 100 volunteers help 29 non-profits improve their websites. This is my first year, having been roped into it by my friend &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/05/new-england-give-camp-2012-0800/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=5051</guid>
         <pubDate>Sat, 05 May 2012 06:01:34 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0504-givecamp0800.jpg" width="570" height="380"/><br /></p>

<p><strong>SUMMARY:</strong> I&#8217;m at I&#8217;m at <a rel="nofollow" target="_blank" href="http://newenglandgivecamp.org/">New England Give Camp 2012</a> right now, a &#8220;coding for charity&#8221; weekend where around 100 volunteers help 29 non-profits improve their websites. This is my first year, having been roped into it by my friend Kelley Muir, who is one of the organizers. I&#8217;ll be writing periodic blog posts about the experience as I have the time. <hr id="more-5051" class="more-separator"/></p>

<p>At this very moment, I&#8217;m hanging out on a stylish orange coach at the Microsoft NERD Center in Cambridge, where a few dozen volunteers have elected to camp-out overnight to work. Earlier today, our team met with our non-profit project and went over some initial parameters. Tomorrow morning, we&#8217;ll start going through our hit list of tasks and new questions, and see what we can get done in the next 48 hours.</p>

<p>One of the reasons I&#8217;d signed up was that I would meet a bunch of new people that, like me, have particular passions about what they do. It&#8217;s also exactly the kind of thing I&#8217;d shy away from because I am naturally disinclined to attend events where there are a lot of people; this causes my self-improvement interlock to engage, and so HERE I AM. It&#8217;s about 8 hours since the event started, and a small group of people are hanging out by the <a rel="nofollow" target="_blank" href="http://www.microsoft.com/surface/en/us/default.aspx">Microsoft Surface</a> playing some kind of space game, cracking silly jokes and basking in the shared nerd experience. It&#8217;s pretty awesome.</p>

<p>My response, so far, is that I&#8217;m actually feeling pretty comfortable. There is the comforting sense of belonging that comes from shared mission, which shifts the burden from &#8220;who am I in this networking situation&#8221; to &#8220;what should I do to move things along&#8221;. It also helps that I know more people here than I thought I would, even though I don&#8217;t know them very well. I&#8217;ve seen them around at various events like Podcamp and Barcamp, and have grown to know their faces and personalities. To my surprise, it seems that just hanging out sporadically over the past six years has led to friendship.</p>

<p>I probably should go to sleep, but there are people still up and being away from home, I feel the urge to write some thoughts down. Ordinarily, I would probably be playing <em>Star Wars: The Old Republic</em> to unwind, grabbing a few levels on a new alt character and chatting up virtual teammates. This is a little different. Although I&#8217;m just hanging out near the Microsoft Surface basically ignoring people, there&#8217;s the feeling that there are like-minded people around. There&#8217;s kind of a community spirit here that I haven&#8217;t felt in a long time.</p>

<p>Tomorrow should be interesting as we get down to work. There are some pretty incredible non-profit organizations here that have wonderful stories to tell. I&#8217;ll be posting periodic updates on the GiveCamp experience in my <a rel="nofollow" target="_blank" href="http://davidseah.com/soc/archives/tag/negc2012">Stream of Consciousness Blog</a>, so look there for the moment-by-moment updates.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/VLrzkIZhUaM" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/blog/2012/05/new-england-give-camp-2012-0800/</feedburner:origLink></item>
      <item>
         <title>The Joy of Cardboard</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/kBMtHaXgTB4/</link>
         <description>There&amp;#8217;s one detail in the current version of the printed Emergent Task Planner pad that has nothing to do with its functionality, and that is the thickness of the cardboard backer. It&amp;#8217;s the one thing in the pad that has &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/04/the-joy-of-cardboard/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=5035</guid>
         <pubDate>Thu, 26 Apr 2012 11:54:13 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/578-0425-cardboard.jpg" width="578" height="433"/><br /></p>

<p>There&#8217;s one detail in the current version of the printed <strong>Emergent Task Planner pad</strong> that has nothing to do with its functionality, and that is the <strong>thickness</strong> of the cardboard backer. It&#8217;s the one thing in the pad that has bugged me from the very beginning, but for economic reasons couldn&#8217;t fix.</p>

<p>Until now! Here&#8217;s a case study in home-grown product development. <hr id="more-5035" class="more-separator"/></p>

<h3>Background</h3>

<p>When I&#8217;d first started making the printed ETP pads for sale in 2009, I could afford custom ink formulation and great paper, but the lowly cardboard backer was surprisingly expensive and hard to source. This was one of many lessons about manufacturing at small scale: you&#8217;re limited by what your manufacturing partners can readily offer, so you work within those constraints if you want to minimize your initial investment. The printer could do the custom inks and source quantities of the paper because they already stocked those materials on a regular basis. They also stocked cardboard for making pads of paper, but thicker cardboard was a special order. As the run I was doing was the smallest possible size, and I was concerned with making the first pads as affordable as possible, I stayed with the regular cardstock. Although having to forgo nicer cardboard was disappointing (it was also a buck a sheet, which is a lot for per-unit cost), at the time it was more important for me to just bite the bullet and MAKE SOMETHING.</p>

<p>The standard cardboard that was available came in two thicknesses, which is measured in something called &#8220;points&#8221;. This is different from the points used in page layout, which are 1/72th of an inch. For <a rel="nofollow" target="_blank" href="http://www.paper-paper.com/weight.html">paper weight</a>, it&#8217;s a measure in thousandths of an inch, also called the &#8220;caliper&#8221;&#8212;I think this refers to the actual use of a caliper (a special kind of high-precision mechanical ruler) to measure it.</p>

<p>Anyway, I picked the 030 point cardboard, the thicker of the two choices. It&#8217;s considerably thicker than paper, but it lacks rigidity. In the first runs of the product, it was most important to have good paper, since that was the main aspect that bore directly on the tactile experience of the product in everyday use. The cardboard backer was a secondary part of the experience, and I wasn&#8217;t even sure if the pads would sell or if I&#8217;d lose my money.</p>

<p>Today, I&#8217;d say that the pads have met expectation, and they have continued to sell well enough that I&#8217;m no longer worried about recouping my investment in a print run. The cardboard issue, though, has continued to bug me. The flexible nature of the 030 point cardboard makes the pad feel a little &#8220;swimmy&#8221; in the hand. It&#8217;s fine when the pad is on a desk surface, but picking it up and moving it requires a little babying. It&#8217;s part of the product experience, and while I don&#8217;t think people really think of the lack of rigidity as a flaw in the design, maybe I&#8217;m missing out on an opportunity to make an additional positive impression. The last straw was a recent review on Amazon.com, where the extremely nice reviewer mentioned thicker cardboard as a &#8220;would be nice&#8221; feature. At last&#8230;I was not alone in my compulsion!</p>

<h3>Prototyping the Product</h3>

<p>Tactile experience is something that I&#8217;m sensitive to, and my automatic reaction to it might be the best indicator that the pursuit of stationery design isn&#8217;t so insane despite my lack of experience. It is like I can sense the bones of whatever I&#8217;m touching, able to visualize the underlying structure and material properties of its raw elements. What I am really reacting to is probably just relative weight, texture, and rigidity to other everyday experiences, but my reaction is so instant and immediate that it feels like a kind of clairvoyance. If I were to be more New Age about it, I&#8217;d say it is like the spirit of the material whispers to me. Magic or not, I&#8217;ve learned to trust it as much as my analytic side, as the combination of subjective and objective powers helps create a balanced design dialog. Plus, it&#8217;s fun!</p>

<p>Now that I have a track record with my printer (<a rel="nofollow" target="_blank" href="http://www.papergraphicsonline.com/">Papergraphics</a> in nearby Merrimack, New Hampshire), I felt comfortable enough to ask again about cardboard stock. Frank, the owner, was willing to look into options for me. First was getting the paper reps to provide samples, which Frank took care of. Next, he made six prototypes of the pad using the samples, which I was able to look at yesterday. As I saw them all arrayed before me, using my own ETP designs, my first thought was that my printer is awesome.</p>

<p>I picked up each pad and allowed my gut reaction to take place. There were two kinds of cardboard: what seemed like thicker versions of the brown cardboard I was already using, and one that was a kind of coated paperboard. The cardboard thickness started to add the feel of &#8220;quality&#8221; to the pad at around 050 points. The thickest cardboard with 080 points, and reminded me of a delicious graham cracker crust. I really liked it and wanted to use it, but it was almost <em>too</em> thick relative to the paper it was supporting. The paperboard was just as rigid but was also thinner at 050 points. A different kind of material than the cardboard, and there is something about it that was appealing to me. For one thing, it&#8217;s 100% recycled paperboard, from a company that&#8217;s been making the stuff since the late 1800s. While it&#8217;s only 050 points thick, it was more rigid for its thickness than the other material (even the 080 points stuff had a slightly spongy feel to it). Frank mentioned that this material would be a bit easier to source too, so that was the clincher. An unexpected choice that I hadn&#8217;t directly asked for, which delighted me&#8230;that&#8217;s one of the benefits of working with a great printer. As a bonus, the paperboard is white, which would make the pad a little more special when compared to other products.</p>

<h3>Updating the Product</h3>

<p>This new paperboard will be used for the updated version of the Emergent Task Planner pads. This is my very first product update. Currently, the product on Amazon is a 75-sheet shrinkwrapped pad on 030 point cardboard selling for US$12.00. After making the StickyPad ETP packages, which feel really good in the hand, I wanted to also include a new instruction sheet (single color to keep costs down). Having seen how the 75-sheet pad has sold for the past few years at US$12.00, my gut feeling is that if I can drop the price to under 10 bucks I might see an increase in sales volume. Dropping the sheet count will allow me to do this, though between you and me it doesn&#8217;t really cut costs that much. Plus, adding thicker cardboard and the instruction sheet ADDS to the per-unit cost a bit, so charging less for the new package is a kind of economic step backwards. However, I THINK that the overall product will be more attractive at $9.99 than 50% more paper at $12. I&#8217;ll find out whether my gut was right or not.</p>

<p>Another advantage the new pads may have is future retail sales. The new pads should feel really good when you pick them up, which may be important for selling in a physical stores. I still haven&#8217;t mustered the courage to walk into a stationery store to try sell them a case, but that&#8217;s an upcoming consideration. I am curious also whether the stiffer pad actually will make it easier to put a tighter shrinkwrap on the product as well&#8230;we shall see!</p>

<p>The plan is to phase out the current supply of 75-sheet pads on Amazon. I have about 6 weeks of stock right now, which gives me time to produce the new pads. I have to design a new instruction sheet too. Since the ETP design itself hasn&#8217;t changed, I had those printed when doing last reorder of 75-sheet pads; they just need to be padded-up once the new paperboard backers arrive (2 weeks) and the instruction sheet is printed. It occurs to me that I haven&#8217;t actually checked to see what kind of paper the instruction sheet will be on; I should ask about samples.</p>

<p>One issue that I&#8217;m unsure about is how much confusion will result from having both products listed during the transition. I think I&#8217;ve made sure that the products are different enough (sheet count, features) that the choice is clear, but I&#8217;m a little concerned that there will be some resentment. However, NOT doing something because of what MIGHT happen is a great way to fail by not trying. I&#8217;ve had plenty of practice doing that over my lifetime, so I&#8217;m going to take the risk and find out what happens. Eep!</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/kBMtHaXgTB4" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/blog/2012/04/the-joy-of-cardboard/</feedburner:origLink></item>
      <item>
         <title>Facing the Blankness</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/PIyaruQQj0Y/</link>
         <description>SUMMARY: I&amp;#8217;ve decided to be a stationery designer&amp;#8230;yay! But I&amp;#8217;m finding it tough to put it into action, despite having the freedom to do so. I outline several stages of realizations as I drill down to a point just shy &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/04/facing-the-blankness/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=5021</guid>
         <pubDate>Mon, 23 Apr 2012 03:46:46 +0000</pubDate>
         <content:encoded><![CDATA[<p>SUMMARY: I&#8217;ve decided to be a stationery designer&#8230;yay! But I&#8217;m finding it tough to put it into action, despite having the freedom to do so. I outline several stages of realizations as I drill down to a point just shy of having a to-do list.
<hr id="more-5021" class="more-separator"/></p>

<p>I declared my intention to &#8220;be a stationery designer&#8221; this year, and now that the initial excitement has worn off I&#8217;m facing several realities:</p>

<ol>
<li><p><strong>It&#8217;s going to take time.</strong> It will probably take more than a year to see how this ultimately shakes out. In the meantime, I&#8217;ll need to maintain the other business: that of being a designer/developer for interactive.</p></li>
<li><p><strong>I&#8217;ll need to do the unpleasant work.</strong> The fun parts alone aren&#8217;t enough to build a support structure that will allow the stationery designer to have fun. The biggest hurdle I face is just talking to people to tell them what I can offer them. The second hurdle is putting together the supply chain and accounting methods to make sure that I&#8217;m doing OK.</p></li>
<li><p><strong>I&#8217;ll need to self-motivate and execute on the unpleasant work.</strong> A lot of the work I need to do is clear in its utility, but ambiguous in process details. For example, I know I need to find and talk to retailers to expand the market for my stationery, but I&#8217;m not exactly sure what to say.</p></li>
</ol>

<p>So what&#8217;s stopping me? I&#8217;m facing a mixture of uncertainty and fear: the uncertainty is in what to do, and the fear is related to rejection and appearing foolish.</p>

<h3>Facing The Blankness</h3>

<p>Although the above diagnosis seemed to capture the true essence of my blockage, it didn&#8217;t really help me see a solution. So, I went to Starbucks yesterday to clear my head, sitting in the corner chair with my eyes clamped shut and my hand furiously scribbling down thoughts as they occurred. The very first thing I wrote was BLANKNESS, because I had no clue what to write at first. I then dubbed it THE BLANKNESS, for emotional drama, and then realized that it is NOT malicious. It&#8217;s merely the <strong>unprocessed form of opportunity</strong>, the raw idea that need to be somehow converted into something that actually works. The feeling of blankness is like having the idea to make an incredible cake, then acquiring a bag of flour without the foggiest idea about what to do with it.</p>

<ul>
<li>The Blankness offers no helpful suggestions.</li>
<li>The Blankness does not let you know if you are doing things the right way. </li>
<li>The Blankness doesn&#8217;t give a crap about what you want.</li>
<li>The Blankness doesn&#8217;t want anything on its own.</li>
<li>What you do with The Blankness is entirely your fault.</li>
</ul>

<p>There are lots of ways to deal with The Blankness. You could go work for someone who already processes it and get a job following someone else&#8217;s instruction. Or you could acquire the knowledge yourself, find the right recipes, and go into business for yourself. The way I seem to be doing it is through exploration, creating my own recipes from scratch because I&#8217;m stubborn that way. This is more difficult, slower, and possibly an inefficient use of my time, but I think this is where I am. I&#8217;m like the erstwhile baker who has acquired all the equipment I need to open a bakery, but haven&#8217;t figured out how to operate it to keep things humming along while generating a sustainable revenue stream.</p>

<p>I scribbled down four structuring statements in an attempt to define some operational parameters:</p>

<ul>
<li><p>To do good work in a timely fashion in a predictable manner.</p></li>
<li><p>To produce longer-form, meticulous, and excellent works that stand up to scrutiny.</p></li>
<li><p>To be in control of my own time and impulses, maintaining balance and sustainable productivity.</p></li>
<li><p>To find the joyfulness in work, and put playfulness into my processes.</p></li>
</ul>

<p>These are principles that I think will lead to the production of excellence. They do not, however, tell me what to do. So let me add some operational intention, the justification for having principles in the first place:</p>

<ul>
<li><p>To maintain a production queue of things that can be released to the world as &#8220;finished&#8221;.</p></li>
<li><p>To pick specific tasks that, when they are completed, add to the assets that a successful stationery designer would have: revenue, products, delighted buyers.</p></li>
</ul>

<h3>Doing is Hard when You Don&#8217;t Know What to Do</h3>

<p>I can make up some tracking forms for this, make lists, and develop some good habits to try and maintain my energies. However, I also need to acknowledge that DOING things is hard when you don&#8217;t know exactly what it is you&#8217;re doing.</p>

<p>This is where a lot of the theory about definition and focus collapses for me. Definition and focus, I think, come in hindsight. To get to that place, my current belief is that I&#8217;m missing two qualities:</p>

<ul>
<li><p><strong>Mental perseverance</strong> in the face of uncertainty, so you <em>discover</em> what you should be doing. Especially necessary when there is no recipe to follow.</p></li>
<li><p><strong>Enjoyment</strong> of the process. Necessary for maintaining maximum energy and momentum, and to some extent for excellence.</p></li>
</ul>

<p>Right now, as I&#8217;m writing this blog post, I am actively fighting the mental perseverance issue. I feel myself getting very sleepy, which I have come to recognize as a physical reaction I have when doing something difficult or uncertain. Pushing past this is a decision I have to make. I have forced myself to reread this post over and over until it starts to make sense. And it IS starting to make sense, in a top-down fashion. And interestingly, I am re-energized. The mental fatigue has vanished&#8230;it was a manifestation of uncertainty, apparently. Amazing how real it feels.</p>

<p>The lack of <strong>enjoyment</strong>, on the other hand, is something of a surprise. I&#8217;ve been seeing work as a grim exercise of willpower, not a joyful exploration and packaging of experience. If there&#8217;s anything I know, it&#8217;s that joyfulness is one of the best parts of being alive. I have tended to judge my work based on value, utility, and timeliness I can bring to my clients. While I think the sentiment is appreciated, it doesn&#8217;t lend itself to creating joy. There are a different set of attitudes and control mechanisms that go with the value/utility/timelessness formula; they may be more familiar if you think of the old contractor maxim, &#8220;cheap, good, fast: pick any two.&#8221; It&#8217;s a defensive, negotiation-based approach that I find stressful at times. I can&#8217;t get entirely away from it, but I certainly could stand to think of how joy can <em>actively</em> drive the work process. It is <em>completely necessary</em> if I&#8217;m going to make this work.</p>

<h3>Facing Imagined Backlash</h3>

<p>Finally, I need to make a <strong>commitment</strong> to a small set of actions. Just typing that sentence out gave rise to a boatload of doubts:</p>

<ul>
<li>What are the right things? I want to choose the ones that give me the most bang for the buck!</li>
<li>Will I mess up? Will the effort be wasted?</li>
<li>Will I be mocked or judged based on what I tried to do?</li>
<li>Will they work quickly and bring in revenue?</li>
<li>What if people don&#8217;t like it?</li>
<li>What if people think I&#8217;m wasting their time?</li>
</ul>

<p>I think when anyone is doing anything that is uncertain and outside the norm of experience, they are going to think these thoughts. They will be thinking in terms of losing credibility, status, acceptance, or reputation. They will cope with this possibility in different ways. My way, apparently, is to write long blog posts about what I&#8217;m thinking. This helps me see what I&#8217;m facing, and I am hopeful that other people may see something in themselves in it and know that they&#8217;re not alone.</p>

<p>I&#8217;ll tell you right now, I don&#8217;t want to cold call retailers and ask them to carry my product. I don&#8217;t even know what that means, and I imagine things like having to commit ten thousand dollars I don&#8217;t have to take a bet on a production run, or being made to feel small and insignificant. But I <em>also</em> know, having written that out, that I can say &#8220;no&#8221; to that without any problem. There are always other opportunities. However, those opportunities aren&#8217;t going to present themselves unless I go out there and start talking to people. It&#8217;s Concrete Goals Tracker rule #2: &#8220;Show what you&#8217;re doing.&#8221;</p>

<h3>Coping with Feeling Stupid</h3>

<p>I know that there are people who have no qualms about doing things like this, and it may be instructive to imagine what the process might be like for them. It might just be like riding a bike for the first time, allowing yourself to be in the noobie-fear state until suddenly you master it. And then, you are free. The resistance and fear itself are indicators of the magnitude of the reward!</p>

<p>As a man in my 40s, I am less embarrassed about asking questions and being bad at stuff when I first start, because I already feel secure in knowing how to do some cool stuff already. However, there are areas where I am very sensitive, and I think it&#8217;s related to the desire to be accepted and to fit in. I want to matter and not feel diminished. Joining any kind of club, for example, where there are long-standing members, produces anxiety of this nature. Meeting attractive women creates a similar anxiety. The anxiety I feel in talking-up what I do comes from a lack of confidence in that my work is relevant at all. As I said, I would like to feel like I matter and am not diminished in the eyes of others.</p>

<p>I have a few coping mechanisms.</p>

<ul>
<li><p>The first is recognizing that I don&#8217;t need to appeal to 100% of the world. This is a lesson I learned from blogging and back-fitted into my social relationships. I know there are a handful of people out there, maybe 200 or so strong, that actually dig what I&#8217;m doing. That&#8217;s probably something like half a percent of all visitors. Everyone gets their half-percent, no matter what they do or are into. To put this in another perspective, how many best friends does one have? All friends can&#8217;t be best friends. There are a select few, a small percentage of the people you know, that fit in that way. You can probably &#8220;get along&#8221; with a higher percentage of people, which is nice, but they are not intimately part of your life. The same is probably true of the world of retail I&#8217;m entering. That&#8217;s just the way things are. You can only go up from your 1/2 percent audience. You just need to meet a lot of people, and show what you&#8217;re doing, and keep improving as you go.</p></li>
<li><p>The second is not to take things so personally. Instead, project the positive beliefs you have outward despite what you think might be coming back. So instead of imagining that people are judging me harshly (which they may well be doing), I can instead choose to ignore them. They&#8217;re not in my 1/2 percent, or even in my 10% or 20% audience of simpatico people. That&#8217;s OK.</p></li>
<li><p>When I&#8217;m faced with actual combativeness, I can see their point of view and shift into a critical mode. It becomes more of a conversation about perspectives, and agreeing to disagree without disrespecting their opinion. I often learn something. In the cases where it&#8217;s just deliberate hostility, I can recognize it and disengage the conversation. However, I do dwell on it for days, and it can be difficult to recover from. That&#8217;s when it&#8217;s good to know who is in your 1/2 percent. And have a good friend to buy you ice cream.</p></li>
</ul>

<h3>Conclusion</h3>

<p>So I&#8217;ve identified a bunch of shortcomings, fears, and operational flaws in my 2012 approach. Having identified them, I can see what to do. I can also see it&#8217;s nobody&#8217;s fault. I&#8217;m not going to blame myself&#8230;what purpose would that serve?</p>

<p>Operationally, though, I can see that there are changes to make. I have a few new mental tricks to deal with The Blankness, and I recognize I have to commit to doing some difficult specific tasks that, for one reason or another, are rooted in childhood fears and anxieties that I know everyone has.</p>

<p>So let&#8217;s see how this goes.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/PIyaruQQj0Y" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/blog/2012/04/facing-the-blankness/</feedburner:origLink></item>
      <item>
         <title>Recentering</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/nHN9rxbeOTc/404</link>
         <description>I&amp;#8217;m aware of a giant, ever-shifting cloud of possibility. I like having this cloud nearby, as it is the host of all experiences that I excitedly anticipate. Many of my own dreams and desires live in this cloud, too. On the other hand, the cloud of possibility is so massive that it tends to overshadow [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=404</guid>
         <pubDate>Wed, 11 Apr 2012 00:30:48 +0000</pubDate>
         <content:encoded><![CDATA[<p>I&#8217;m aware of a giant, ever-shifting cloud of possibility. I like having this cloud nearby, as it is the host of all experiences that I excitedly anticipate. Many of my own dreams and desires live in this cloud, too.</p>

<p>On the other hand, the cloud of possibility is so massive that it tends to overshadow reality. Reality, unlike the world of dreams, takes time and resources to change. Moving an idea from the cloud of possibility to the real world takes a huge amount of energy compared to the ease of just dreaming about it.</p>

<p>Learning to cope with that disparity of effort is a major part of my struggle to be productive. What might be helpful is some way to definitively measure what&#8217;s getting done, and letting the pile of real things create its OWN world of possibility from what&#8217;s there.</p>

<p>By example, the dream world allows us to imagine what we can eat based on any criteria whatsoever. We can imagine delicious foods prepared using exotic techniques we&#8217;ve read about, prepared with unworldly skill in exotic locations. It&#8217;s fun, right up to the point where you decide to try to do it.</p>

<p>The real world, by comparison, attaches a statistical likelihood of success plus a cost to every dream. It&#8217;s easy to rack up a huge time and resources bill when in the dream world, because you can pay with dream money. In the real world, it&#8217;s easy to get stuck on just the first step.</p>

<p>Then there are the possibilities that come not from dreams, but from what you have. If you have two eggs and a skillet, the possibilities pretty much point to some kind of fried egg dish. If you find some cheese and maybe some mushrooms, then omelets are starting are looking likely. However, just because the omelets are arising out of what&#8217;s right in front of us, that doesn&#8217;t mean it is any less exciting if you know how to look at the situation. You can make phenomenal eggs and strive for perfect prepared omelets.</p>

<p>Learning to anchor myself to the possibilities offered by the real world, but using the dream world to help guide me toward new capabilities to develop, might be the way to go. It might result in less feelings of inadequacy, if I accept this. It&#8217;s a form of designing within constraints.</p>

<p>Combining this with the recognition that making progress in the real world is orders of magnitude slower, especially along difficult paths that few have traveled, may help. Using a recipe-based approach to generate quick-and-dirty assets might help maintain a sense of progress.</p>

<p>I should review the game work. How to organize it?</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/VDChcfhUyaU" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/nHN9rxbeOTc" height="1" width="1"/>]]></content:encoded>
         <category>Assessments</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/VDChcfhUyaU/404</feedburner:origLink></item>
      <item>
         <title>2012-2013 Academic Compact Calendar</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/Hrg1hGv5B6g/</link>
         <description>By request, I have just updated and posted the Academic Compact Calendar for 2012-2013 for the US region. It&amp;#8217;s very similar to the compact calendar, but just starts from around August 15. In fact, the current version of the Compact &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/04/2012-2013-academic-compact-calendar/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=5017</guid>
         <pubDate>Fri, 06 Apr 2012 20:11:44 +0000</pubDate>
         <content:encoded><![CDATA[<p>By request, I have just updated and posted the <strong><a rel="nofollow" target="_blank" href="http://davidseah.com/pceo/acc">Academic Compact Calendar</a></strong> for 2012-2013 for the US region.</p>

<p>It&#8217;s very similar to the <a rel="nofollow" target="_blank" href="http://davidseah.com/pceo/pcal">compact calendar</a>, but just starts from around August 15. In fact, the current version of the Compact Calendar uses the &#8220;arbitrary starting date&#8221; formulas that originated in the debut of the Academic version last year. I added some <strong>pretty PDFs</strong> to download, if you don&#8217;t want to muck around in Excel :)</p>

<p>&raquo; Visit the <a rel="nofollow" target="_blank" href="http://davidseah.com/pceo/acc">Academic Compact Calendar Page</a></p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/Hrg1hGv5B6g" height="1" width="1"/>]]></content:encoded>
         <category>Productivity</category>
      <feedburner:origLink>http://davidseah.com/blog/2012/04/2012-2013-academic-compact-calendar/</feedburner:origLink></item>
      <item>
         <title>Groundhog Day Resolution Review 4/4/2012</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/7pIw6BAEPas/</link>
         <description>Time for the second Groundhog Day Resolution Review Day! Looking back at last month&amp;#8217;s review, I&amp;#8217;m amazed at how verbose it was. Today, my goal has simplified considerably. Before, I was thinking that my master resolution was to create a &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/04/groundhog-day-resolution-review-442012/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=5011</guid>
         <pubDate>Thu, 05 Apr 2012 00:43:04 +0000</pubDate>
         <content:encoded><![CDATA[<p>Time for the second <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/02/groundhog-day-resolutions-2012/">Groundhog Day Resolution</a> Review Day! Looking back at <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/groundhog-day-resolution-review-332012/">last month&#8217;s review</a>, I&#8217;m amazed at how verbose it was. Today, my goal has simplified considerably.</p>

<p>Before, I was thinking that my <strong>master resolution</strong> was to create a very comprehensive <strong>map of my goals</strong>, relating intention with action and sorted by work-life category. While the work I did on this was quite illuminating, it actually ended up being the catalyst for declaring a <strong>new identity</strong> for myself: <strong><a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/becoming-a-stationery-designer/">maker of functional stationary</a></strong>.</p>

<p><hr id="more-5011" class="more-separator"/></p>

<h2>Progress</h2>

<p>So, the major progress I&#8217;ve made in the past month has been <em>accepting</em> that new identity. Instead of worrying that I needed to see the COMPLETE SEAH-TIME-SPACE CONTINUUM on a big sheet of paper, I focused on two main things:</p>

<ul>
<li>I&#8217;m a stationery designer, hee hee hee! </li>
<li>I&#8217;m a freelance designer, working on important client projects</li>
</ul>

<p>These two identities, while not necessary at odds with each other, do represent a <strong>time allocation conflict</strong> between the old me and the new. March was also the month that I officially started a very-involved design project that will continue to the beginning of summer. It was difficult to stay focused on the difficult project work when the prospect of being a stationery designer seemed so much more enticing.</p>

<p>At the end of this month, I&#8217;ve affirmed several ideas that have kept me balanced:</p>

<h4>Finding Faith to Act</h4>

<p>I&#8217;ve accepted that <strong>worthwhile endeavors are inherently difficult</strong> and not possible to optimize. Difficulty usually manifests as something I have to learn that I don&#8217;t have time to learn, while at the same time making-up solutions that WILL suck up energy and time WITHOUT guaranteeing success. <strong>This is the only attitude that works</strong>. While it&#8217;s possible that <em>shortcuts</em> or <em>other processes</em> will fall into my lap, to seek such things first is self-defeating. The longer you&#8217;re in it, the more likely you are to win it. And I&#8217;ve come to believe that the journey is NOT the reward; the journey is where you HAVE TO BE in order to HAVE ANY CHANCE of grabbing whatever brass ring appears before you. It may not be the brass ring you want, and it may even begin another long journey instead of granting sweet rest, but you&#8217;ve gotta be on the road if you ever want the opportunity to see where it takes you. After ticking through the stories, personal experiences, and observations over the years&#8230;I think I finally believe this as a First Principle. That takes a lot of the questioning out of the work.</p>

<h4>Community-driven Product Making</h4>

<p>Last month I launched the <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/4x6-stickypad-etp-now-available-on-amazon/">Emergent Task Timer StickyPads</a>, which was a product based on a reader email asking me if it was possible. He had provided a link, and I followed it, and then asked my printer (whom I&#8217;d built a working relationship with over the past several years) if it was feasible. I&#8217;m now looking at a followup product that will be a <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/dry-erase-version-of-the-etp-anyone/">dry erase board</a>, which was based on a photo of the DIY ETP-style white board that another reader posted on my Facebook page. I thought it was a cool idea, after talking to some local suppliers it looks like I can do it. The larger size offers new possibilities too that I&#8217;m excited to start prototyping with y&#8217;all. The upshot of all this activity? <strong>It&#8217;s fun and engaging.</strong> I like to <strong>share</strong> what I&#8217;m working on with people, and it&#8217;s even better it&#8217;s in the context of <strong>wanting to do more</strong>. I want to make products that reflect my own standards of cool, and there are people out there that want neat-looking organizational tools so they can be productive badasses! That&#8217;s a synergy I can work with.</p>

<h4>Building Machines for Selling Stuff</h4>

<p>I&#8217;ve been thinking a lot, perhaps to the point of public crassness, about what business is. To me, a good business is the result of research into a &#8220;machine&#8221; that successfully creates desirable benefits at a well-defined cost to be sold for profit while delivering exceptional happiness to the customer.</p>

<p>After deciding to call myself a &#8220;maker of functional stationery&#8221;, I found that this mental model of business pointed to a singular rule: <strong>devise more machines that make selling stationery easier</strong>. I have that already in the form of Amazon Pro Merchant and Fullfillment by Amazon, but it can be better. This exercise is unexpectedly fun, because Amazon provides me with feedback in terms of sales numbers and I can see if what I&#8217;m trying is working. Feedback rocks!</p>

<h4>Seeing the Snowball Grow</h4>

<p>Say you spend $100 to make 100 cookies that you sell for a total of $125. Take $100 from that $125 and make another 100 cookies. This is a self-sustaining process, and it&#8217;s how I am maintaining production of the Emergent Task Planner Pads.</p>

<p>Continuing the example, after 4 batches of 100 cookies have been sold, I&#8217;ve now saved $100. I can spend it, or I can use it to create a completely NEW kind of cookie that taps a different market need (so it doesn&#8217;t cut into sales of the first kind of cookie). Presuming that the new cookie sells at the same rate as the old cookie, I&#8217;m now selling 200 cookies at a time for a total take of $250. So now I&#8217;m saving money at twice the rate. In two batches of two types of cookies sold, I have another $100 that I can use to launch a <em>third</em> cookie product that, again, taps a different market.</p>

<p>In this third run, it takes two batches to save $150, which is more than I need.</p>

<p>In the fourth run, it takes one batch to save $100 selling across four different cookie types, presuming they&#8217;re all selling at the same rate. This is where it starts to look interesting. I&#8217;m now able to save enough money per run, selling about 400 cookies in a time period. This is the <strong>magic point</strong> I&#8217;d like to reach.</p>

<p>This is a highly idealized model, but it shows me that I can <strong>invest profits</strong> from my production runs into new product development and <strong>increase the rate</strong> of revenue generated. That is presuming, of course, that having more kinds of products to sell is actually the way to grow the business. As I&#8217;ve seen sales of the ETP pads stay pretty consistent over the past few years, the addition of a new product has only added revenue. The more products that are maintaining this kind of slow positive growth, it seems the more likely I can ramp up the long-term revenue of my weird little stationery business. The other way is to increase volume of sales through marketing, or by placement with bigger retailers. That&#8217;s not off the table, but it&#8217;s nice to have an ALTERNATIVE PLAN to that. The more I can grow through my own efforts, the better I think. The big takeaway is that <strong>I can see how the money machine works</strong> in context with what I can control. That&#8217;s a HUGE relief.</p>

<h2>Conclusion</h2>

<p>So, reporting for this month&#8217;s Groundhog Day Resolutions Review, I&#8217;d say that I&#8217;ve found my set of working principles:</p>

<ul>
<li><p>Turn that Work Crank and see what comes out. Keep cranking. Even if nothing appears to be happening, it really is the only way!</p></li>
<li><p>Create products for my tribe, with my tribe!</p></li>
<li><p>Make simple machines that improve my capacity to sell, without requiring more of my precious hands-on education.</p></li>
<li><p>Save profits to fund production of new products. Revenue levels will, in time, snowball into significant amounts. Also growing the volume of existing sales through marketing activities can help, but it&#8217;s not the only game in town. Good products first. Marketing second.</p></li>
</ul>

<p>I&#8217;m feeling pretty positive about this, and the great thing is that all of these activities can be done in small pieces, which frees my large blocks of time up for contract work, which continue to pay the bills. By the time I hit 10 products for sale, I&#8217;ll be able to evaluate this strategy for sure. In the meantime, the numbers seem promising.</p>

<h2>Next</h2>

<p>By next month, I hope to see development progress on the following products:</p>

<ul>
<li>50-sheet, thick cardboard ETP full-sized pad (test product)</li>
<li>Fountain Pen Notebook</li>
<li>Dry Erase ETP 18&#215;24&#8243; board</li>
<li>Certificate of Chain Letter Breaking</li>
<li>A5 Bound ETP Journal</li>
</ul>

<p>It&#8217;s unlikely I can fund all these at once, but I can certainly put the legwork in now! I&#8217;m pretty excited.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/7pIw6BAEPas" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/blog/2012/04/groundhog-day-resolution-review-442012/</feedburner:origLink></item>
      <item>
         <title>Beeminder</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/qhSP1LgWQI8/</link>
         <description>A few months ago I got an email from someone on the behalf of Beeminder, a goals tracking web product that I hadn&amp;#8217;t been aware of. What struck me about the email, unlike many I get regarding products, was how &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/04/beeminder/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=4995</guid>
         <pubDate>Mon, 02 Apr 2012 06:40:55 +0000</pubDate>
         <content:encoded><![CDATA[<p>A few months ago I got an email from someone on the behalf of <strong>Beeminder</strong>, a goals tracking web product that I hadn&#8217;t been aware of. What struck me about the email, unlike many I get regarding products, was how <em>personable</em> and <em>transparent</em> it was in its tone. It was infectiously charming, and thus intrigued I went to check out the product itself.</p>

<p>Beeminder allows you to <strong>track anything you can count</strong> on a daily basis: pushups, cigarettes, etc, and it plots them on a graph as you enter them. There&#8217;s an ideal curve called the <strong>yellow brick road</strong>, meaning that you are hitting your goals consistently over time.</p>

<p>If you fall off that ideal curve, the graphing stops, and you can&#8217;t enter in any more data. And this is where Beeminder starts to play mind games with you. If you want to start the graphing again, <a rel="nofollow" target="_blank" href="https://www.beeminder.com/money">you pledge some real money</a>. If you fail <em>again</em>, you have to pay the pledge, which is sort of like buying another &#8220;life&#8221; in a video game. Or, you could also <em>rage-quit</em> and stomp away muttering about how the goal was never very good to begin with, but that&#8217;s up to you. If they are your goals, and they&#8217;re important to you, you will not mind putting a little money on the line to help trigger the powerful loss-averse aspect of your primitive brain.</p>

<p>Yes, really. It&#8217;s such a powerful concept that I&#8217;m afraid to sign up for it, though I suspect it is just a matter of time before I do. That&#8217;s because Beeminder is not just a graphing program: it is an <strong>artifact</strong> that makes the underlying productivity theory both visually accessible and quantitatively concrete. It specifically draws on observations about human behavior, like how we suck at thinking rationally about the future. Specifically, Beeminder seeks to be a &#8220;commitment device&#8221; with teeth by making you PAY UP.</p>

<p>Beeminder is also a tool for people who like to analyze data. It&#8217;s exactly the tool I wish I had when I was following the <a rel="nofollow" target="_blank" href="http://www.fourmilab.ch/hackdiet/www/hackdiet.html">Hacker&#8217;s Diet</a> several years ago, because it applies the &#8220;sliding window smoothing&#8221; filter to daily weight using &#8220;Rose-Colored Dots&#8221;. There are a variety of other averaging and threshold filters with fun names like <em>The Turquoise Swath</em> and the aforementioned <em>Yellow Brick Road</em>.  They are somewhat hard to see unless you zoom in; this is an example from their site:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0402-beeminder.png.jpg" width="570" height="573"/><br /></p>

<p><br style="clear:both;"/></p>

<p>But this isn&#8217;t really why I&#8217;m writing about Beeminder, even if it IS a nicely-designed web application copy-written with a charm reminiscent of <em>The Phantom Tollbooth</em>. The reason I&#8217;m writing is because the <strong><a rel="nofollow" target="_blank" href="http://blog.beeminder.com/">blog</a></strong> is an <strong>amazing trove of writing</strong> about goal setting,  written in an accessible magazine-like style&#8212;sort of an academic version of <em>The Atlantic</em>&#8212;that&#8217;s far more nutritious than the usual <em>10 WAYS TO MEET GOALS WITH A KITCHEN TIMER</em> list articles rattling around the Internet. It&#8217;s smart, amusing, and generously filled with citations so you can learn more. I like it a lot.</p>

<p>The article that induced me to write about this was <a rel="nofollow" target="_blank" href="http://blog.beeminder.com/flexbind/">Flexible Self Control</a>, which introduced me to the ancient Greek term <a rel="nofollow" target="_blank" href="http://blog.beeminder.com/akrasia/">akrasia</a>. From Wikipedia (emphasis mine):</p>

<blockquote>
  <p>Akrasia (ancient Greek ἀκρασία, &#8220;lacking command (over oneself)&#8221;), occasionally transliterated as acrasia, is <strong>the state of acting against one&#8217;s better judgement.</strong></p>
</blockquote>

<p>This is an area that&#8217;s highly interesting to me, and now a whole new line of research awaits me. Thanks, Beeminder, for being there. Keep doing your thing!</p>

<p>&raquo; <strong><a rel="nofollow" target="_blank" href="http://beeminder.com/">Beeminder: The App</a></strong><br />
&raquo; <strong><a rel="nofollow" target="_blank" href="http://blog.beeminder.com/">Beeminder: The Blog</a></strong></p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/qhSP1LgWQI8" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/blog/2012/04/beeminder/</feedburner:origLink></item>
      <item>
         <title>Dry Erase Version of the ETP, Anyone?</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/9dsIft71zsw/</link>
         <description>Over on the Facebook Page for David Seah Dot Com, an enterprising user of the Emergent Task Planner made her own whiteboard version, using a permanent ink marker to draw it by hand on what looks like a larger size. &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/dry-erase-version-of-the-etp-anyone/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=4993</guid>
         <pubDate>Wed, 28 Mar 2012 20:45:32 +0000</pubDate>
         <content:encoded><![CDATA[<p>Over on the <a rel="nofollow" target="_blank" href="http://www.facebook.com/DavidSeahCom">Facebook Page</a> for David Seah Dot Com, an enterprising user of the <a rel="nofollow" target="_blank" href="http://davidseah.com/pceo/etp">Emergent Task Planner</a> made her own <strong>whiteboard</strong> version, using a permanent ink marker to draw it by hand on what looks like a larger size. It&#8217;s pretty glorious, so I asked my printer if they could make them.</p>

<p>They came back with a few options, ranging from a laminated flexible plastic to a rigid version. They are kind of expensive to make, so I&#8217;m testing the waters with this post.</p>

<p>So I&#8217;m <strong>looking for some feedback</strong> from people who like boards on their wall. The original idea was to adapt the ETP to this, but I&#8217;m open to suggestions. It would be cool, for example, to design a group project dry erase dashboard. I used to like these when I worked in teams, so we could see what the objective of the day was. I suppose I should prototype it.</p>

<p>Anyway, leave a comment here or <a rel="nofollow" target="_blank" href="http://www.facebook.com/DavidSeahCom">post on the Facebook page</a> if you have any interest in a future product like this. First, we&#8217;ll brainstorm and figure out what we&#8217;re looking for. Then, I&#8217;ll produce a mockup that testers can print locally at their nearby copy shops and see if it&#8217;s awesome or not. Thanks!</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/9dsIft71zsw" height="1" width="1"/>]]></content:encoded>
         <category>Product Making</category>
      <feedburner:origLink>http://davidseah.com/blog/2012/03/dry-erase-version-of-the-etp-anyone/</feedburner:origLink></item>
      <item>
         <title>Ars Technica explains Amazon Web Services</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/5z8yKlfI3Cg/</link>
         <description>For a while, I&amp;#8217;ve wondered what all the difference Amazon cloud computing services were. With unfamiliar jargon and technical hyperbole, I came to believe that it was an entirely new way of thinking. It turns out it isn&amp;#8217;t, thanks to this primer on amazon web services on Ars Technica. A virtual machine is still a [...]</description>
         <guid isPermaLink="false">http://davidseah.com/infotech/?p=63</guid>
         <pubDate>Mon, 26 Mar 2012 23:10:36 +0000</pubDate>
         <content:encoded><![CDATA[<p>For a while, I&#8217;ve wondered what all the difference Amazon cloud computing services were. With unfamiliar jargon and technical hyperbole, I came to believe that it was an entirely new way of thinking. It turns out it isn&#8217;t, thanks to this <a rel="nofollow" target="_blank" href="http://arstechnica.com/business/news/2012/03/cracking-the-cloud-an-amazon-web-services-primer.ars">primer on amazon web services</a> on Ars Technica. A virtual machine is still a virtual machine; it&#8217;s just called an &#8220;instance&#8221; in Amazon parlance. Short and sweet, the article just made cloud computing more accessible to me.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/5z8yKlfI3Cg" height="1" width="1"/>]]></content:encoded>
         <category>Servers</category>
      <feedburner:origLink>http://davidseah.com/infotech/2012/03/26/ars-technica-explains-amazon-web-services/</feedburner:origLink></item>
      <item>
         <title>Using Windows Batch Files to Overcome Procrastination</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/11OqDa36Y2s/</link>
         <description>SUMMARY: I have a lot of projects that require multiple apps, folders, and documents to be open. I&amp;#8217;m trying something with batch files to make it easier to switch between projects quickly. My productive work happens primarily at a computer &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/using-windows-batch-files-to-overcome-procrastination/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=1942</guid>
         <pubDate>Fri, 23 Mar 2012 00:17:02 +0000</pubDate>
         <content:encoded><![CDATA[<p>SUMMARY: I have a lot of projects that require multiple apps, folders, and documents to be open. I&#8217;m trying something with batch files to make it easier to switch between projects quickly.</p>

<p><hr id="more-1942" class="more-separator"/></p>

<p>My productive work happens primarily at a computer screen, working with a myriad of documents and applications. It takes a while to set up all those app windows and documents, and once they are up I am not happy about moving them. It&#8217;s also a pain in the butt to dig into my document folders to find the right files.</p>

<p>For example, if I&#8217;m making an update to my website, I might have a good number of the following open:</p>

<ul>
<li>GMail</li>
<li>An SSH terminal window, or two</li>
<li>A browser with the system error log, plesk website admin panel, and possibly the ISP control panel</li>
<li>Analytics pages</li>
<li>WordPress admin page, and WordPress posts page</li>
<li>Dreamweaver, Photoshop, Bridge</li>
<li>Digital camera files directory</li>
<li>Windows Explorer windows for images, public download directories, and related project</li>
<li>Browser windows for reference links and supporting information</li>
</ul>

<p>That is, by my reckoning, about 30-40 clicks of the mouse to get up and positioned on my screen. If I&#8217;m doing some work on a client project, I&#8217;ll have:</p>

<ul>
<li>Basecamp in three browser windows (messages, dashboard, writeboard)</li>
<li>Project Files: Word documents, dev journal, issue tracker, InDesign or Illustrator</li>
<li>Photoshop, Dreamweaver</li>
<li>Subversion folders</li>
<li>Various browser windows for looking up stuff.</li>
<li>At least one Windows Explorer file window open, probably two</li>
<li>Gmail / Calendar</li>
<li>Skype</li>
<li>Excel for timetracking</li>
</ul>

<p>It takes dozens of clicks to close old windows and open new ones. I find this incredibly annoying. I&#8217;ve tried multiple desktops and leaving windows open all the time. However, this just makes it so I have to chase which window is where. Plus, I like to close documents and save them as new revisions periodically; leaving things open is just asking for trouble.</p>

<h3>Batching It Up</h3>

<p>I finally got tired of this last week and made a <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Batch_file#Example">batch file</a> that opened all this stuff for me. I figure this might have two benefits:</p>

<ul>
<li><p>It&#8217;s easier to drive right into a project, because the batch file opens up all the relevant files for me to see without little effort.</p></li>
<li><p>It&#8217;s easier to close everything related to one project (saving first) knowing that I can open it up easily later.</p></li>
</ul>

<p>A batch file is simply a text file that has the extension <code>.bat</code> (for batch). If you don&#8217;t see the extensions on your files, it&#8217;s probably because Windows hides them from you by default, figuring that the carnal knowledge that there are such things as FILE TYPES would make your eyes bleed. To show the naughty file extensions, you can <a rel="nofollow" target="_blank" href="http://windows.microsoft.com/en-US/windows-vista/File-names-and-file-name-extensions-frequently-asked-questions">check out these instructions</a>.</p>

<p>Windows still has this primordial command line interface (or CLI, as we old-timers like to say) built-in. If you open your Windows Start menu at the bottom-left of the screen and type <code>cmd</code> into the <em>Search Programs and Files</em> box, a CLI window will pop up. The batch file (below) are the commands that you could type into the CLI; the idea of the batch file is that it does the typing for you.</p>

<p>Here&#8217;s an <a rel="nofollow" target="_blank" href="http://davidseah.com/pub/downloads/dos/Example.BAT.TXT">example batch file</a> (right-click to download):</p>

<pre><code>
<span style="color:#369;">REM Simple Batch File to start programs and documents
REM For 64-bit and 32-bit versions of Windows XP or greater</span>

@echo off
set ProgRoot32=%ProgramFiles%
set ProgRoot64=%ProgramFiles%
if not "%ProgramFiles(x86)%" == "" set ProgRoot32=%ProgramFiles(x86)%

<span style="color:#369;">REM Start an File Explorer that stays inside the specified folder.</span>
REM Remove the /ROOT parameter (leave the comma) to disable folder lock.
%SystemRoot%&#92;explorer.exe /ROOT, D:&#92;path&#92;to&#92;directory

<span style="color:#369;">REM Start a 32-bit application. Replace with %ProgRoot64% if running 64-bit app.</span>
start "Dreamweaver" "%ProgRoot32%&#92;Adobe&#92;Adobe Dreamweaver CS5.5&#92;Dreamweaver.exe"

<span style="color:#369;">REM Open a couple webpages</span>
start "WPAdmin" "http://davidseah.com/"
start "Wikipedia" "http://wikipedia.com"

<span style="color:#369;">REM Open a document (simulates a double-click)</span>
start "My Document" "D:&#92;path&#92;to&#92;document.doc"

<span style="color:#369;">REM See http://en.wikipedia.org/wiki/Environment_variable#System_path_variables
REM for other variables you can use in paths</span>
</code></pre>

<p>To use it yourself, you&#8217;ll have to rename it to .BAT instead of .BAT.TXT. Also, you&#8217;ll need to substitute your own programs and directory paths.</p>

<p>Anyway, this batch file does one of three types of actions:</p>

<ol>
<li>A &#8220;file explorer&#8221; window with a specified directory already open.</li>
<li>A specific program (32-bit or otherwise)</li>
<li>A specific document or webpage, as if I&#8217;d double-clicked it</li>
</ol>

<p>So when I want to open up all the files related to one project, I double-click the batch file and everything opens at once. When I&#8217;m done, I close all the windows and quit all the apps. I have several batch files set up to do the following common activities:</p>

<ul>
<li>Open specific client&#8217;s set of folders and project management docs / web pages. </li>
<li>Open my invoicing files</li>
<li>Open my &#8220;New Blog Post&#8221; apps (Photoshop, Dreamweaver), related image directories, and WordPress admin pages.</li>
<li>Open my &#8220;Maintain davidseah.com&#8221; apps, folders, and so on.</li>
</ul>

<p>The biggest pain in the butt in setting up the files is finding the &#8220;full path&#8221; to the programs and documents you want. If it&#8217;s a program, you can right-click the program&#8217;s name in the start menu, and choose Properties to view either the Shortcut or File Location. If it&#8217;s a document, you can actually drag the icon into the cmd windows, and Windows will fill it in for you. Yes, this is all very tedious; if someone knows of a utility that handles this all for you (or ideally sets up something similar so I don&#8217;t have to edit batch files), let me know.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/11OqDa36Y2s" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/blog/2012/03/using-windows-batch-files-to-overcome-procrastination/</feedburner:origLink></item>
      <item>
         <title>Becoming a Stationery Designer</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/doA_DnjQhr4/</link>
         <description>I used to have a habit of making zig-zagging down my career path. As a college-bound high school senior in 1986, I had made the choice to go into computer engineering instead of pursuing some kind of English degree. After &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/becoming-a-stationery-designer/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=4973</guid>
         <pubDate>Wed, 21 Mar 2012 20:59:48 +0000</pubDate>
         <content:encoded><![CDATA[<p>I used to have a habit of making zig-zagging down my career path. As a college-bound high school senior in 1986, I had made the choice to go into computer engineering instead of pursuing some kind of English degree. After pushing on through to graduate school, I realized that I wasn&#8217;t happy and decided to go to art school for my MFA. My rationalization at the time was that I&#8217;d gone into computer engineering in the first place so I could make video games, so obtaining some credentialed experience on the art side of things would come in handy. And thus did I end up working briefly in the computer game industry from 1992 to 1999, before discovering once more that this wasn&#8217;t <em>quite it</em>. I didn&#8217;t know what &#8220;it&#8221; was, but I knew that I wasn&#8217;t these things:</p>

<ul>
<li>I wasn&#8217;t a computer engineer</li>
<li>I wasn&#8217;t a computer animator</li>
<li>I wasn&#8217;t a game developer</li>
<li>I wasn&#8217;t even a hardcore gamer</li>
</ul>

<p>Fortunately for me, the Internet was starting to supernova in 2000, and opportunities to do computer graphics and interactive design consulting dropped into my lap. In this world, credentials and technical ability matter somewhat, but what&#8217;s even more important is the ability to relate to people. It took me quite some time to realize this, having emphasized multi-disciplinary competence and unwavering ability as the ideal blend of talents to alloy within the crucible of my ambition. But, through good friends and one or two disasters I gradually learned the importance of this lesson. I started to develop an appreciation of people beyond ability, and my empathy&#8212;long suppressed&#8212;started to make itself visible in gasps and sudden starts.</p>

<p>In 2003 I became allergic to marketing work, and took some time off before leaving the company I was with for good. I had drifted out of alignment with their business trajectory. So I went freelance, and a couple years later began to start blogging. Unexpected success of a modest nature, in the form of the Printable CEO Concrete Goals Tracker, gave me an inkling of what it would be like to be appreciated for my own thoughts and own perspective. But I still didn&#8217;t know what I was, what I was doing, or where it would go. Eventually I learned a few more &#8220;I am not&#8221; things:</p>

<ul>
<li>I wasn&#8217;t an interactive designer</li>
<li>I wasn&#8217;t a motion graphic designer</li>
<li>I wasn&#8217;t an entrepreneur</li>
<li>I wasn&#8217;t a consultant </li>
<li>I wasn&#8217;t a web developer</li>
</ul>

<p>I found it interesting that while I could <em>perform</em> these functions, I didn&#8217;t find my identity within them. I wasn&#8217;t filled with excitement about being any of those things as an ends in itself.</p>

<p>Since existing labels didn&#8217;t stick, I started making up my own fields of expertise. For a while, I called myself an <strong>investigative designer</strong>, combining the observational powers of a crime scene investigator with the creative toolkit of a visual designer. This appealed to the creative consultancies. I also tried labels like <strong>information graphics designer</strong>, as I had seemed to develop a design sensibility along these lines with the various Printable CEO forms. I see now that this was an attempt to use the need for consulting status to muffle my inner disquiet.</p>

<p>In the 36 months leading up to 2012, I started to recognize that what was important to me was actually not business-related, but freedom-related. I want to write about what I find interesting because really I have no choice but to indulge. This is what I needed to be able to sustain. The point of me even having a business, I realized, would be to do THIS all the time and make it work FOR me at the same time.</p>

<p>Which brings me to now. The <strong>difficult shift</strong> is dropping all the things I used to do in favor of a new label: that of a producer of goods. I am used to portraying myself as someone who has a lot of skills combined with the insight to make things happen, in the general areas of technology, graphics, and workflow. Even though I didn&#8217;t work in a company, I subconsciously told myself that I <em>could</em> work in one, at a senior level, and be successful. It was a kind of consolation prize for not making progress as quickly and surely as I thought was possible. That keeps me in the past, and judging myself using old guidelines is probably not going to be as effective as accepting new ones that are more relevant.</p>

<p>So, a few weeks ago, I started to erase my old professional identity from the Internet, replacing designer-for-hire and project lead credibility indicators with something that felt, at first, like a <strong>professional step backwards</strong>.</p>

<p>It&#8217;s kind of terrifying, to erase signs of past competence.</p>

<p>Intellectually I know that it&#8217;s not going to kill me, and that I still possess those skills at least at a conceptual level. And indeed, I use nearly <em>all</em> of them in the day-to-day operation of davidseah.com and in the creation of products I&#8217;ve been working on for the past seven years. And also, I am still working as a designer or developer for hire with people who have approached me through existing channels so I can pay the bills. But emotionally, I&#8217;m starting a zig-zag run in a new kind of marathon.</p>

<p>One reason I like the idea of being a stationery designer is that it&#8217;s easy to understand. That not only helps people &#8220;pigeonhole&#8221; me into an understandable category, it also makes it easier for ME to know what I should be doing. As I say I&#8217;m a &#8220;functional stationery designer&#8221;, this pretty much means continuing to develop the various forms and tools I&#8217;ve always done. An added dimension is that of being a business person building a machine that generate revenue, which in my case is being designed to support that desire to write about anything I want and pursue projects that I find interesting.</p>

<p>But is that enough? Friends and various acquaintances, familiar with my skillset, have pointed out that I&#8217;m throwing away a LOT of opportunity by not listing some of the things I do. And, if past history is any indicator, this may not be The One Thing that I&#8217;ll find satisfying in the long run. Is it wise to just throw away those old identities and work opportunities?</p>

<p>I don&#8217;t know. Only hindsight will tell. But I think there is a connection between this path and what I have done all my life, which is just trying to <strong>make sense</strong> of the world. The new wrinkle of understanding is that it&#8217;s not so much the &#8220;making sense&#8221; of things that is my focus; that&#8217;s just the technical aspect of something bigger. And that bigger thing is <strong>addressing the yearning and desire to achieve</strong>. Whether it&#8217;s my own needs or the needs of someone else, this is what I always respond to, and it&#8217;s what shapes all my work., It&#8217;s actually what <em>starts</em> me working. I see the emotional need, and then create something technical that will help meet it. The emotion comes first. It&#8217;s productivity in the context of yearning.</p>

<p>Because it&#8217;s difficult to express that sentiment in a pithy slogan without sounding like a fruitcake, I&#8217;ve decided that just saying I design-, I mean <em>MAKE</em> functional stationery is a useful way to capture the sentiment without being sentimental. Instead of DESIGNER OF, which has service implications, I say MAKE to impart a sense of finished product. That allows me, I think, to focus on the emotional relationships that my products can perhaps resolve. When someone tells me they are happy with the Emergent Task Planner, it&#8217;s the sense of joy at having taken control of their day that moves me: <em>Things aren&#8217;t so hard to track. Change seems possible. I can do more and dream bigger.</em> That&#8217;s what it is really about.</p>

<p>That I get to expense paper, pens, and packaging materials as &#8220;research&#8221; is just a perk ;-)</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/doA_DnjQhr4" height="1" width="1"/>]]></content:encoded>
         <category>Change</category>
      <feedburner:origLink>http://davidseah.com/blog/2012/03/becoming-a-stationery-designer/</feedburner:origLink></item>
      <item>
         <title>Book Impression: “Succeed: How We Can Reach Our Goals”</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/M6mvCCllgDQ/</link>
         <description>Reader Eugene Meidinger left a comment on yesterday&amp;#8217;s post Optimizing Later, where I pondered some of the difficulties I felt in starting tasks that I knew were useful yet unexciting. He mentioned the book Succeed: How Can We Reach Our &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/book-impression-succeed-how-we-can-reach-our-goals/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=4951</guid>
         <pubDate>Tue, 20 Mar 2012 17:37:13 +0000</pubDate>
         <content:encoded><![CDATA[<p>Reader <a rel="nofollow" target="_blank" href="http://resolutions.eugenemeidinger.com/">Eugene Meidinger</a> left a comment on yesterday&#8217;s post <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/optimize-later/">Optimizing Later</a>, where I pondered some of the difficulties I felt in starting tasks that I knew were useful yet unexciting. He mentioned the book <em>Succeed: How Can We Reach Our Goals</em> by psychologist Heidi Grant Halvorson, Ph.D, as being an amazing book. Although the title of the book turned me off&#8212;I&#8217;ve seen <em>soooo much</em> mediocre goal-setting advice&#8212;I grabbed a Kindle sample to flip through. I bought the complete book 5 minutes later.</p>

<p>Although I&#8217;m just 20% through a fast read, I&#8217;m already planning to go buy a physical copy of the book for my shelf of canonical reference material. Perhaps I just haven&#8217;t been paying enough attention to the &#8220;motivational science&#8221; book scene, but I found this book to provide a WEALTH of new-to-me concepts that I&#8217;d half-stumbled over for years, but have been unable to define beyond gut feeling and personal experience. As a bonus, it&#8217;s <em>much</em> more readable than Dan Gilbert&#8217;s <em>Stumbling on Happiness</em>, which has a wry academic cadence interwoven into the material that keep me guessing as to his intent. Maybe this is by design, building plausible deniability into the material in case mobs of &#8220;serious academics&#8221; were to peer-review him behind his back&#8230;but I digress.</p>

<p>While I plan to do a full review sometime in the next year (or ten, given my current progress on this), here&#8217;s some takeaways:</p>

<ul>
<li>Some people believe in FIXED levels of intelligence, while others believe it is MALLEABLE. I&#8217;m totally on the MALLEABLE side, which gives rise to belief I can do things. There is research that shows that the mere belief gives rise to increased success.</li>
<li>Believing that ACHIEVING is EASY, though, has a <em>negative</em> correlation with success. Apparently, we&#8217;re far more likely to succeed if we believe it&#8217;s going to be difficult. </li>
<li>Willpower is like a MUSCLE. It can be exercised and developed. It has a limited store of energy that must be replenished.</li>
</ul>

<p>I&#8217;ve written about various aspects of this over the years, as I&#8217;ve experienced the ups and downs of trying to achieve my own vision of what it means to be happy. The above (which is just from the introduction) seems to fit, AND it is based on research observations. The upshot is that I am NOT BROKEN. I&#8217;m just human.</p>

<p>Flipping randomly through the remainder of the book (I&#8217;ll review this fully at some later time), it seems filled with the familiar material one might expect from a goals book, except steeped in psychology. If you are of an introspective nature and enjoy understanding the differences in mindset that give rise to certain behaviors, you&#8217;d find this book fascinating. If you&#8217;re looking for a DO THIS THEN THAT book, probably not. I&#8217;m of the former persuasion, so I&#8217;m jazzed about filling in some gaps in my own personal approach to productivity.</p>

<p>For example, somewhere in the beginning of the book there&#8217;s a description of the ways we think of goal choices that are easy versus difficult: we tend to think either in terms of WHY or WHAT. As a dreamer that looks for meaning in everything, I often think in terms of WHY I do something. However, this turns out to be a less effective approach than WHAT to do when the goal is DIFFICULT. There&#8217;s an interesting study cited about coffee drinkers and heavy mugs that show the mental proclivity to think one way versus the other, depending on how much effort is required to drink the coffee. There may be a correlation between this and my own stuckness relative to goals, and how I find writing to be the way that I get through things. I often just write what I&#8217;m doing to keep continuity and context. This worked, I thought, because my memory and attention needed backup&#8230;but perhaps it&#8217;s related to WHY and WHAT approaches given a particular kind of task.</p>

<p>Anyway, check it out:</p>

<ul>
<li><strong><a rel="nofollow" target="_blank" href="http://www.amazon.com/Succeed-How-Can-Reach-Goals/dp/1594630739">Succeed: How Can We Reach Our Goals</a></strong> by <a rel="nofollow" target="_blank" href="http://www.heidigranthalvorson.com/">Heidi Grant Halvorson</a> (who has a <a rel="nofollow" target="_blank" href="http://www.psychologytoday.com/blog/the-science-success">blog</a> on Psychology Today)</li>
</ul>

<p>Thanks, Eugene, for pointing this book out to me.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/M6mvCCllgDQ" height="1" width="1"/>]]></content:encoded>
         <category>Reviews</category>
      <feedburner:origLink>http://davidseah.com/blog/2012/03/book-impression-succeed-how-we-can-reach-our-goals/</feedburner:origLink></item>
      <item>
         <title>Optimize Later</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/x8mWsoue25E/</link>
         <description>A while ago I wrote about &amp;#8220;judging not&amp;#8221; as a way of not getting stuck in a cycle of negativity. That negativity, I found, had a tendency to keep me from starting. On a similar note, I have a tendency &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/optimize-later/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=4924</guid>
         <pubDate>Sun, 18 Mar 2012 21:09:00 +0000</pubDate>
         <content:encoded><![CDATA[<p>A while ago I wrote about <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/judge-not/">&#8220;judging not&#8221;</a> as a way of not getting stuck in a cycle of negativity. That negativity, I found, had a tendency to keep me from <strong>starting</strong>. On a similar note, I have a tendency to desire <strong>optimal task sequencing</strong>, which is another way of saying I&#8217;m hard to motivate unless the payoff is big enough. Musings follow. <hr id="more-4924" class="more-separator"/></p>

<p>I find myself constantly expending decision-making energy on tasks as trivial as making an extra trip down into the basement. If I&#8217;m going to go to the basement, I rationalize, I need to have something to bring down AND to bring back up. Maybe my real calling in life is to be a shipping dispatcher, but since I&#8217;m not in that business it&#8217;s actually a problem because it&#8217;s often <strong>faster</strong> to make multiple trips. Failure to do so leads to distraction and unnecessary delay.</p>

<p>Interestingly, this doesn&#8217;t happen when I&#8217;m working in a group of people, because I don&#8217;t like sitting around waiting for something to happen. Movement usually begets action, so in social situations <strong>my desire to see progress overrides the desire for efficiency.</strong> Secondly, I recognize that efficiency in a group arises only after the group task is successfully executed a few times, so the beginning is ALWAYS non-optimal and inefficient. I find that getting through those first passes quickly, then establishing a baseline shared experience to anchor productive discussion, tends to lead to efficiency later.</p>

<p>How quickly I forget that lesson when I&#8217;m working on my solo projects.</p>

<p>I&#8217;m not sure why I&#8217;m like this. I really like seeing <strong>massive return</strong> on effort, and this may not be due to a desire for efficiency. It is just <strong>more exciting</strong> to think about, and that may be the fundamental deficiency in my workflow: I have a high threshold point for action. Optimization is a rationalization I make in the absence of immediate gratification and/or reward. And my idea of a reward is receiving something that <strong>enables higher-quality experiences</strong>. It&#8217;s a catch-22: to create higher-quality experiences means doing a lot of grunt work right now that isn&#8217;t rewarding in the same way. In other words, it&#8217;s hard, often unrewarding work&#8230;UNLESS you are doing it with other like-minded people.</p>

<p>Hmm.</p>

<p>As I wrote earlier today on <a rel="nofollow" target="_blank" href="http://davidseah.com/soc/archives/401">Picking the Right Projects</a> (in my &#8220;stream of consciousness&#8221; journal, I seem to be in a place where I am deficient in shared motivations with my peers. A lot of the work I&#8217;m doing now is related to the unique abilities that I seem to have. Because they are unique, and because I work from home, I am continually in a state of isolation that doesn&#8217;t feed my soul.</p>

<p>To be sure, the &#8220;optimize later&#8221; maxim is good production practice, especially when you are learning to produce something new and aren&#8217;t sure what you are making. This is the creative part of the work. After you have the fruits of your labor in front of you, THEN you can start optimizing because it&#8217;s much clearer what is or is not working on a system-wide level.</p>

<p>Playing devil&#8217;s advocate, &#8220;Optimize Now&#8221; may be a reasonable approach to take if you&#8217;re not really working on something novel or ground-breaking, presuming that you or your team has the skills to make what&#8217;s being asked for without a lot of ramp-up. In other words, an experienced team already has the skills to make what they have before. If improvement is not the goal (such as having some kind of product to fill a niche in one&#8217;s marketing plan) then &#8220;optimize now&#8221; is actually part of project definition tinged with a bit of management pressure. I&#8217;m not going to say that&#8217;s bad, but ironically it&#8217;s not the way I want to work.</p>

<p>So where does my desire to optimize come from? It&#8217;s probably a combination of laziness and disinterest in the process itself. Learning to transform the dull parts of invention into something tolerable is a key discovery I need to push for. The clerical aspects of creativity, such as collecting hundreds of facts so I can see the pattern in a flash of insight, or slogging through the layout process until I can imagine the element that pulls everything together, is so unrewarding to me that I don&#8217;t want to start it. I start daydreaming of magic tools that do it for me, or I make excuses about the lack of optimal technologies or energy levels.</p>

<p>There&#8217;s no getting around the dull clerical work, unless you hire someone to do it for you and let go of the expectations that it will be done exactly the way you want. So either you do it yourself GLADLY (or at least without judgment) or you DON&#8217;T do it. When not doing is not a choice, then wishing for an optimal solution isn&#8217;t going to help. Make it fast and ugly, and then optimize later. On the other side awaits the real payoff, even if it&#8217;s hard to see right now with all that boring work of cutting/pasting thousands of words into tiny boxes is in front of you.</p>

<p>Or so I tell myself. Back to work with me :)</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/x8mWsoue25E" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/blog/2012/03/optimize-later/</feedburner:origLink></item>
      <item>
         <title>Picking the Right Projects</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/Cmbx-o6L9SA/401</link>
         <description>I tend to pick projects that either have high-need time-limited attributes, or are in a new area that I&amp;#8217;m interested in and would like to learn more about. The two primary stimuli are, in these cases, response to human need and the desire to learn knew things. The common element, though, is my perception that [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=401</guid>
         <pubDate>Sun, 18 Mar 2012 18:42:08 +0000</pubDate>
         <content:encoded><![CDATA[<p>I tend to pick projects that either have high-need time-limited attributes, or are in a new area that I&#8217;m interested in and would like to learn more about. The two primary stimuli are, in these cases, response to human need and the desire to learn knew things. The common element, though, is my perception that there&#8217;s a unique contribution I can make because I&#8217;m the one with the crossover skills to make it happen. I often seem to end up in that position.</p>

<p>There&#8217;s a problem with being the only person with the crossover skills, and that is isolation. When you&#8217;re the only person who can initiate a deep process, you are doing it alone. And I find that I don&#8217;t function very well alone. I require, apparently, both a tangible sense of external need and the freedom to explore new fields. If there&#8217;s anything I thrive doing, it&#8217;s figuring stuff out and creating tiny experiments. However, I seem to enjoy it most when I&#8217;m with an equally-excited person who&#8217;s willing to work. I don&#8217;t enjoy it when I am working by myself on behalf of someone else&#8217;s need. I guess I like to work with other peoples INTERESTS and PASSIONS, not their abstract needs.</p>

<p>I&#8217;ll have to keep this in mind. It may be that I need to start working with people again in lead role, directing energy and the work of others, and take myself out of the critical production path.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/49z0mId2Iuw" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/Cmbx-o6L9SA" height="1" width="1"/>]]></content:encoded>
         <category>Assessments</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/49z0mId2Iuw/401</feedburner:origLink></item>
      <item>
         <title>Why, Programming, and Infosuicide</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/_tK-vxV9LP4/</link>
         <description>Annie Lowrey has a wonderful piece about her attempt to learn how to program in the Ruby language, intertwined with the retelling of the legend of Why the Lucky Stiff, a fabled eccentric and beloved Ruby enthusiast who deleting all &amp;#8230; &lt;a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/03/why-programming-and-infosuicide/"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://davidseah.com/?p=4938</guid>
         <pubDate>Sat, 17 Mar 2012 19:57:28 +0000</pubDate>
         <content:encoded><![CDATA[<p>Annie Lowrey has a wonderful piece about her attempt to learn how to program in the Ruby language, intertwined with the retelling of the legend of <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Why_the_lucky_stiff">Why the Lucky Stiff</a>, a fabled eccentric and beloved Ruby enthusiast who deleting all signs of his online presence in 2009. I&#8217;d <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2006/03/sxsw-day-4-so-long-fare-well/">previously</a> come across Why at SXSW 2006, having chosen to attend his panel because it sounded so weird. It had been one of the highlights of that trip, and I&#8217;d thought that he was still running around like Johnny Appleseed, sowing seeds of code across the land. Why did he disappear? What of his vision? Additionally, Lowrey describes just how hard it is to learn how to program without rancor, which might hope to others who are in the same place or&#8212;as I suspect is true of many of us&#8212;trying to learn how to do something NEW and INTERESTING for the very first time. Take heart! Start reading <a rel="nofollow" target="_blank" href="http://www.slate.com/articles/technology/technology/2012/03/ruby_ruby_on_rails_and__why_the_disappearance_of_one_of_the_world_s_most_beloved_computer_programmers_.single.html">Where’s _why?
What happened when one of the world’s most unusual, and beloved, computer programmers disappeared</a> on Slate.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/_tK-vxV9LP4" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/blog/2012/03/why-programming-and-infosuicide/</feedburner:origLink></item>
      <item>
         <title>Designing a Big Picture</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/xTSh0uukEnU/</link>
         <description>As Groundhog Day Resolutions is fast-approaching, I&amp;#8217;ve been spending about an hour a day trying to crack a giant nut: how to represent what I&amp;#8217;m doing in way that can be tracked in a satisfying way. I&amp;#8217;d started to outline the mechanics for a game-like approach in Plotting for Motivation II, but as I reviewed [...]</description>
         <guid isPermaLink="false">http://davidseah.com/design/?p=188</guid>
         <pubDate>Thu, 01 Mar 2012 23:20:48 +0000</pubDate>
         <content:encoded><![CDATA[<p>As <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/02/groundhog-day-resolutions-2012/">Groundhog Day Resolutions</a> is fast-approaching, I&#8217;ve been spending about an hour a day trying to crack a giant nut: how to <strong>represent</strong> what I&#8217;m doing in way that can be tracked in a satisfying way. I&#8217;d started to outline the mechanics for a game-like approach in <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2012/01/plotting-for-motivation-part-ii/">Plotting for Motivation II</a>, but as I reviewed it last night I wasn&#8217;t convinced this was the right approach.</p>

<p>This is the difficult part of design for me, when I don&#8217;t know what to do that will deliver a result. I&#8217;m used to thinking through problems to come up with a hypothetical solution, but in this case the solution isn&#8217;t clear or obvious.</p>

<p>The trick to get past this is to just do something anyway, and count on spending a bunch of time on it. I know from past experience that it takes me between 40 and 80 hours to create a polished prototype of a brand new idea. That time is spent trying a lot of things until you find a few pieces that seem to fit, and then those fragments crystalize into a whole organism. Sometimes that organism isn&#8217;t viable, but it&#8217;s a stepping stone to the next design.</p>

<p>So here&#8217;s my first stepping stone, only partially complete and not organized, but it started to give me an idea that the big picture is like a game board divided into realms and portals.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0301-bigpicture.png.jpg" width="570" height="347"/><br /></p>

<p>I think the big picture I need becomes a place that can accept attachment of ideas and activities. It&#8217;s the missing bedrock of my to-do list landscape. It reminds me a little bit of the <a rel="nofollow" target="_blank" href="http://www.businessmodelgeneration.com/">visual model</a> approach to business planning, but highly personalized to what I need to do. Perhaps it&#8217;s more of an operations map.</p>

<p>So, it&#8217;s slow going, but I&#8217;m posting this as a reminder to myself of how far I&#8217;m going to have to go, one idea at a time.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/xTSh0uukEnU" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Designthink/~3/iYIERbj4zjQ/</feedburner:origLink></item>
      <item>
         <title>Logo Design Day: Functional Stationery</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/-7q8DdsiGIk/</link>
         <description>I spent part of the day doing some personal logo work, and though I didn&amp;#8217;t get to a place where I can call it DONE, it was a surprisingly enlightening exercise. I don&amp;#8217;t usually take on logo work for other people because I think they are such personal things, and my approach to this kind [...]</description>
         <guid isPermaLink="false">http://davidseah.com/design/?p=181</guid>
         <pubDate>Wed, 29 Feb 2012 05:28:12 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0227-fs-scribble.jpg" width="570" height="294"/><br /></p>

<p>I spent part of the day doing some personal logo work, and though I didn&#8217;t get to a place where I can call it DONE, it was a surprisingly enlightening exercise. I don&#8217;t usually take on logo work for other people because I think they are such personal things, and my approach to this kind of design can be very drawn out, and therefore expensive in terms of my time. There are other people who are much better at it than I, anyway.</p>

<p>That said, I figured it might be interesting to share the process. Read onward! <hr id="more-181" class="more-separator"/></p>

<h4>Dave Seah, Functional Stationery Designer</h4>

<p>I&#8217;ve been trying out a new description for what I do: &#8220;I make functional stationery&#8221; or &#8220;I&#8217;m a functional stationery designer.&#8221; I like this because it includes the word &#8220;stationery&#8221;, which is something that people understand more intuitively than &#8220;information graphic designer&#8221; or &#8220;investigative designer&#8221;. This revision to my small talk algorithm is part of my journey for 2012l; I&#8217;m getting used to the idea of being someone who identifies himself by being someone who makes things instead of being a service worker.</p>

<p>Anyway, I was planning on spending some time today working on me-stuff, and of course this ritual begins with the selection of the proper bag. As I was reviewing my choices, I noticed that one of them still had my business cards, and this reminded me that they are all out of date. It&#8217;s time to make new ones. Seemed like a good place to start.</p>

<p>I decided to try having breakfast at my local municipal airport, which has a cafe overlooking the single runway that serves breakfast all day. I love airplanes and airports, and as I waited for my unexpectedly enormous breakfast to arrive, I doodled a few things in my notebook (above). Like any 1st year design student, I just took the letters F and S and jammed them together. Perhaps the F and S could be made to look like the same letterform, and maybe by making it look something like two nodes connected by a line would imply &#8220;functional&#8221;. Or, if luck smiled upon me, I could at least make it look interesting and mysterious.</p>

<p>The idea of functional stationery is something that everyone probably can appreciation, but for me is kind of a secret pleasure. This got me to thinking about <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Secret_brand">secret brands</a>, as described by William Gibson in his book <em><a rel="nofollow" target="_blank" href="http://www.williamgibsonbooks.com/books/zero_history.asp">Zero History</a></em>. The idea of a secret brand is that it&#8217;s small and exclusive, not known by many except those who are really into it. This is kind of how I think of what I do; I&#8217;m not interested particularly in a traditional path of company growth. I just want to make something cool and obsessive that <em>I liked</em>, that would earn me enough living income so I could continue to make these things. That stationery is kind of my version of art is really bizarre, but I figure I might as well see where this idea goes.</p>

<p>So, I thought about secrets and symbols. The visual identity for a secret brand doesn&#8217;t have to be obvious. It just needs to be recognizable, and perhaps even a little cryptic. The f and s could be merged into a single totemic figure, perhaps, while conveying the idea of &#8220;function&#8221; as something moving from point A to B.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0227-fs-pass1.gif.jpg" width="570" height="285"/><br /></p>

<p>I moved into Illustrator and made some vector versions of my scribbles. These weren&#8217;t working for me at all. They looked more like instructional diagrams, and after a while they started to resemble dancing worms wearing skirts. Idea (C) resembles some kind of moonwalking snake creature with arms.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0227-fs-pass2.gif.jpg" width="570" height="285"/><br /></p>

<p>As I was constructing the vectors for pass 1, I did notice some pleasing repetition of the curves. I wondered if making some kind of companion form would work, so I made an &#8220;s&#8221; (figure D) to experiment with it. It&#8217;s a weird S too; if you look at the curves up close you&#8217;ll see they&#8217;re not exactly symmetrical, but I wanted it that way. I retained a tiny bit of a tail on the f, to let it have some forward slinking motion like (C) does, and gave it two crossbar arms (I think my reasoning was that if there were two next to each other, they wouldn&#8217;t read as arms). The slant of the arms adds a strange perspective effect (I&#8217;m fond of that), as does the slight offset between the baselines of the two letters. They start to take on a slight runic appearance or some weird logo from the 1920s that you might find on the bottom of a piece of pottery. A <a rel="nofollow" target="_blank" href="http://www.925-1000.com/">maker&#8217;s mark</a>, in other words.</p>

<p>If it was a mark, then it belonged in a lozenge. And in the 1920s they might have made some kind of reference to stationery, so I stuck something that looked like a fountain pen nib on it, and tried a few variations (E-G). I showed these to my friend Sid, who liked (G) because it started to look sort of regal, like it was wearing a crown. Adding the vertical line to split the nib helped add some complementary line detail that helped balance out the letters.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0227-fs-pass3.gif.jpg" width="570" height="285"/><br /></p>

<p>I wasn&#8217;t really satisfied with the way that the fs pair was filling the lozenge, so I tried various sizes. Figures H, I, and K were the original scaled sizes. H feels peculiarly flat, while K feels too contained. Figure J was my pick, as it feels comfortable to me.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0227-fs-pass4.gif.jpg" width="570" height="285"/><br /></p>

<p>Looking this over, I started to wonder about the f. Did it read as an f? Probably not. In version L and M, I played with the letter a bit, removing the tail (which made it look like a letter &#8220;J&#8221;) and removed one curve detail. In N, I wondered if I could bring back the idea of a system node by replacing the crossbar, mirroring the round cutout of the nib. This was kind of interesting by seemed unresolved; I tried flipping the nib on the other side so the balls were more on opposite sides of the logo, but it really did nothing for me.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0227-fs-pass5.gif.jpg" width="570" height="285"/><br /></p>

<p>After the second hour of working on this, I took a break and came back. I decided I didn&#8217;t like the pen nib, and removed it to see how the lozenge stood on its own, thinking of a secret, clean maker&#8217;s mark. This looked much cleaner, though the dot really didn&#8217;t work. I added a crossbar through it, asymmetrically bisecting the lozenge to make an f, but it started to look like the UPS logo or a drug capsule (Q). Tilting it helped break that look, and then it was a matter of playing with line widths. While I liked the fine line, the thickness really needed to match the letters, which ended up with (S2)</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0227-fs-pass6.gif.jpg" width="570" height="285"/><br /></p>

<p>I wondered if I could get a more robust feeling by cropping the lozenge, as T through V show. I stuck the nib back on it to see what it would look like. Seemed overly ornate, but with additional treatment it might have been the basis for some kind of fancy engraving approach. I decided, though, that (S2) was the mark I&#8217;d try to work with.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/12/570-0227-fs-pass7.gif.jpg" width="570" height="285"/><br /></p>

<p>The mark by itself, I found, didn&#8217;t really work with the typography I came up with, and it&#8217;s a bit awkward to use on a business card. And it&#8217;s lost some drama too. I find myself looking back at (P) and thinking that I like this better, because it just seems more mysterious. I don&#8217;t know&#8230;I&#8217;ll have to take a break from this and look at it again in a few days. For example, instead of a lozenge I could make it looks like stacks of paper. That might be more obvious. I may have to rethink my choice of typeface too, but I&#8217;ve pretty much standardized on Proxima Nova Condensed as my &#8220;official&#8221; font. I just like it.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/-7q8DdsiGIk" height="1" width="1"/>]]></content:encoded>
         <category>Note</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Designthink/~3/zAvKyxl5HeI/</feedburner:origLink></item>
      <item>
         <title>Dealing with PayPal, Customs, and Shipping, Revisited</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/LKClq7iP1nM/394</link>
         <description>So having written the post on &amp;#8220;Low Threshold of Inconvenience&amp;#8221;, I&amp;#8217;m putting some steps into practice. I made this list: entering the bubble don&amp;#8217;t take inconvenience personally maintain a neutral, observing, experimental mindset put other thoughts out of my mind commit to 15 minutes to start as troubles and inconveniences pop up, note them down [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=394</guid>
         <pubDate>Mon, 27 Feb 2012 00:28:40 +0000</pubDate>
         <content:encoded><![CDATA[<p>So having written the post on &#8220;Low Threshold of Inconvenience&#8221;, I&#8217;m putting some steps into practice. I made this list:</p>

<ul>
<li>entering the bubble</li>
<li>don&#8217;t take inconvenience personally</li>
<li>maintain a neutral, observing, experimental mindset</li>
<li>put other thoughts out of my mind</li>
<li>commit to 15 minutes to start</li>
<li>as troubles and inconveniences pop up, note them down</li>
</ul>

<p>I attempt to apply this to a big hairy inconvenient mess: setting up PayPal for a smooth selling experience. <hr id="more-394" class="more-separator"/></p>

<p>The task of the moment is figuring out <strong>PayPal</strong> for Canadian and European purchasers of the soon-to-be-available StickyPad Emergent Task Timers. I&#8217;m not sure what this means, and I felt myself locking up. Remembering that I think better when I&#8217;m writing, I started this entry in the SOC journal. I am noting that I set SOC up months ago just for this reason, wanting a place to write. And the blog is the most convenient place for me to write these days, as it&#8217;s accessible as the home page of every computing device I use, and I like sharing my thoughts in the event that someone finds them useful.</p>

<p>ANYWAY, I digress. Let&#8217;s run through the INTENT, MOTIVATION, and EXPECTATIONS I have from using PayPal (making annotation about my feelings toward PayPal).</p>

<p>WHAT &#8211; I want to set up PayPal so I can accept orders. That means creating some kind of button that allows people to order StickyPad ETPs.</p>

<p>MOTIVATION &#8211; I can&#8217;t fulfill outside the USA using Amazon unless I set up companies and banks in other countries. This seems like a pain in the ass to do, so PayPal + Post Office seems like the most cost effective way.</p>

<p>EXPECTATION &#8211; By having the ability to fulfill orders from home again, I&#8217;ll gain some flexibility in fulfilling overseas. I may even be able to set up local fulfillment.</p>

<p>So that&#8217;s what I&#8217;m thinking. The HOW to do it is the next phase of thinking. First let&#8217;s look at PayPal.</p>

<p>Probably the simplest thing I can do is use my Website Payments Standard account with the buttons. It&#8217;s been about three years since I last looked at PayPal for this, and I&#8217;m happy to see that they finally have inventory control; this is one reason I went to Fulfillment By Amazon (FBA), which works great for exposure and order taking, but also charges me costs me about 25% of revenue on each sale.</p>

<p>So if I use this PayPal button thing, where am I going to put it? For now, I guess it makes sense to try it out on the USA Marketplace Blog, which I actually forgot I had. I&#8217;ll need to go through the steps of setting it up to work with PayPal.</p>

<h3>PayPal Setup</h3>

<p>I&#8217;m looking at the Merchant Services for the &#8220;Buy It Now&#8221; button. I also see a donation button too, which I should set up somewhere. I need to make some decisions.</p>

<p><strong>name of product:</strong> The 4&#215;6&#8243; Emergent Task Planner StickyPad (100 sheets) is the product listing on Amazon (currently stuck in Amazon receiving limbo for over a week). PCEO-ETP-4X6-SP-C1 is the model number, PCEO-ETP-4X6-SP-C1-2PAK is the part number/variation. Had to look it up. Inconvenience! Not dwelling on it.</p>

<p><strong>price:</strong> 16.00 USD</p>

<p><strong>button options:</strong> can add some dropdowns with multiple pricing options, variations, and text customization.</p>

<p><strong>shipping:</strong> there are settings I can set, or I can set a specific amount. Ideally I should set up some shipping rates (sigh, I hate this stuff). But let&#8217;s go look! I have to set up rates for each country to ship to. Ugh. But I&#8217;ll just pick a handful. Let me look at my Google Analytics country demographics&#8230;top 20 are US, UK, Canada, Germany, Australia, India, France, Spain, Italy, Russian, Netherlands, Phillippines, Japan, Singapore, Poland, Malaysia, Switzerland, Brazil, Mexico, and Sweden. For ease of use, I&#8217;m going to just go with the USPS. Using their <a rel="nofollow" target="_blank" href="http://ircalc.usps.com">calculator</a>, it looks like the &#8220;Priority Mail® International Small Flat Rate Envelope&#8221; will suit my needs for up to 4 pounds. Just need to jot down prices. However, there&#8217;s the issue of CUSTOMS FORMS.</p>

<p>I have a massive headache now, surfing the various websites for USPS, UPS, FedEX, and related sites on how to dal with customs and taxes. All I really want to know is this:</p>

<ul>
<li><p>Is it cheaper to go with postage on a per-package basis? It&#8217;s 5oz. This might be something I do on a trial basis. The cost to ship to Canada is $12.95 and to everywhere else $16.95 using flat rate priority mail shipping. I&#8217;d like to get the cost down.</p></li>
<li><p>Can I just fill out one custom declaration form here, or is it by country? I think the confusion is that the USPS has an &#8220;official&#8221; customs form, but is this different for every shipping service? And will I have to do this for every single person? This is a data entry conundrum. I&#8217;d prefer to avoid it.</p></li>
<li><p>How does PayPal actually handle the international sale? There&#8217;s no way to really see a demo, unless I order from someone who&#8217;s already using it.</p></li>
</ul>

<p>I should talk to the people at the local commercial mailbox service I use. I need to pick up some packages from them anyway. Another option I stumbled across is <a rel="nofollow" target="_blank" href="http://endicia.com">Endicia</a>, which purports to handle the customs stuff + postage. This is available for $15.95/month, which is about $10 more a month that I want to pay. Something to think about.</p>

<p>In the meantime, I&#8217;m going to set up some default prices for the 20 countries I listed. And during the search for information on software that automatically filled out custom forms, I came across Joel Spolsky&#8217;s <a rel="nofollow" target="_blank" href="http://www.joelonsoftware.com/articles/HowToShipAnything.html">How to Ship Anything</a> article from 2005. At least I&#8217;m not alone in thinking there must be a better way. It took him 3 days to set up a shipping system he was happy with. Inspiring, and an indicator that I&#8217;m not crazy. Several good tips in there too.</p>

<p>It turns out that I can just create two shipping profiles: one for Mexico/Canada, and one for everyone else. This matches the two rates that are available for the USPS internation priority mail.</p>

<p>The paypal website is aggravating. It lost all my previous work when it timed out. I just created a button, and am noticing that the paypal page is allowing every country to be picked, not just the ones I&#8217;ve provided zones for. What&#8217;s up with that? I guess it&#8217;s really just for the payment option. As another example of dumb behaviors, the inability to restrict shipping to only the countries you&#8217;ve specified is another PayPal goof. Someone on a forum suggested just using WP-Ecommerce to do the filtering for you. I should look at it again.</p>

<p>And so&#8230;I am a little closer to finding a solution, but am again put-off by the sheer lameness of e-commerce tools like PayPal. The way to get around it is to start paying for a real service, but that&#8217;s a whole &#8216;nother learning curve.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/JP4Av8ovL24" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/LKClq7iP1nM" height="1" width="1"/>]]></content:encoded>
         <category>Activity Log</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/JP4Av8ovL24/394</feedburner:origLink></item>
      <item>
         <title>Low Threshold of Inconvenience</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/vDWUXWwKi2I/390</link>
         <description>As I slowly woke from a deep slumber, I idly ticked through a list of possible things to do. All of them, worthwhile! All of them, just a little too much to get excited about. It&amp;#8217;s a long-standing pattern, this, and I&amp;#8217;ve at various times ascribed it to: a lack of intrinsic motivation a lack [...]</description>
         <guid isPermaLink="false">http://davidseah.com/soc/?p=390</guid>
         <pubDate>Sun, 26 Feb 2012 21:33:11 +0000</pubDate>
         <content:encoded><![CDATA[<p>As I slowly woke from a deep slumber, I idly ticked through a list of possible things to do. All of them, worthwhile! All of them, just a little too much to get excited about. It&#8217;s a long-standing pattern, this, and I&#8217;ve at various times ascribed it to:</p>

<ul>
<li>a lack of intrinsic motivation</li>
<li>a lack of external feedback</li>
<li>a missing sense of mission or calling</li>
<li>depression at the amount of work required</li>
<li>Seasonal Affective Disorder</li>
<li>being &#8220;interesting&#8221; rather than &#8220;exciting&#8221;</li>
<li>not knowing where to start</li>
<li>not immediately knowing how to make it work</li>
<li>lack of energy / sleepiness</li>
<li>lack of water / nutrition</li>
<li>back workspace</li>
<li>other projects sapping energy from me</li>
</ul>

<p>Today, though, I think I can wrap these all up under one malady, which I&#8217;m dubbing &#8220;Low Threshold of Inconvenience&#8221; or LTI. I have a remedy for almost all of the things I&#8217;ve listed above, but every one requires some effort on my part. When I&#8217;m feeling good or am &#8220;feeling the moment&#8221;, I can deploy any number of countermeasures and get through something. When I&#8217;m not, however, it&#8217;s tough. My basic proclivity, when I&#8217;m by myself in the comfort of my own home, is to avoid things that are inconvenient to start, unless the result is quite salient. Preparing food falls in that category.</p>

<p>When the productive choices in front of me are all inconvenient, then the non-productive pre-packaged choices are easy to fall into. Watching TV. Playing a video game. Driving somewhere to do some window shopping. Surfing the net. These are all rewarding with new ideas and inputs without having to do anything other than click a button or get into the car. It&#8217;s a noxious habit to fall into, especially if you&#8217;re desire is to build something new for yourself.</p>

<p>I was thinking about my particular level of LTI. The following things are inconvenient for me to the point I will not do them unless I am in the mood to push, or are being pushed:</p>

<ul>
<li>Opening more than one window on my computer.</li>
<li>Looking for a file in a directory.</li>
<li>Having to remember anything.</li>
<li>Starting to design.</li>
<li>Writing a program.</li>
<li>Coding a website.</li>
<li>Reading what I have already written.</li>
<li>Doing a second draft.</li>
<li>Drafting a report from multiple sources.</li>
<li>Picking up something on the floor.</li>
<li>Going to the mailbox, because I have to get out of my car and carry it back.</li>
<li>Doing the dishes.</li>
<li>Exploring a new town.</li>
<li>Taking out the trash.</li>
<li>Dusting.</li>
</ul>

<p>The top of the list are things that are more work related, while the bottom of the list are more like chores. The list is pretty embarrassing&#8230;it seems that I find EVERYTHING inconvenient. I have no inherent desire to go out and do these things. The only thing that keeps it from becoming a desperate pattern is that that I <em>like good stuff</em>. And I&#8217;ve found that I can create good stuff, when I apply myself. And the ability to make good stuff is the gateway to being able to <em>buy</em> more good stuff, as well as create some <em>stature</em> for myself. In other words, <strong>I value good stuff</strong>. That desire to have good stuff means I either have to create it, make the money to buy it. The resistance is that I don&#8217;t particularly like the process because it&#8217;s (wait for it) NOT usually a good process. Every interaction pains me because it&#8217;s in some way not optimal or good. This drives me nuts.</p>

<p>For example, starting to write a program means that I need to have a collection of skills and software programs, with the ability to apply them intelligently. The skills are not difficult, once you find them and understand them. Most of the educational material out there is piecemeal, just fragments of the big picture, and lacking the organization to make the material truly accessible. That offends me on a basic level. The software programs themselves are often obtuse and poorly documented, and sometimes are shoddily coded or conceived. I find offense in that also. It fills me with such frustration that I often feel like giving up. I feel limited by factors that are beyond my control.</p>

<p>This is probably why I&#8217;m such a poor student, because I&#8217;m such a judgmental deconstructor of everything from presentation to accuracy to communication style. I used to be confused by bad material, thinking that I was stupid. Then, realizing it wasn&#8217;t me, I took it personally. These days I&#8217;m more relaxed about it and can go with the flow to privately construct my own understanding, but the frustration is still there. The making of things can be easy and obvious, I keep dreaming, if only the material was cleanly presented and explorable.</p>

<p>For stuff I know how to do, like design a page or make a webpage, there are many small inconveniences. I hate looking for files on my computer, remembering where I put them. My project filing system is fairly efficient, but it&#8217;s still a pain in the butt. I don&#8217;t like opening explorer folders, finding where the window pops up, and drilling down into a directory structure. It&#8217;s all so awful, the user interfaces. I&#8217;d write my own file manager if I knew how, but then I&#8217;m back to the problem of dealing with all that bad documentation to learn how, which doesn&#8217;t help me. What kills me is that I know I can do it; it&#8217;s just that there&#8217;s so much crud to wade through. But I digress&#8230;the next step to making something is managing all the thousands of bits of code and the dozens if not hundreds of graphic assets, each one a tiny gnat-bite of inconvenience. Compounding this are all the unknowns that have to be resolved, and the result may NOT be good.</p>

<p>For other chores like picking stuff off the floor, the frustration is a little different. First, I never see stuff like that unless there&#8217;s a reason to be concerned (like, someone ELSE might see it). And then, when I really look, I really don&#8217;t like what I see. I hate my kitchen floor, for example, but am too cheap and too judgmental about contractors (and even a too much out of my element) to take a chance and try to fix it with real effort and money. It&#8217;s a big project, in my mind, to get this done right. So I just seethe quietly inside, and don&#8217;t do it. If it really capture my attention, I will do something and spend a few hours on it, but it&#8217;s rare.</p>

<p>For less epic chores, like cleaning the cat box or doing the dishes, I&#8217;ve learned to just shut my mind off and do it without commentary. In fact, when I&#8217;ve done this, I end up coming up with ways of handling it more efficiently and with less stress. This is the &#8220;on-the-fly systemization of process&#8221; that I tend to do when locked into a task that I&#8217;ve given my promise to complete.</p>

<p>This isn&#8217;t quite where I thought this post would go, but I&#8217;ll sum up the takeaways for me:</p>

<ul>
<li>I am highly sensitive to inconvenience. Almost every worthwhile thing I can think to do seems inconvenient, and therefore I don&#8217;t do them.</li>
<li>I am highly judgmental of the tools and references I use to do things, which creates another barrier to using them to do things.</li>
<li>I tend to be offended by bad stuff, and am easily irritated by chores that are not in themselves a contributor to excellence. </li>
<li>In other words, I take a lot of process very personally, and not in a good way.</li>
</ul>

<p>Realizing this, I think the following realizations are helpful:</p>

<ul>
<li>Relax, don&#8217;t take inconvenience/mediocrity personally, and know that my first pass through will systemize it so it&#8217;s better next time. This happens automatically for me. </li>
<li>Having the willpower to push past inconvenience is kind of MY HERO MOMENT. Immediacy and external factors can also provide an assist, but when it comes to my OWN SELF IMPROVEMENT, the willpower is necessary. It&#8217;s my own journey.</li>
</ul>

<p>By not dwelling on the inconvenience, and focusing on the systemization pass, I may be able to push few a few more projects. In a way it&#8217;s a distraction from the actual task, but I think for someone like me it&#8217;s probably necessary. I loathe inconvenience and inefficiency, and have to deal with it eventually. It&#8217;s probably my greatest challenge!</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/SOC/~4/XJbw2FPn-iY" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/vDWUXWwKi2I" height="1" width="1"/>]]></content:encoded>
         <category>Monologue</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/SOC/~3/XJbw2FPn-iY/390</feedburner:origLink></item>
      <item>
         <title>Notes on Replacing Skype with Google Voice</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/e3dY6HbTywM/</link>
         <description>I&amp;#8217;ve been wanting to replace Skype with something else, so I thought I would dust off my old GrandCentral / Google Voice account. I couldn&amp;#8217;t get it to work at first and shelved it. In the meantime, I posted the number online and only recently received a few calls, which I promptly missed. Skype, despite [...]</description>
         <guid isPermaLink="false">http://davidseah.com/infotech/?p=50</guid>
         <pubDate>Thu, 26 Jan 2012 20:02:46 +0000</pubDate>
         <content:encoded><![CDATA[<p>I&#8217;ve been wanting to replace <a rel="nofollow" target="_blank" href="http://skype.com">Skype</a> with something else, so I thought I would dust off my old <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Google_Voice">GrandCentral / Google Voice</a> account. I couldn&#8217;t get it to work at first and shelved it. In the meantime, I posted the number online and only recently received a few calls, which I promptly missed.</p>

<p>Skype, despite its bloated user interface, works fairly well out of the box once you figure it out. The paradigm is familiar: click a name to call, or find the latest hiding place for the &#8220;call phones&#8221; keypad. Google Voice, however, is a bit different.</p>

<p>First of all, there are actually three voice-enabled products. Google Voice is the one that handles the telephone call connections. Google Talk is a voice enhancement of Google Chat, an instant messager (IM) client that runs like a normal desktop application. Finally, Gmail has the ability to send and receive calls, in addition to serving as your browser-based email client.</p>

<p>Google Voice works with GMail to place calls. Instead of connecting from your computer to the phone number, Google Voice is like a switchboard operator that sets you up with a two-person conference call. You initiate your call to a number with Google Voice using the Google Voice web page, and then Google Voice calls YOU back to make the connection. Once you answer the phone, Google Voice then calls the phone number you&#8217;re trying to reach.</p>

<p>To make a call from your computer, then, you need the ability to answer the incoming call. Google Voice allows you to designate &#8220;Google Talk&#8221; running on your computer as the &#8220;phone&#8221; it will call. You may have it installed as a desktop client, as it works as a messenger client. However, <strong>Google Talk does not answer calls</strong> if you have Google Voice open on your computer. However, if you also have GMail open, you will get a ringer alert there. Once you answer the Google Voice call with GMail, you are connected and the other phone number is dialed, and things proceed rather well from there.</p>

<p>It&#8217;s very weird and convoluted. It may be that Google isn&#8217;t interested in creating and easy point-to-point calling solution that works completely on a computer like Skype, but it may also be typical Google disorganization with regards to their family of overlapping solutions, additionally hamstrung by the lack of concise, well-curated documentation.</p>

<p>In summary, to set up you need to:</p>

<ul>
<li>Signup for Google Voice with your Google account</li>
<li>Set up Google Talk account, if you don&#8217;t already have one</li>
<li>Register Google Talk as a Phone in Google Voice</li>
<li>You may have to make an outgoing call first in GMail to activate the calling feature</li>
<li>You may have to add credit for dialing numbers outside the United States/Canada</li>
</ul>

<p>Then, to make a call:</p>

<ul>
<li>Open Google Voice in a browser window</li>
<li>Open GMail in a separate browser window</li>
<li>Use Google Voice to place the call to a phone number</li>
<li>Use GMail to answer the Google Voice connection, which will then proceed to call the phone number</li>
</ul>

<p>To receive a call:</p>

<ul>
<li>Google Voice will attempt to ring all your devices registered to it, and it will do so all at the same time</li>
<li>If Gmail is not open in a browser window, I presume that the Google Talk IM client will pick up, but I&#8217;ll have to test that.</li>
</ul>

<p>Although this is a lot of hoops to jump through, the Google Voice product is technically pretty good. Call quality is good for me, and the voice mailbox and transcription services are cool. It&#8217;s nice to get an email when you get a voice message.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/e3dY6HbTywM" height="1" width="1"/>]]></content:encoded>
         <category>VOIP</category>
      <feedburner:origLink>http://davidseah.com/infotech/2012/01/26/notes-on-replacing-skype-with-google-voice/</feedburner:origLink></item>
      <item>
         <title>Treading on Sacred Ground: Logo Design</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/Am-fyJnoT-Y/</link>
         <description>John McWade&amp;#8217;s latest DesignTalk post on logo design, and it describes how one can emotionally approach the client&amp;#8217;s desire to &amp;#8216;create a new flag&amp;#8217;: The logo is not “just a graphic” any more than a flag is a piece of colored cloth. That’s why it’s so hard to design. You’re working on sacred soil. I’m [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=309</guid>
         <pubDate>Mon, 05 Dec 2011 15:52:10 +0000</pubDate>
         <content:encoded><![CDATA[<p>John McWade&#8217;s latest <a rel="nofollow" target="_blank" href="http://www.mcwade.com/DesignTalk/2011/12/the-most-important-rule-of-logo-design/">DesignTalk post on logo design</a>, and it describes how one can emotionally approach the client&#8217;s desire to &#8216;create a new flag&#8217;:</p>

<blockquote>
  <p>The logo is not “just a graphic” any more than a flag is a piece of colored cloth.</p>
  
  <p>That’s why it’s so hard to design. You’re working on sacred soil. I’m exaggerating only a little, but I’m not kidding.</p>
</blockquote>

<p>This describes the situation well. Personally, I&#8217;ve always felt the discomfort from the client knowing that this was very much the case; I tend to shy away from logos for this very reason. McWade&#8217;s post goes on to describe an approach to handling the client with courtesy and understanding.</p>

<p>Correlated thought: I&#8217;m not crazy <img src='http://davidseah.com/agenceum/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/Am-fyJnoT-Y" height="1" width="1"/>]]></content:encoded>
         <category>Design</category>
      <feedburner:origLink>http://davidseah.com/agenceum/2011/12/treading-on-sacred-ground-logo-design/</feedburner:origLink></item>
      <item>
         <title>Shrinking the ETP</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/qn8T8MEChFk/</link>
         <description>This weekend I set aside the time to make a 4 by 6 inch version of the Emergent Task Planner. Working from the half-sized version of the ETP, which already makes serious compromises, I had to somehow squeeze all the old elements into a much smaller space. Here&amp;#8217;s what it looks like: The left side [...]</description>
         <guid isPermaLink="false">http://davidseah.com/design/?p=167</guid>
         <pubDate>Mon, 05 Dec 2011 04:09:53 +0000</pubDate>
         <content:encoded><![CDATA[<p>This weekend I set aside the time to make a 4 by 6 inch version of the <a rel="nofollow" target="_blank" href="http://davidseah.com/pceo/etp">Emergent Task Planner</a>. Working from the half-sized version of the ETP, which already makes serious compromises, I had to somehow squeeze all the old elements into a much smaller space. Here&#8217;s what it looks like:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1205-shrink-ba.png.jpg" width="570" height="430"/><br /></p>

<p>The left side shows the half-sized ETP overlaid on the 4&#215;6&#8243; template. The right size shows the resized version. I had to make several more adjustments, and ended up redrawing most of the form.</p>

<p><hr id="more-167" class="more-separator"/></p>

<h3>Challenges</h3>

<p>I started shrinking the A5 design, as that design went through a group test to find the smallest size I could make things. However, for the ETP to be useful for a day of planning, I needed at least 12 hours visible. That wasn&#8217;t going to happen with the existing day grid. So, I simplified it by shrinking the hour boxes and eliminating the 15-minute boxes of the original. The resulting design can show 19 hours, which two lines of planning per hour. This means that the level of detail you can record is lessened, but I think that isn&#8217;t going to matter much for the way I imagine this will be used.</p>

<p>I got rid of the secondary line of 15-minute boxes, sticking only with the hour boxes. Half hours are designated by the dashed lines. There&#8217;s not a lot of room here to write things down, so I would encourage the use of numbers to note when you plan to do a particular task. For example, if you are doing task 01, then write an 01 on the day grid.</p>

<p>Other missing elements: I decided to us the &#8220;7 Task&#8221; design as a starting point, so there are no time tracking bubbles. I think that&#8217;s OK for an on-the-go form, and it turns out that the 7 Task design is the more popular one.</p>

<h3>Design Changes</h3>

<p>I defined a <strong>grid size</strong> of 0.15 inches to use for spacing and sizing purposes. The width of the day grid hour box is 0.15&#8243;, and this  is repeated across the entire design in multiples and dividers. This helps create a <strong>feeling of harmony</strong> in spacing across the design. This is not present in earlier versions of the form; I pretty much eyeballed those to look good.</p>

<p><strong>Alignment</strong> helps too. I tried to align as many edges as possible while maintaining consistent spacing. All the horizontal lines line up to something else. Even the text elements align in some way to one of the horizontals.</p>

<p>One place that feels off, still is the positioning of the THREE MAJOR TASKS and WHAT ELSE IS GOING ON blocks. The way to fix that would be to raise the header a bit, so the space above the THREE MAJOR TASKS block matches the WHAT ELSE IS GOING ON block. As it is, visually the title block looks low compared to the horizontal rule to its left.</p>

<p>I altered the <strong>typography</strong> slightly. The numbers are now all 100% orange, instead of the 65% I had used in earlier printed designs. I wanted it to be a bolder form. There&#8217;s also more emphasis on the three most important tasks through use of background shading.</p>

<h3>Scale</h3>

<p>You can get a sense of the size difference between the various sizes of ETP from this photo:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1205-stickypad-etp-size.jpg" width="570" height="380"/><br /></p>

<p>The bottom-most pad is the regular US Letter pre-printed ETP. The middle pad is a custom job contracted by a company in Spain, in the A5 size. On top is the new 4&#215;6&#8243; design, sitting on a stack of large index cards.</p>

<p>For a better sense of how big this pad is, here&#8217;s a picture of it next to a fountain pen:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1205-stickypad-etp-size-pen.jpg" width="570" height="380"/><br /></p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/qn8T8MEChFk" height="1" width="1"/>]]></content:encoded>
         <category>Note</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Designthink/~3/RgT5NyMtWcU/</feedburner:origLink></item>
      <item>
         <title>Printed Rewriteable Memory</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/CQE43LZ0OCw/</link>
         <description>Over on Inventables.com I came across a new printed rewritable memory that is flexible enough to be used as a sticker. Holding 20 bits of information, they are supposed to cost 5 cents in volume. That would be great for some fancy hybrid paper/electronic products&amp;#8230;hmm! You can buy the dev kit for $49, which includes [...]</description>
         <guid isPermaLink="false">http://davidseah.com/make/?p=32</guid>
         <pubDate>Fri, 18 Nov 2011 19:16:23 +0000</pubDate>
         <content:encoded><![CDATA[<p>Over on <strong>Inventables.com</strong> I came across a new <strong><a rel="nofollow" target="_blank" href="http://www.inventables.com/technologies/printed-rewritable-memory-development-kit">printed rewritable memory</a></strong> that is flexible enough to be used as a sticker. Holding 20 bits of information, they are supposed to cost 5 cents in volume. That would be great for some fancy hybrid paper/electronic products&#8230;hmm! You can buy the dev kit for $49, which includes some Arduino interface hardware.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/CQE43LZ0OCw" height="1" width="1"/>]]></content:encoded>
         <category>Project</category>
      <feedburner:origLink>http://davidseah.com/make/2011/11/18/printed-rewriteable-memory/</feedburner:origLink></item>
      <item>
         <title>Workspace Opener: A Short-Lived Detour through C# and WPF</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/F9oJNhB-yIY/366</link>
         <description>Today I was struck, again, by just how much of a PITA it is to open up all the project folders and windows for any one of my projects. I briefly tried using batch files to do this, but they are hard to maintain. So for a change of place, I&amp;#8217;m looking at Visual Studio [...]</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=366</guid>
         <pubDate>Fri, 18 Nov 2011 02:23:40 +0000</pubDate>
         <content:encoded><![CDATA[<p>Today I was struck, again, by just how much of a PITA it is to open up all the project folders and windows for any one of my projects. I briefly tried using batch files to do this, but they are hard to maintain. So for a change of place, I&#8217;m looking at Visual Studio 2010 and C#, to see if I can write some simple code that does this for me.</p>

<p>I&#8217;m not familiar with Windows Application development, but I am familiar with C# with the XNA game library, so I&#8217;m crossing my fingers.
<hr id="more-366" class="more-separator"/></p>

<p>Step the first: Launch Visual Studio 2010, create a new Windows Presentation Foundation (WPF) solution. This is the newest sauce, as of 2010, though Windows 8 will introduce that new Javascript/HTML5 based technology.</p>

<p>A Solution is a collection of related Projects. Starting out, I have just one C# project included.</p>

<p>After creating the new solution, I&#8217;m popped into the main C# application window, <code>MainWindow.xaml</code> and its &#8220;code-behind&#8221; file <code>MainWindow.xaml.cs</code>. XAML is the XML Application Markup Language that is used to define GUI interfaces. The CS is the C# file, implemented as a &#8220;partial class&#8221;. A partial class is a way of splitting up a class declaration into multiple source files, which makes it easier to hide a lot of the implementation nitty-gritty from your core logic. This makes for a cleaner experience.</p>

<p>Looking into the .cs file, let&#8217;s see what we can see. Immediately, there is a declaration of class MainWindow, which inherits from Window. The public method MainWindow() is called, presumably after a ton of other initialization the occurs behind-the-scenes.</p>

<p>At this point, it&#8217;s probably not a bad idea to review what&#8217;s being included here by default, as these are probably the baseline packages that a simple C# application needs. I&#8217;m looking at the <a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/library/gg145045.aspx">online help</a> for the packages:</p>

<ul>
<li>System &#8211; contains fundamental classes: commonly-used values and reference data types, Events, Event Handling, Interfaces, System Attributes, Processing Exceptions</li>
<li>System.Collections.Generic  &#8211; data structures like collections, dictionaries</li>
<li>System.Linq &#8211; something to do with queries of the &#8220;Language Integrated Query&#8221;. no idea what it is.</li>
<li>System.Text &#8211; character encoding and string manipulation libraries</li>
<li>System.Windows &#8211; Types used for WPF applications, including animation, controls, data binding, and type conversion</li>
<li>System.Windows.Controls &#8211; classes to create UI elements</li>
<li>System.Windows.Data &#8211; classes used for binding properties to data source</li>
<li>System.Windows.Documents &#8211; types to suppored FixedDcoument, FlowDocument, and XML Paper</li>
<li>System.Windows.Input &#8211; abstractions for mouse, keyboard, stylus, common input manager&#8230;</li>
<li>System.Windows.Media &#8211; integration of rich media in WPF</li>
<li>System.Windows.Media.Imaging &#8211; encode and decode bitmap images</li>
<li>System.Windows.Navigation &#8211; support navigation between windows and journaling</li>
<li>System.Windows.Shapes &#8211; a library a shapes accessible in XAML or code</li>
</ul>

<p>It was instructive to browse this listing to see what&#8217;s there. It&#8217;s kind of exciting.</p>

<p>Anyway, next step is to see what is in the Window class. I need to know where execution begins, which means I need to know exactly when I can initialize my own data structures, when I can access application data structures, and when my application is finally ready to accept input from the user.</p>

<p>I actually purchased a book on this some time ago, &#8220;WPF 4 Unleashed&#8221;, so maybe it will have a pertinent chapter or two on the subject&#8230;nope. This is a more advanced book, so it doesn&#8217;t have a walkthrough in the way I&#8217;m looking. So I&#8217;m now stuck downloading Visual Studio documentation (1G+), that I neglected to install locally before.</p>

<p>In the meantime, let me see if I can puzzle this out. If WPF works like every other event-driven application, by the time MainWindow() executes, we&#8217;re good! It&#8217;s a matter then of creating anything programmatic we need like loading data, initializing data structures, and so forth.</p>

<p>I also just noticed an <code>App.xaml</code> that had escaped my attention. It has its own codebehind, I imagine. The xaml defines a bunch of application resources (which don&#8217;t exist). In the code-behind, there is an App of class Application. I guess this is where I would put my actual application handling code. MainWindow would be for code related to the MainWindow.</p>

<p>At this point, it might be more instructive to look at a sample app and see what they&#8217;re doing. I just stumbled upon the <a rel="nofollow" target="_blank" href="http://1code.codeplex.com/">Microsoft All-In-One Code Framework</a> which promises to have better code samples. It&#8217;s difficult to browse, though, so I&#8217;ve given up on it.</p>

<p>Next, I just did a search for WPF Code Samples, and found one called <a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/library/aa972157(v=vs.90).aspx">Notepad Demo</a>. As I&#8217;m interested in doing some text-based stuff, I&#8217;ll have a look at this one. After much screwing around with secret download locations and awful archiving tools (WinZip extractor? Really? That POS?) I was able to finally open the sample and poke around.</p>

<p>From what I can tell:</p>

<ul>
<li>Every WPF application has at least one Window.xaml and an Application.xaml (though it may not be named that)</li>
<li>Execution begins in the xaml.cs file</li>
<li>Events are automatically directed to the xaml.cs file</li>
</ul>

<p>I&#8217;ve now run out of steam, and need to take a break. Disappointing that it is so difficult to find one decent starting application sample to introduce one cleanly to the making of any kind of application that does stuff that would actually be fun.</p>

<p>UPDATE: this <a rel="nofollow" target="_blank" href="http://msdn.microsoft.com/en-us/library/aa970268.aspx">msdn intro</a> might be the place to start.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/7PUrqNYLazE" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/F9oJNhB-yIY" height="1" width="1"/>]]></content:encoded>
         <category>Project</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/7PUrqNYLazE/366</feedburner:origLink></item>
      <item>
         <title>Barcamp Manchester Logo Variations</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/Yr7dUIqKsP0/</link>
         <description>This weekend, the sixth local &amp;#8220;technology unconference&amp;#8221;, Barcamp Manchester will be happening yet again. I volunteered to make some badge designs and signs for the parking lot, and as I got drawn into the activity I started to experience the joy of serendipity in design. Here&amp;#8217;s how it went down. Step 1: Recreate the Current [...]</description>
         <guid isPermaLink="false">http://davidseah.com/design/?p=148</guid>
         <pubDate>Thu, 10 Nov 2011 06:51:29 +0000</pubDate>
         <content:encoded><![CDATA[<p>This weekend, the sixth local &#8220;technology unconference&#8221;, <a rel="nofollow" target="_blank" href="http://barcampmanchester.og">Barcamp Manchester</a> will be happening yet again. I volunteered to make some badge designs and signs for the parking lot, and as I got drawn into the activity I started to experience the <strong>joy of serendipity</strong> in design. Here&#8217;s how it went down. <hr id="more-148" class="more-separator"/></p>

<h2>Step 1: Recreate the Current Logo</h2>

<p>As I didn&#8217;t have immediately access to the website&#8217;s graphic source code, I just decided to redraw it instead of bothering Kelley, one of the main organizers of the event:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1110-bcnh01.jpg" width="570" height="416"/><br /></p>

<p>Sure, I could have asked for the original vector or photoshop files, but the typography for the overall <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/BarCamp">Barcamp organization</a> is well-known: the font is <strong>Century Gothic</strong>, and the vector artwork itself can be downloaded with a little Googling.</p>

<p>The Barcamp Manchester logo is a little bit different from the &#8220;official&#8221; template, as it&#8217;s something of a tradition for local organizers to put their own twist on it. One year, organizer Ian Muir decided to turn it 90 degrees; it&#8217;s so that has been a consistent thematic element.</p>

<p>One element that was new this year was the placing of the BarCamp symbol (still rotated to resemble a campfire of sorts) inside a box. You can see this on the main <a rel="nofollow" target="_blank" href="http://barcampmanchester.org">barcampmanchester.org</a> site.</p>

<p>When remaking the logo, I took a few liberties with it&#8212;heck, it&#8217;s Barcamp, right?&#8212;and made the following adjustments:</p>

<ul>
<li>Moved the symbol box to the left-hand side, and made it a square instead of a squashed square.</li>
<li>Used a single master tint for all the colors (all shades of that dark cyan, instead of dark cyan + gray), so there would be no surprises in printing (old habits die hard&#8230;</li>
<li>Tweaked the kerning in &#8220;barcamp&#8221;</li>
<li>Shrank the height of &#8220;MANCHESTER&#8221; because it was taller than the x-height in &#8220;barcamp&#8221;, and created weird visual hierarchy.</li>
<li>Increased the size of the symbol box a bit relative to the type to increase contrast. </li>
</ul>

<p>The result is a little boring, but it&#8217;s clean and will print well. The signs I made will also benefit from the clear shape, I think, when someone is trying to see it from across a parking lot or down a hallway.</p>

<h2>Playing with Variations</h2>

<p>Since it&#8217;s our sixth year, I tried to wedge a &#8220;6&#8243; or &#8220;six&#8221; somewhere into the logo where it would look OK. Nothing really worked. I even tried to construct a 3D block with the BarCamp symbol on one face and a big 6 on the other, like a wooden block. It looked awfully trite, so I gave up on it.</p>

<p>As I was looking at the boxed symbol and the boxed 6, I naturally imagined a third thing. Manchester is nicknamed <strong>The Queen City</strong>, and I thought I&#8217;d see what a line of three blocks would look like. I downloaded a suitably ornate Chess font and extract the Queen symbol. The result looks like a nice coded block of symbols, and I used the original BarCamp typography below it.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1110-bcnh02.jpg" width="570" height="416"/><br /></p>

<p>I added the &#8220;NH&#8221; to the end of the city, because people sometimes confuse us with Manchester, England.</p>

<p>As I reviewed the logo, the <em>other</em> Manchester nickname came to mind: <strong>Manch Vegas</strong>. I&#8217;m not sure where this nickname comes from; apparently it&#8217;s a more recent nickname than &#8220;The Queen City&#8221;. In this case, though, the 3 symbols had a resemblance to <strong>slot machines</strong>, so I figured it wouldn&#8217;t hurt to try to sell the Manch Vegas line at the same time:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1110-bcnh03.jpg" width="570" height="416"/><br /></p>

<p>I tried a number of different ways to imply that the three symbols were spinners, using some cross-hatching and extra boxes. It ended up being too busy, so I just added two tall light lines between each symbol. Since they&#8217;re taller than the boxes, this creates the impression of a track; the horizontal motion is redirected by these two lines, which helps them read as slot spinners. The staggered heights of the symbols reinforces that a bit as well.</p>

<p>The arrangement I chose of two symbols higher and one symbol lower is to make some symmetry that I thought would be pleasing. And it IS pleasing. However, there&#8217;s a problem: the pattern is so symmetrical that the three symbols now read as a <strong>single group</strong> of playfulness. In fact, they look like three banners or three flags. So I tried this:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1110-bcnh03a.jpg" width="570" height="416"/><br /></p>

<p>Two of the symbols are &#8220;locked in&#8221;, and that helps the divider lines read more clearly. The last spinner, however, is still in play, just about to drop that 6. The asymmetrical layout creates more of a <strong>desire for completion of action</strong>, which is more like gambling in spirit. I played with several heights; I found that aligning the top of the 6 block with the top of the line creates maximum motion in the available space. I thought that having a little extra line above it just seems sloppy, which weakens the tension between top and bottom. Or so I imagined as I looked at it.</p>

<p>One last thing I tried (not shown) was staggering all three symbols to create a kind of time-lapse effect. This  looked interesting, but drew too much attention to a WAVE SHAPE I thought. What I have here seems to be a good compromise, but it&#8217;s too early to be sure. I have to sleep on it and look at this again in the morning.</p>

<h2>But is it Good?</h2>

<p>I don&#8217;t know. It feels like it&#8217;s an 80%-complete design to me; there is some missing flourish of love that needs to happen to the shapes. Maybe another round of simplification? An adjustment of lineweights or spacing? One more pass at kerning those letters until they are rich with rhythm and harmony?</p>

<p>Maybe it&#8217;s just stupid or cutesy. I&#8217;ve never really liked the Manch Vegas nickname anyway&#8230;maybe you have to be from Manchester to really appreciate it. I live down in Nashua (&#8220;The Gate City&#8221;, twice voted &#8220;Best Place to Live in the USA&#8221;) so what do I know :)</p>

<p>Concept aside, the logo has a few things going for it visually:</p>

<ul>
<li>It&#8217;s a single color</li>
<li>It&#8217;s bold</li>
<li>It has decent proportions and spacing, which are chosen to reinforce a pleasing repetition between letter spacing, word spacing and line spacing as multiples of line thicknesses and implied grids created by the size of the graphic elements. It&#8217;s not quite perfect, but it is there.</li>
<li>It&#8217;s pretty clean, with few awkward or ugly shapes.</li>
<li>There is good balance between type and symbol, so your eyes swim over the entire thing with ease.</li>
<li>The visual hiearchy mirrors the information hierarchy, simple as it is.</li>
</ul>

<p>I&#8217;m too close to it now, so hopefully when I look at this tomorrow the parts that are wrong (and invisible to me now) will jump right out.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/Yr7dUIqKsP0" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Designthink/~3/4ZWe--qfhB8/</feedburner:origLink></item>
      <item>
         <title>A Text Area Interlude, Part II</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/GoGwFw2LISc/363</link>
         <description>Today&amp;#8217;s pre-bedtime code exploration is using MarkItUp, a rich text control that uses jQuery. Using MarkItUp is pretty simple: Define a textarea and give it an ID. Load the jquery.markitup.js script Load the set.js file that defines markitup options. Make sure the style.css files from the markitup sets and skins folder is included On jQuery.ready(), [...]</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=363</guid>
         <pubDate>Fri, 04 Nov 2011 03:51:33 +0000</pubDate>
         <content:encoded><![CDATA[<p>Today&#8217;s pre-bedtime code exploration is using <a rel="nofollow" target="_blank" href="http://markitup.jaysalvat.com/">MarkItUp</a>, a rich text control that uses jQuery. 
<hr id="more-363" class="more-separator"/></p>

<p>Using MarkItUp is pretty simple:</p>

<ul>
<li>Define a textarea and give it an ID.</li>
<li>Load the jquery.markitup.js script</li>
<li>Load the set.js file that defines markitup options.</li>
<li>Make sure the style.css files from the markitup sets and skins folder is included</li>
<li>On jQuery.ready(), apply markitup() with the optional options as a parameter.</li>
</ul>

<p>Bing, it works. It even continues to work with the plugin I was playing with yesterday, the autoResize thing. Now, it doesn&#8217;t look quite the way I want it, but it was easy to load. I can now look a little closer as to how to pull data from the TextArea and pass it to my own own parser to do magical stuff. This is very exciting. The <a rel="nofollow" target="_blank" href="http://markitup.jaysalvat.com/documentation/">documentation</a> details quite a bit more customization that&#8217;s possible, but I am done for the night. Tomorrow, I&#8217;ll try customizing the look and layout of the test page, and see if I can get my rudimentary thought outliner interface working.</p>

<p>COMMIT BUILD 31</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/2BvFWkW_BWI" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/GoGwFw2LISc" height="1" width="1"/>]]></content:encoded>
         <category>Project</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/2BvFWkW_BWI/363</feedburner:origLink></item>
      <item>
         <title>A Text Area Interlude, Part I</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/ZSJsqnRlMt0/358</link>
         <description>One of the upcoming challenges for the task management app will be data entry. I don&amp;#8217;t know about you, but the prospect of spending hours pecking text into text boxes and clicking &amp;#8220;OK&amp;#8221; buttons fills me with dread. So I&amp;#8217;m going to implement an idea I had about dual-channel rapid input as an experiment. Since [...]</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=358</guid>
         <pubDate>Thu, 03 Nov 2011 05:11:42 +0000</pubDate>
         <content:encoded><![CDATA[<p>One of the upcoming challenges for the task management app will be data entry. I don&#8217;t know about you, but the prospect of spending hours pecking text into text boxes and clicking &#8220;OK&#8221; buttons fills me with dread. So I&#8217;m going to implement an idea I had about dual-channel rapid input as an experiment. 
<hr id="more-358" class="more-separator"/></p>

<p>Since Javascript is apparently now capable of <a rel="nofollow" target="_blank" href="http://arstechnica.com/open-source/news/2011/10/native-javascript-h264-decoder-offers-compelling-demo-of-js-performance.ars">doing H.264 decoding on the fly</a> (!) I figure I shouldn&#8217;t hold back. Let me presume it is a capable platform instead of a toy language.</p>

<p>First I need to set up a new template and a new .js file to load stuff with. New Files:</p>

<ul>
<li>theme/js/libs/texter.js</li>
<li>theme/js/libs/jquery-autoresize.js</li>
<li>theme/js/text-entry.js</li>
<li>theme/page-text-entry.php</li>
</ul>

<p>Modified Files:</p>

<ul>
<li>theme/style.css</li>
</ul>

<p>On a side note: Adding an entirely new page to my test WordPress platform was very easy, now that I have a system worked out to load both javascript and PHP. Although I could have done the same thing if I&#8217;d started with a different framework, it&#8217;s pretty cool knowing that the WordPress core is available.</p>

<p>Right now, I have created a basic auto-expanding text field in <code>page-text-entry.php</code>. What I want to do next is process the textinput into glorious boxes. However, it just occurred to me that a plain-old textarea <strong>doesn&#8217;t support rich text</strong>, which is important for my ultimate plan of formatting-on-the-fly. I&#8217;m looking at Rich Text Editors now, and <a rel="nofollow" target="_blank" href="http://markitup.jaysalvat.com">MarkItUp</a>, which is built on top of jQuery and looks like it will serve my needs. I suppose I could also use <a rel="nofollow" target="_blank" href="http://www.tinymce.com/">TinyMCE</a>, which is already loaded as part of WordPress and learn how to control that.</p>

<p>But that&#8217;s enough for tonight. Tomorrow I probably have to get back to regular old project management and do a full sweep of what&#8217;s on my plate. There&#8217;s quite a bit of &#8220;optional&#8221; stuff that I have let linger too long.</p>

<p>COMMIT BUILD 30</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/w3C-dlb3H88" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/ZSJsqnRlMt0" height="1" width="1"/>]]></content:encoded>
         <category>Project</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/w3C-dlb3H88/358</feedburner:origLink></item>
      <item>
         <title>How To Get Started Advertising Freelance Services Online?</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/bNxcDsBml9Y/</link>
         <description>This letter from Will asks me how to get started advertising freelance services, which is something that I, to my own surprise, have never really thought about. So I describe how I have stumbled into it&amp;#8230; I have permission from the writer to post this letter; I&amp;#8217;ve removed specific references to names and places in [...]</description>
         <guid isPermaLink="false">http://davidseah.com/letters/?p=5</guid>
         <pubDate>Wed, 02 Nov 2011 18:24:58 +0000</pubDate>
         <content:encoded><![CDATA[<p><em>This letter from Will asks me <strong>how to get started advertising freelance services</strong>, which is something that I, to my own surprise, have never really thought about. So I describe how I have stumbled into it&#8230;</em></p>

<p><em>I have permission from the writer to post this letter; I&#8217;ve removed specific references to names and places in case these are sensitive. If Will is fine with such details, he can contact me and I&#8217;ll stick them back in.</em></p>

<p>Hi Dave,</p>

<p>I&#8217;ve been reading your various blogs for a while and have really appreciated your writing, humor, and insights. Flattery aside, I find your design and conceptual work to be very inspiring. A little background: I graduated from [...] in May with a degree in psychology and English literature. I&#8217;m currently employed at [...] as a project coordinator at the [...] (think entry-level business consultant, like for McKinsey, but paid a lot less). While I enjoy my work, I&#8217;m also thinking about pursuing other avenues of work and enrichment.</p>

<p>One of my jobs during college was working as a copy writer for our communications office. I really enjoyed the work and found it fulfilling. As I look for additional funding during my post-graduate life, I&#8217;ve once again turned to the idea of being a copywriter-for-hire. I  also enjoy editing and wouldn&#8217;t mind editing other people&#8217;s copy, but I think that business would pick up more after building something of a reputation or portfolio of writing.</p>

<p>So, to my question(s). What advice can you offer someone who wants to get started advertising freelance services online (I have a web site)? More specifically, how would you go about starting to build this kind of a business? I&#8217;ve had a few thoughts, such as needing to pick my target audience, build a portfolio, and maybe some mockups.</p>

<p>If you don&#8217;t mind sharing a few thoughts I&#8217;d appreciate it very much. If the scope of my question extends into the realm of your paid business, please let me know.</p>

<p>Thanks,<br />
Will [...]</p>

<hr />

<p>Hi Will,</p>

<p>I know a few people who&#8217;ve been through [...] at [...], so that&#8217;s cool!</p>

<p>So, to my question(s). What advice can you offer someone who wants to get started advertising freelance services online (I have a web site)? More specifically, how would you go about starting to build this kind of a business? I&#8217;ve had a few thoughts, such as needing to pick my target audience, build a portfolio, and maybe some mockups.</p>

<p>The timing for this question is excellent, as I&#8217;m facing this very issue myself! Let me address each point one-after-the-other and see what comes out.</p>

<p>Firstly, I don&#8217;t feel I&#8217;m particularly successful in advertising my freelance services online. That&#8217;s because I&#8217;ve never defined them very clearly. And the reason for that is that I didn&#8217;t want to be pinned down into a line of work for purely business reasons. Instead, I wanted to give myself the freedom to explore, and was willing to take the financial hit. It has been quite expensive, both in terms of potential income lost and in time spent.</p>

<p>So let&#8217;s assume you don&#8217;t want to waste time tweaking the line-of-sight between your inner eye and your own navel, and want to make some money! I&#8217;ve already outlined what I think has been my barrier to successful self-promotion: lack of focus. Or, as my friend marketing raconteur Colleen would say, the lack of having a &#8220;handle&#8221; that people can use &#8220;get a grip&#8221; on me; if people don&#8217;t know how to wrap their mind around what I do, they&#8217;re unlikely to be able to think of a reason why they&#8217;d want to hire me for anything.</p>

<p>I pause, because I&#8217;m about to say a whole bunch of stuff that I haven&#8217;t professionally vetted or &#8220;successfully&#8221; put into practice, because I haven&#8217;t followed it myself. It&#8217;s basically the opposite of what I&#8217;ve done:</p>

<ul>
<li>Pick one key audience/market which you will target by being as good as you can possibly be.</li>
<li>Make it clear what you offer, and how to get started</li>
<li>Book the work and get compensated fairly (not necessarily the same as being &#8220;paid&#8221;)</li>
</ul>

<p>You&#8217;ll have to:</p>

<ul>
<li>Figure out what &#8220;good&#8221; and &#8220;credible&#8221; is, from the point of view of your target audience.</li>
<li>Create tangible proof of that &#8220;good&#8221; online in a way that the target audience really understands, fro their point of view.</li>
<li>Spread the word of the good work you&#8217;re doing across the Internet, gathering incoming links and positive reviews.</li>
<li>Tell the people you meet in person of the good work you&#8217;re doing, sharing your enthusiasm for the work.</li>
</ul>

<p>Ultimately, you&#8217;ll want to establish yourself as a rare, high-value commodity provider&#8230;when you are in demand, your rates will rise accordingly because people will be willing to pay for them.</p>

<p>There may be many people who do what you do, but you&#8217;ll want to be THE person people think about when they need work done (and this may be a small group, your target niche). To get there, you&#8217;ll have to prove your mettle by being the consummate professional that delivers the results reliably. Word of mouth can then carry you on personal referrals and word of mouth.</p>

<p>That&#8217;s the process side. It&#8217;s pretty much the same as all the advice you&#8217;ve probably seen already.</p>

<p>The hard part, I&#8217;ve found, is figuring out what GOOD means, discovering who my target audience REALLY is so I can define GOOD, and the ultimately determining what it is that I&#8217;m offering people. This is, I suspect, something you just have to learn by doing. There will be failure and heartbreak mixed with elation and success, but remember that this is part of the process. You will get there only by doing the work, pounding out those articles day after day, and creating a mass of experience that makes you into the powerhouse you are capable of becoming.</p>

<p>I encourage you to look into the works of Seth Godin (&#8220;Purple Cow&#8221; comes to mind), Hugh McCloud (either &#8220;How to Be Creative&#8221; or his expanded book version &#8220;Ignore Everybody&#8221;), and Josh Kaufmann&#8217;s &#8220;The Personal MBA&#8221; for a concise nuts and bolts review of marketing to help convert those  concepts into doable steps. These are the first books that popped into my mind, because they are most closely aligned with what I think. If you find the process tedious and unrewarding, remember too that it takes a crapton of time to get anywhere doing your own thing; for encouragement, Steven Pressfield&#8217;s, &#8220;Do the Work&#8221; (or even his earlier and lengthier classic &#8220;The War of Art&#8221;) might help you out there. Malcolm Gladwell&#8217;s &#8220;Outliers&#8221; might also give you a sense of what being a true stand-out is.</p>

<p>So I don&#8217;t know if this really answers your question. If you&#8217;re looking for more of a recipe, it would be to do the following:</p>

<ul>
<li>Create a website.</li>
<li>Pick the keywords that describe copywriting + specialty.</li>
<li>Post collections of your writing on your website as a portfolio.</li>
<li>Apply basic semantic SEO: page titles, links, headers, and writing that targets a subject.</li>
<li>Pick an &#8220;angle&#8221;, and reinforce it throughout your materials.</li>
<li>Inject some personality so people can remember you as, &#8220;that guy who&#8230;&#8221; if they forget your name.</li>
<li>Post resources that are genuinely useful, so people have a reason to visit. Good for organic search, too.</li>
<li>Make it easy for people to contact you.</li>
<li>Install Google Analytics and watch your incoming search terms and track hits.</li>
<li>Create collections of your related works in easy-to-find sections on your website, cross-linked for easy navigation.</li>
<li>Use your website as a personal identity vehicle when posting your comments.</li>
<li>Refer to your website samples when approaching people for work.</li>
<li>Keep posting new website content, generating more and more words, every week.</li>
<li>Repeat for two years, and see how it goes.</li>
</ul>

<p>It&#8217;s up to you to provide your own clever take on the above steps. It&#8217;s based on the idea people will hit your website either as a referral from you or through an organic search for &#8220;copywriter plus keyword&#8221;. They may also just stumble upon something clever you&#8217;ve posted somewhere on the Internet. When they get to your website, you want them to know right away what you&#8217;re about (copywriting) and your personality/style. If they want to hire a copywriter, I&#8217;m guessing they&#8217;ll want to know the same stuff that any business wants to know: availability, rates, turnaround, process, etc. in terms they are used to, with some way of estimating costs so they can budget you into the project. So talk to some copywriter industry people and find out what that is.</p>

<p>Dave</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/bNxcDsBml9Y" height="1" width="1"/>]]></content:encoded>
         <category>Letter</category>
      <feedburner:origLink>http://davidseah.com/letters/2011/11/how-to-get-started-advertising-freelance-services-online/</feedburner:origLink></item>
      <item>
         <title>PSEC: Drag and Drop List Saving and Loading</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/udAEwH9XH64/345</link>
         <description>I&amp;#8217;m finally getting back to this. I&amp;#8217;ve been reading articles here and there about the use of jQuery UI, trying to find a succinct reference. The source code samples on the jQuery UI demos page helped: you just invoke a method on the element you want to have a certain UI feature (e.g. sortable()). Behaviors [...]</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=345</guid>
         <pubDate>Wed, 02 Nov 2011 02:25:48 +0000</pubDate>
         <content:encoded><![CDATA[<p>I&#8217;m finally getting back to this. I&#8217;ve been reading articles here and there about the use of jQuery UI, trying to find a succinct reference. The source code samples on the <a rel="nofollow" target="_blank" href="http://jqueryui.com/demos/">jQuery UI demos</a> page helped: you just invoke a method on the element you want to have a certain UI feature (e.g. <code>sortable()</code>). Behaviors are added magically! This is pretty cool. By using the SORTABLE features of jQueryUI, I have just saved myself at least a week of painstaking work rolling my own drag and drop code. <hr id="more-345" class="more-separator"/></p>

<p>0530</p>

<p>As I mentioned, the &#8220;sortable&#8221; behavior is what I want. Specifically, I also would like the &#8220;portlet&#8221; (portal) style display, which puts multiple elements into one div that can be expanded. That&#8217;s probably the quickest way to do it. But I&#8217;ll try applying .sortable() to what I already have just to see what happens.</p>

<p>So what do I need to do? First I need to include jQuery UI.</p>

<ul>
<li>Went to <a rel="nofollow" target="_blank" href="http://jqueryui.com/download">jQuery UI Download Site</a> and grabbed a download without a lot of effects. It&#8217;s about 600K! Version 1.8.16, good for jQuery 1.3.2+</li>
<li>Occurred to me that WordPress already includes jQuery UI&#8230;I double checked this on the <a rel="nofollow" target="_blank" href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script">wp-enqueue</a> docs page. So theoretically I can just enqueue the &#8220;sortable&#8221; script (which is already registered within WP) and use it.</li>
<li>I enqueue the scripts in _main.php. I don&#8217;t bother with adding the downloaded version. These are jquery, jquery-ui-core, and jquery-ui-sortable.</li>
</ul>

<p>So now, I should theoretically be able to just add some code like this:</p>

<div><pre>
    jQuery( &quot;#vtasks&quot; ).sortable({
        placeholder: &quot;ui-state-highlight&quot;,
        delay: 500
    });
</pre></div>

<p>Good lord, it works!</p>

<p>0630</p>

<p>So now I just have to do two things:</p>

<ol>
<li>convert the VTASKS to Portlets</li>
<li>Be able to save the order.</li>
</ol>

<p>Let&#8217;s work on saving the order first. Right now, only model data is being saved. I&#8217;m not saving the order of tasks in the list. How do I even get that order? I think I would use jQuery to grab the content of the #vtasks container, and then walk the list of items returned, pulling the task ID number (which looks like <code>vt1</code>, <code>vt2</code>, and so on) and saving them to an array.</p>

<p>In my markup, the #vtasks div holds other unique divs. Pulling the id from each class would require code like this&#8230;</p>

<pre><code>var ids = [];
jQuery("#vtasks").children().each(function(i) {
  ids[i] = jQuery(this).attr('id');
});
</code></pre>

<p>This seems to work. I got confused at first because the &#8220;each&#8221; function doesn&#8217;t iterate in-order, so my debug messages were confusing me by not matching the sortable&#8217;s order.</p>

<p>I&#8217;m now adding the code in View.js to create a VTaskList structure to save. However, there&#8217;s an organizational complication in that the Database is stored in Model, but I want to save View related data. I guess it&#8217;s not a big deal.</p>

<p>I need to add &#8220;dirty&#8221; flags to VTaskList now. Currently, the way dirty is handled is on the item level within model. I don&#8217;t think I want to do that for VTasks&#8230;the entire VTaskList gets dirtied.</p>

<p>I added dirty management to the View structure. The <code>InvalidateVTaskList()</code> function needs to be called on a change event in the jQuery sortable setup. I used:</p>

<pre><code>change: function(event, ui) { View.InvalidateVTaskList(); }    
</code></pre>

<p>I&#8217;m adding the dirty checks for VTaskList and am now looking into the save code in <code>_ajax.php</code>, and am wondering where in the database I should save the data. I think this could probably just be a string saved in some &#8220;views&#8221; table, which doesn&#8217;t yet exist.</p>

<p>0915</p>

<p>Spent a LOT of time trying to figure out how to write a new database row if it didn&#8217;t already exist. MySQL Community Workbench was helpful in constructing a SQL statement that checked. Wasn&#8217;t so helpful in showing me empty results.</p>

<p>For some reason, my SQL query executed through wpdb is completely failing to work. It works as expected in MySQL Community Workbench, but it&#8217;s acting weird in my PHP. Very annoying.</p>

<p>Strangely, when I dropped the count from:</p>

<p><code>$exists = $wpdb-&gt;query("SELECT * FROM $table WHERE user_id='".$rarr['user_id']."' AND vkey='vtasklist' LIMIT 1");</code></p>

<p>&#8230;it seemed to work. $wpdb might be returning something weird&#8230;oh, duh. It returns the # of rows, not the RESULTS of the query. The wpdb-&gt;query() command actually doesn&#8217;t return values, but it used to run operations on the database where you&#8217;re not intending to inspect the results. Grr.</p>

<p>0945</p>

<p>I was fried, so I took a break.</p>

<p>1400</p>

<p>One thing I noticed earlier, which is unrelated to the current thrust of code development, is that I&#8217;m not sending a valid user_id. Or rather, the user_id is 0. This may very well be the WordPress user_id, but let me double-check that.</p>

<p>If I recall, it&#8217;s set-up in a script just before the footer is output, because that&#8217;s where all the vars are passed. I looked at the wp_users table and confirmed that yes, the user id for me is 1. However, the global $user_ID is set to zero. Or is it? Confirmed&#8230;it is. At the point that this script runs, the user_id should be valid. But it is not.</p>

<p>Oh, duh&#8230;it is because I am not logged-in&#8230;I never added a real check for privileged users. I will add a check called <code>dseah_check_user()</code>, which will send a failure if the user is not allowed to do the fun stuff.</p>

<p>Awesome. Just a little bit closer! Finally, I need to add the code that reads in the VTASKLIST and renders the task in the correct order.</p>

<p>1445</p>

<p>Break break break</p>

<p>2145</p>

<p>So now, it&#8217;s time to read-in the VTaskList. I have some initialization code in place already, in the initialization routine. So let&#8217;s make sure that data is being sent. I have to assemble a vtasks array from my stored string, using the PHP explode() function to convert it into an array.</p>

<p>Next, I have to modify the initialization from packet to take vtasklists into account. Et voila, it seems to work!</p>

<p>I forgot to mentioned also that the &#8220;Views&#8221; table stores various views per user_id. The only kind I have defined now is a &#8220;vtasklist&#8221;, which stores a string of comma-delimited numbers in a TEXT data structure. I imagine there will be other kinds of views.</p>

<p>And THAT, my friends, is a complete round-trip, somewhat functioning drag-and-drop list manager thingy. Although I should handle DELETING and SELECTING items too. But before I do that, I will want to do a <strong>code review</strong> and turn this project into a plugin.</p>

<p>I also need to do the conversion to Portlets, which was the first thing on the list. But I&#8217;m now thinking of a way to do mass data entry that would be a nice diversion from this.</p>

<p>2230</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/VXTwrLDrBLM" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/udAEwH9XH64" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/VXTwrLDrBLM/345</feedburner:origLink></item>
      <item>
         <title>Quick and Dirty CSS Templating Engine</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/BOIYIjBXUZw/308</link>
         <description>I recently posted about creating some Baseline Grid CSS for my web typography. The first iteration was hand-coded for a specific font-size and line-height. A reader mentioned that there are CSS templating engines available called LESS and SASS respectively. They both allow you to treat CSS more like a real programming language, with constants and [...]</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=308</guid>
         <pubDate>Wed, 26 Oct 2011 08:02:01 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/190-1025-css-template.png.jpg" width="190" height="207" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
I recently posted about creating some <a rel="nofollow" target="_blank" href="http://davidseah.com/design/2011/10/22/exploring-baseline-grid-layouts/">Baseline Grid CSS</a> for my web typography. The first iteration was hand-coded for a specific font-size and line-height. A reader mentioned that there are CSS templating engines available called <a rel="nofollow" target="_blank" href="http://coding.smashingmagazine.com/2011/09/09/an-introduction-to-less-and-comparison-to-sass/">LESS and SASS</a> respectively. They both allow you to treat CSS more like a real programming language, with constants and functions and other extensions to make it suck less. SASS works on the server-side, requiring Ruby. LESS, however, runs on the client-side, and is implemented as a Javascript library that executes at runtime. There are some nice features in both packages, but I didn&#8217;t really want to  require yet another Javascript library in my code or install Ruby. <hr id="more-308" class="more-separator"/></p>

<h3>Why not use PHP?</h3>

<p>The alternative, of course, is using PHP. Most PHP tutorials I saw on the subject required loading a templating engine like <a rel="nofollow" target="_blank" href="http://www.smarty.net/">Smarty</a> or littering your CSS with stupid-looking PHP <code>&lt;?=$myvalue?&gt;</code> tags. I hate the way that looks, and it makes for awkward typing.</p>

<p>So I tried something a lot simpler.</p>

<h3>Getting rid of those ugly &lt;? tags ?&gt;</h3>

<p>I used the new-ish PHP5 <code>__halt_compiler()</code> command to make a <strong>single-file, self-contained templating system</strong>. The &#8220;constants&#8221; are defined above the template &#8220;engine&#8221;, which is basically 7 lines of PHP tucked between lines 14 and 23 (below). After the engine code is normal syntax CSS file, with the addition of the template constants.</p>

<p>Here&#8217;s an abbreviated exmample of my <code>baseline.css.php</code> file; it&#8217;s included in HTML as a stylesheet with the normal <code>&lt;link rel='stylesheet'...</code> statement.</p>

<div><pre>
&lt;?php 
// Basic Typographic Dimensions: 

$basefontSize   = 12;
$gridSize       = 18;

$substitutions = array(
    '@timestamp'    =&gt;    date('Y-m-d h:i:s'),
    '@basefont'     =&gt;    $basefontSize . 'px',
    '@grid'         =&gt;    $gridSize . 'px',
    '@basecolor'    =&gt;    '#444'
);

/** DO REPLACEMENT ************************************/
$fp = fopen(__FILE__,'r');
fseek($fp,__COMPILER_HALT_OFFSET__);
$output = stream_get_contents($fp);
foreach ($substitutions as $key=&gt;$value) 
    $output = str_replace(&quot;[$key]&quot;,$value,$output);
header(&quot;Content-type: text/css&quot;);
print $output; 
__halt_compiler();
/** BEGIN CSS ** GENERATED OUTPUT ** [@timestamp] **/

body {
    font-size: [@basefont];
    line-spacing: [@grid];
    color: [@basecolor];
}    

</pre></div>

<p>In particular:</p>

<ul>
<li><p>On <strong>line 7</strong>, you define an array of the values you want to substitute. For example, <code>@basefont</code> is matched with a string containing the value of <code>$basefontSize</code> and the letters <code>px</code>.</p></li>
<li><p>On <strong>line 23</strong> is the beginning of the actual CSS. Anywhere there is a <code>[@basefont]</code> (note the brackets), the value defined above will be substituted.</p></li>
</ul>

<p>That&#8217;s it!</p>

<h3>How It Works</h3>

<p>Here&#8217;s what the code does:</p>

<ul>
<li>When the file is loaded by the browser, the PHP code opens ITSELF. The code uses the <code>fseek()</code> command to skip over the PHP to process the end of the file where my CSS code lives.</li>
<li>Everything after the <code>__halt_compiler()</code> command is read into the variable <code>$output</code>. This should have normal CSS code in it. </li>
<li>It uses the <code>str_replace()</code> function to substitute the keys (e.g. <code>@basefont</code>) in <code>$substitutions</code> with the associated values (<code>12px</code>, the result of the calculation).</li>
<li>Once all substitutions are done, the modified CSS is sent to the browser with the necessary <code>Content-Type: Text/css</code> HTTP header.</li>
</ul>

<p>Since it&#8217;s PHP, you can write anything you want to pre-calculate anything you might need. With a little elbow grease, you could do more sophisticated parsing of the substitution keys, evaluate PHP code, or even call functions. All I really want for myself, though, is some simple arithmetic and maybe a few color definitions, so I think this is fine for now.</p>

<h3>Drawbacks</h3>

<p>It&#8217;s PHP, so that means if you make an error in the code, your CSS file will not load. And since the file is being fetched as a stylesheet file, you won&#8217;t see any errors unless you:</p>

<ul>
<li>Enable PHP Error Reporting, if it&#8217;s not already on.</li>
<li>Go directly to the URL of the stylesheet in your browser so you can see the errors.</li>
</ul>

<p>Or&#8230;</p>

<ul>
<li>Inspect the PHP Error Log on your web server. This is what I do, as I have a browser-accessible error log (here&#8217;s how I <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2007/04/separate-php-error-logs-for-multiple-domains-with-plesk/">set it up</a> on my Plesk-based CentOS server).</li>
</ul>

<p>You might also forget to include all the @keys, or forget the [ ] around them. This is just an arbitrary convention I am using&#8230;you could use { } or whatever you like that is &#8220;search and replace&#8221;-friendly.</p>

<p>One last irritation is that since this is a PHP file, my code editor doesn&#8217;t syntax-highlight or auto-complete the CSS parts. I might convert this into a generalized loader that processes existing .css files to resolve that, but that sort of gets away from the one-file ideal. UPDATE: Besides, <a rel="nofollow" target="_blank" href="http://www.wait-till-i.com/2005/02/11/css-constants/">this is even simpler</a>.</p>

<h3>Check It Out</h3>

<p>You can <a rel="nofollow" target="_blank" href="http://davidseah.net/baseline-css/">check out my working prototype</a> and click on a few values to see how it recalculates. The templating should be fast enough to use for development, but for a production server you probably would want to copy the output into a static .css file. My code emits a timestamp to help keep things straight.</p>

<p>There are still errors in the baseline calculations due to loss of numerical precision, but the general idea seems to be working. Now I can quickly experiment with font and line height combinations to establish a particular typographic color and scale, with a pretty good starting point for the typography. If you&#8217;d like to play with the source code, you can download it here. Enjoy!</p>

<ul>
<li><a rel="nofollow" target="_blank" href="http://davidseah.net/_packages/baseline-css-php-template.zip">Download ZIP archive</a> of the baseline grid prototype, so you can see it working in a more complex example. Requires PHP5 on your webserver.</li>
<li>Read about the <a rel="nofollow" target="_blank" href="http://davidseah.com/design/2011/10/22/exploring-baseline-grid-layouts/">Baseline Grid CSS</a> stuff I&#8217;ve been experimenting with.</li>
</ul>

<h3>Other Solutions</h3>

<p>Much thanks to the more clued-in developers for sending me these links. These are much more powerful  processors, implemented in different ways toward the same goal of extending CSS with useful programmer features:</p>

<ul>
<li><p><a rel="nofollow" target="_blank" href="http://sass-lang.com/">SASS</a> or &#8220;Semantically Awesome Stylesheets&#8221; is a server-side CSS processor written in Ruby.</p></li>
<li><p><a rel="nofollow" target="_blank" href="http://lesscss.org/">LESS.js</a> is a &#8220;Dynamic Stylesheet Language&#8221; written in Javascript.</p></li>
<li><p>Joe Lencioni pointed me to the <a rel="nofollow" target="_blank" href="http://the-echoplex.net/csscrush/">CSS Crush Preprocessor</a>, which is a PHP implementation that looks tasty.</p></li>
</ul>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/tBo5FtpQb_U" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/BOIYIjBXUZw" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/tBo5FtpQb_U/308</feedburner:origLink></item>
      <item>
         <title>Logo for “The Tiny School”</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/tXQCOyNp9dA/</link>
         <description>For the past 10 or so years, I&amp;#8217;ve had this fantasy of having my own school where a bunch of my peeps could hang out, teach, and learn new things. The idea resurfaced when I was talking with some friends about the difficulty of maintaining a co-working space in a small town. If there was [...]</description>
         <guid isPermaLink="false">http://davidseah.com/design/?p=95</guid>
         <pubDate>Tue, 25 Oct 2011 00:04:06 +0000</pubDate>
         <content:encoded><![CDATA[<p>For the past 10 or so years, I&#8217;ve had this fantasy of <strong>having my own school</strong> where a bunch of my peeps could hang out, teach, and learn new things. The idea resurfaced when I was talking with some friends about the difficulty of maintaining a <strong>co-working space</strong> in a small town. If there was an additional draw&#8212;say, very short classes&#8212;people might think of co-working as something more than a social visit.</p>

<p>On a different note, I&#8217;ve been following <a rel="nofollow" target="_blank" href="http://www.tumbleweedhouses.com/">Tumbleweed Tiny House Company</a> people for years, and recently I stumbled upon those <a rel="nofollow" target="_blank" href="http://superpunch.blogspot.com/2011/09/little-free-library.html">Little Free Libraries</a>, which look like birdhouses filled with books. I like well-built small spaces that are designed for quirky lifestyles.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1024-tinyschool01.jpg" width="570" height="387"/><br /></p>

<p>The desire for the small and quirky have combined with the school idea to create <strong>The Tiny School of Art and Science</strong>. I&#8217;m probably more excited about making <strong>tiny diplomas</strong> than anything else, but I decided to write about the concept this weekend to run by my friends. I then proceeded to get sidetracked doing <strong>logo design</strong> to accompany the collateral.</p>

<p><hr id="more-95" class="more-separator"/></p>

<p>I had the not-very-original idea of drawing a tiny school house, but then I got to thinking about things I liked about the school metaphor:</p>

<ul>
<li>Free periods!</li>
<li>Cool stationery!</li>
<li>Recess!</li>
<li>Drawing spaceships while not paying attention in class!</li>
<li>All the weird things you make to pass the time during recess: paper wads, paper footballs, space wars, dreamcatchers&#8230;</li>
</ul>

<p>[UPDATE: I've since been told that "dreamcatcher" isn't the correct term, but just play along with me]</p>

<p><strong>Dreamcatchers</strong> I particularly like. Though it&#8217;s just made of paper, it <strong>grants otherworldly powers</strong> limited only by their creator&#8217;s sense of humor.I thought this symbol of elementary school magic, folded in the shape of a house, might convey the right kind of irreverent DIY attitude I imagined.</p>

<p>So I mocked one up in Illustrator:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1024-tinyschool-f1.png.jpg" width="570" height="570"/><br /></p>

<p>There are some positive qualities to this, though it wasn&#8217;t clear to me that people would recognize this as a dreamcatcher. However, the constructed lines gave it a kind of engineering precision.</p>

<p>The typeface is <strong>Tw Cen MT</strong>, which has that &#8220;modern feel&#8221; from 50 years ago; this gives the TINY SCHOOL a credibility through association, I think. I associate this typeface with lettering on the sides of libraries and academic buildings from the 1950s and 1960s.</p>

<p>I thought contrasting the typeface with a photographic element would create more visual interest, so I took some college-ruled paper, which I thought would add schoolhouse authenticity, and folded up some variations:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1024-tinyschool02a.jpg" width="570" height="427"/><br /></p>

<p>I initially thought I would write some numbers and words on the dreamcatcher to go with the idea of school. However, I found that the numbers were distracting, and I wondered what they MEANT. So I decided to use a blank one. Instead of referencing tradition and architecture, I&#8217;m instead making a suggestion that learning is associated with hand-folded paper and playfulness. And that is what I want the Tiny School to embody.</p>

<p>After picking a dreamcatcher, I set up an impromptu shooting table to photograph it. This involved a <a rel="nofollow" target="_blank" href="http://www.amazon.com/Manfrotto-649-Quick-Release-C-Clamp-Black/dp/B000GTPDAC?tag=davidseah-20">Manfrotto 649 Quick Release C-Clamp</a> and a <a rel="nofollow" target="_blank" href="http://www.amazon.com/Manfrotto-396B-Section-Articulated-Bracket/dp/B001GCUNB2?tag=davidseah-20">396B-2 Articulated Double Arm</a> clamped to the table to suspend my DSLR pointing down. After lifting the dreamcatcher on some folded pieces of cardboard (for better shadows), I stuffed a <a rel="nofollow" target="_blank" href="http://lumopro.com/product.php?id=25">LumoPro LP160</a> manual speedlight into a brolly box, linked to my camera with a radio trigger set (the cheap and cheerful <a rel="nofollow" target="_blank" href="http://www.amazon.com/CowboyStudio-NPT-04-Wireless-Receiver-Products/dp/B002W3IXZW?tag=davidseah-20">Cowboy Studio NPT-04</a>), and started snapping away using a remote shutter. PLUG: Thanks to Sid Ceaser&#8217;s <a rel="nofollow" target="_blank" href="http://www.portableportrait.com/">splendid workshop on off-camera lighting</a> for introducing me to using off-camera lighting and gear!</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1024-tinyschool02.jpg" width="570" height="379"/><br /></p>

<p>It turned out that I screwed up the placement of the light anyway, putting it too close to the subject. While the fadeoff looks nice, I&#8217;d forgotten that I would need to extract the image from its background and should have lit the scene more evenly. That means putting the light farther back and taking the inverse square law of lighting into account: at close distance, lighting levels can vary hugely in just a few inches, but farther away these differences even-out. I should also have shot on a gray background to make image extraction easier; ordinarily with an object you can overexpose the background to solid white to make the lift much easier, but with a white piece of paper this wasn&#8217;t possible. I ended up having to manually mask the object in Photoshop and reconstruct the shadow.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1024-tinyschool03.jpg" width="570" height="377"/><br /></p>

<p>It took about 30 minutes of fooling around to get something that I could drop into Mockup #2:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1024-tinyschool-f2.png.jpg" width="570" height="570"/><br /></p>

<p>Hrrmm. Nasty spacing issues aside, I had a lot of trouble making the white dreamcatcher work on a white background. I tried a number of different background colors before going with a sky-blue gradient (it&#8217;s very subtle, intensifying toward the bottom) to suggest the &#8220;open sky of possibility&#8221;. However, it just didn&#8217;t work for me, and the colors reminded me of a baby product oozing brown type. I don&#8217;t know what I was thinking.</p>

<p>Not wanting to use a dark surround for the background, I needed to change the nature of the subject. A piece of <strong>colored origami paper</strong> would work, but I didn&#8217;t have any. So instead, I tried coloring the triangles in Illustrator, using gradients to suggest the folded paper qualities:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1024-tinyschool-f3.png.jpg" width="570" height="570"/><br /></p>

<p>This has some positive qualities. I found the red + gray surprisingly attractive, and the gray triangle on top creates closure for the gray type on the bottom. However, I found the look of the folds of paper distracting, as they are the most attention-grabbing detail of the logo. This de-emphasized, I felt, the &#8220;small house&#8221; shape of the logo, which I think is more important. Overall, this draft also reminded me a bit of the Hong Kong Bank logo tipped on its side.</p>

<p>Remember: <strong>When in doubt, simplify:</strong></p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1024-tinyschool-f4.png.jpg" width="570" height="570"/><br /></p>

<p>I decided to switch to blue, which is a calmer color. It&#8217;s still bright and cheery, despite being slightly subdued; as a bonus, it&#8217;s one of the default swatch colors in Illustrator, so I know it will print well.</p>

<p>I rounded the points of the triangles to make them less aggressive, and made final adjustments to color balance between the two lines of text and top triangle so there are two visually distinct groups: logoshape/name and gray triangle/subtitle, that are interleaved with each other. I think this helps the logo elements bind together as the viewer looks at it.</p>

<p>Lastly, I fixed the kerning of the type so it&#8217;s maybe 95% good; there&#8217;s something still bothering me about the spacing in SCIENCE, the TH in THE, and the OOL in SCHOOL, but I got tired of my contact lenses drying out while attempting to perfect the letter spacing. For a finishing touch, I made sure the most of the implicit construction lines&#8212;for example, the angle of the top triangle&#8217;s &#8220;roof&#8221; intersecting with the ends of &#8220;The Tiny School&#8221;&#8212;terminated within the figure. It&#8217;s not perfect, but it&#8217;s close enough to give a sense of cohesion to the overall design.</p>

<p>At this point, I was aware that <strong>the original dreamcatcher idea was no longer obvious.</strong> I had liked the dreamcatcher for its symbolism of recess hijinks and the symbolism of having one&#8217;s wishes fulfilled. In its new incarnation, the logo form tells a slightly different story:</p>

<ul>
<li>It&#8217;s a set of geometric shapes playfully yet purposefully arranged. </li>
<li>It resembles an open envelope&#8230;</li>
<li>It also has a the shape of a house. </li>
</ul>

<p>With the accompanying text THE TINY SCHOOL OF ART AND SCIENCE, the house interpretation is (hopefully) arrived at more immediately. And the playfulness of that interpretation combined with the precisely-positioned geometry is a decent metaphor for &#8220;ART AND SCIENCE&#8221;, working together&#8230;</p>

<p>This is acceptable to me, and since I&#8217;m both designer and client, I approved the design and established guidelines for its use. I&#8217;m a big fat cheater! :)</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1024-tinyschool04.png.jpg" width="570" height="285"/><br /></p>

<p>I think this design will be flexible enough to form the basis of an identity system for the various subdisciplines that The Tiny School may offer. I&#8217;m particularly excited about making tiny square envelopes that look just like the logo for the tiny diplomas, and I&#8217;d like to construct a literal diploma mill that dispenses certifications with the crank of a handle. That would be awesome.</p>

<p>While it&#8217;s a simple logo, with a motif that&#8217;s been used a million times before, it arguably <strong>fits the identity</strong> for the school. So I&#8217;m calling it done. I just popped the logo into one of my cheap-and-easy WordPress Network sites at <a rel="nofollow" target="_blank" href="http://thetinyschool.com">thetinyschool.com</a>, and have started writing copy on-the-fly.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/tXQCOyNp9dA" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Designthink/~3/9AKT2y1nrmY/</feedburner:origLink></item>
      <item>
         <title>List.js List Manager in Javascript</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/RWsv3Km7VGM/305</link>
         <description>My cousin posted a link to list.js, a 7K (minified) Javascript list control. It works with Javascript/HTML and implements a way of dynamically managing a list data structure and displaying it through a template engine. It&amp;#8217;s a nice compendium of Javascript coding techniques too, easily readable and cross-platform. In the grand scheme of things, it&amp;#8217;s [...]</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=305</guid>
         <pubDate>Sun, 23 Oct 2011 19:28:41 +0000</pubDate>
         <content:encoded><![CDATA[<p>My cousin posted a link to <strong><a rel="nofollow" target="_blank" href="http://listjs.com/">list.js</a></strong>, a 7K (minified) Javascript list control. It works with Javascript/HTML and implements a way of dynamically managing a list data structure and displaying it through a template engine. It&#8217;s a nice compendium of Javascript coding techniques too, easily readable and cross-platform.</p>

<p>In the grand scheme of things, it&#8217;s the implementation of a data structure that is designed to support a particular kind of HTML element. What it doesn&#8217;t do is implement a UI to manipulate the list. For that, you could look to something in jQuery UI like the <a rel="nofollow" target="_blank" href="http://jqueryui.it/demos/sortable">Sortable</a> functionality.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/U3yPs8GtuOc" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/RWsv3Km7VGM" height="1" width="1"/>]]></content:encoded>
         <category>Tips</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/U3yPs8GtuOc/305</feedburner:origLink></item>
      <item>
         <title>Exploring Baseline Grid Layouts</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/MyZzQtsx40c/</link>
         <description>I&amp;#8217;ve been taking a break from coding the webapp framework to do some thinking about design. Specifically: typography. I&amp;#8217;m pretty fussy about the way a page is organized when I&amp;#8217;m writing documentation, and this carries over to the way that I design screens. To me, a beautiful screen design has a rhythm to it. And [...]</description>
         <guid isPermaLink="false">http://davidseah.com/design/?p=67</guid>
         <pubDate>Sat, 22 Oct 2011 08:37:29 +0000</pubDate>
         <content:encoded><![CDATA[<p>I&#8217;ve been taking a break from <a rel="nofollow" target="_blank" href="http://davidseah.com/code/project-second-productivity-application">coding the webapp framework</a> to do some thinking about design. Specifically: typography.
<hr id="more-67" class="more-separator"/></p>

<p>I&#8217;m pretty fussy about the way a page is organized when I&#8217;m writing documentation, and this carries over to the way that I design screens. To me, a beautiful screen design has a rhythm to it. And when designing information-heavy pages, I&#8217;m thinking about how to do that mostly with words and graphic treatments that show the relationship between them. Secondly, as a documentation writer, I like clean typography with headers, tables, and lists that are harmoniously spaced and weighted.</p>

<p>I&#8217;ve decided to start the design with the words in mind, which suggests the use of a <strong>baseline grid</strong>. A baseline is the imaginary line on which all the letters sit:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/578-1021-baseline1.png.jpg" width="578" height="323"/><br /></p>

<p>A nice thing about baseline grids is that the repeating rhythm is very pleasing to the eye because it is calming. A competently-designed multi-column print piece has the baselines of text aligned, which creates a powerful sense of unity across the page. Secondly, when you have seas of calm typography, that gives you something to break out of to attract attention.</p>

<p>To implement a baseline grid in HTML/CSS, you have to use the <code>font-size</code> and <code>line-height</code> tags judiciously, as well as ensuring that all the block elements you use are some multiple of the line-height. For my first grid, I decided to use a multiple of 72 pixels, which is sort of a traditional number in the world of printing. An 18 pixel-high line with a 12-pixel font-size gives me a linespacing of one-and-a-half (1.5) lines. So, my basic building block is an 18-pixel square. Here&#8217;s what I ended up with:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-1021-baseline2.png.jpg" width="570" height="637"/><br /></p>

<p>There are 36 pixels boundaries on the left and right, and a 36-pixel gutter running between the columns. The left column is 288 pixels wide, and the right is 522 pixels wide. These looked the most pleasing to me, given the line spacing and font size. I also applied full justification (<code>text-align: justify</code>) to the right-side column just to see what it would look like. Usually, full justification looks awful on a web browser, and it&#8217;s  borderline unacceptable here; the test is to compare the spaces between the words with the spacing between the lines. When the word spacing is not half the linespacing, it creates &#8220;rivers&#8221; of space running down the page&#8230;bigger gaps between words than the lines makes the text group vertically, not horizontally. Since we want peoples eyes to read horizontally, these rivers create problems as they tend to attract our eye downward. This can be adjusted by using MORE line spacing, but it makes the page a little different looking.</p>

<p>Incidentally, there is a well-known <a rel="nofollow" target="_blank" href="http://baselinecss.com/">baseline grid designer framework</a> from  <a rel="nofollow" target="_blank" href="http://www.projeturbain.com/">Stéphane Curzi</a>, but rather than use it I wanted to build one from scratch so I would be more familiar with the typographic controls in CSS. I also have a different preference for my header spacing and weighting. I adjust them to be slightly off the baseline grid so the spaces between the header baseline and the content that comes before and afterwards is also pleasing, roughly on thirds to enforce gestalt (grouping of the header) and provide some counterpoint in spacing. I think it looks nice. Otherwise, my grid is very similar to Curzi&#8217;s, though his CSS is far more comprehensive. The reading on his website site is also very educational if you want to know more about the history of baseline grids. Check it out!</p>

<h3>Thoughts on 18-pixel Blocks</h3>

<p>There is no reason why 18 pixels is the unit size. It&#8217;s actually probably a little too small for universal reading, but it&#8217;s a very traditional unit to start with because <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Point_(typography)">72 points per inch</a> is so ingrained in printing and typography. 72 is also a number that has a large number of divisors; it can be divided by 2, 3, 4, 6, 8, 9, 12, 18, 24, 36 evenly, which adds some flexibility in making equal divisions in your grid. Just as flexible is the use of 60 as a base. Let&#8217;s compare:</p>

<pre><code>Divisors of 72: 2, 3, 4, 6, 8, 9, 12, 18, 24, 36
Divisors of 60: 2, 3, 4, 5, 6, 10, 12, 15, 20, 30
</code></pre>

<p>If I wanted to increase the font-size slightly and maintain the line-height ratio of 1.5, then I&#8217;m looking at the following choices:</p>

<pre><code>12px / 18px   - approximate to 9pt
13px / 20px   - approximate to 10pt
14px / 21px  
15px / 23px   - approximate to 11pt
16px / 24px   - approximate to 12pt
</code></pre>

<p>I played around experimentally to see how Chrome rendered &#8220;pixels versus points&#8221; by changing the <code>font-size</code> property. In general, 9pt is considered small type, and 12pt is an <a rel="nofollow" target="_blank" href="http://www.nia.nih.gov/health/publication/making-your-website-senior-friendly">acceptable minimum size for older readers</a>. In the future, I would choose a grid based on the audience and ambiance of the page, and then find a multiple that works with the grid I want to use. I also have to maintain integer ratios between the <code>font-size</code> and <code>line-height</code> properties for all the calculations to work correctly in creating a baseline grid. The beauty of 12/18 is that the line-spacing property can be exactly 1.5 (it&#8217;s a multiple of the font-size). Compare this to 13/20: the ratio is 1.53846&#8230; this is a problem because when the browser calculates the line-heights to draw the screen, small numerical inaccuracies build up as you go down the page, which breaks the baseline grid alignment between columns. You can work around this by specifying pixel-based line-heights (e.g. <code>font-size:12px;line-height:18px;</code> as opposed to <code>font-size:12px;line-height:1.5;</code> as I do.</p>

<h3>Aesthetics</h3>

<p>While the baseline grid is theoretically beautiful and ordered, I personally find it a little bland. I&#8217;m not sure why that is; perhaps it has to do with the squareness and predictability of it. It&#8217;s possible to build grids out of different ratios, of course, and it&#8217;s also perfectly OK to place an element off-grid. This can be very interesting, because this breaks the expectation and stands out. Consider the following pattern examples:</p>

<pre><code>1   |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
</code></pre>

<p>The very first line is a regular pattern. It&#8217;s precise, but kind of boring. That&#8217;s because our visual system actually is very good at perceiving patterns and then tuning them out; knowing this is the basis for knowing how to control visual hierarchy on the page.</p>

<pre><code>2   |  |  |  |  |  |  |||||||  |  |  |  |  |  |  |  |  |  |  |  |  |
</code></pre>

<p>The second line shows an increase in one section without disrupting the pattern in which it lives. This creates a point of mystery. However, this could be de-emphasized if it was placed in such a way that it neatly divides the line into two halves:</p>

<pre><code>3   |  |  |  |  |  |  |  |  |  |||||||  |  |  |  |  |  |  |  |  |  |
</code></pre>

<p>Now the pattern has become a point of central interest, but it&#8217;s a little less dynamic. It turns into a subpattern if we do this:</p>

<pre><code>4   |  |  |  |  |  |  ||||  |  |  |  |  |  |  ||||  |  |  |  |  |  |
</code></pre>

<p>Now there are two patterns interwoven. It&#8217;s a little more interesting than the first pattern, but it is also <em>resolved</em> and therefore easy to stop looking at, once it is understood. Finally, consider the following pattern.</p>

<pre><code>5   |  |  |  |  |  |  | |  |   |  |  |  |  |  | |   |  |  |  |  |  |
</code></pre>

<p>On first glance, this looks like the same pattern as 1, except there are two misplaced lines. It&#8217;s just slightly askew; some people are quite sensitive to this and will notice it right away. The problem with this is that is looks sloppy and it&#8217;s hard to tell the intent of the person who drew it: is it <em>supposed</em> to be a regular pattern? That creates ambiguity in the meaning. If it&#8217;s supposed to be sloppy, it should be more obviously sloppy. If it&#8217;s supposed to be regular, then make it perfectly regular.</p>

<p>This is the basic understanding that guides my application of a baseline grid. Ideally, it  creates solid grid so we can selectively place points of interest and maintain overall unity on the page. We can break out of the grid pattern to jump out, for items that we perhaps need the reader to see first before reading subsequent text; the most contrasting element tends to stand out first. We can also place content (images, for example, or headers) in places where they stand out to signal a change, encountered in the linear progression of our eyes through the ordered content.</p>

<p>Speaking of headers, mine use asymmetrical spacing. There&#8217;s more space before the header than after, since I want the header to be grouped visually with its following content. The exception to this rule is for the H3; the space is even, and similar in size to the H1 and H2 &#8220;after space&#8221; between header and following text. Since I usually use H3s for chaining sequential sections together, this helps maintain the visual flow of the entire document because the negative spaces create a linking pattern. This is a convention that I use, however, in my writing. Other people probably would prefer to have a regular asymmetrical H3 spacing to be consistent (I might add one). If I don&#8217;t need an H3, I skip it and use an H4 for subcontent headings, or I just use H2s. I&#8217;m still actually on the fence about the H2 spacing.</p>

<p>The grid is so boring because there are no larger blocks of content; this is pretty much a straight chunk of text. There is also very little scale variation, other than in the headers, and no balancing use of image. This would get much more interesting making sure that there&#8217;s plenty of whitespace, with page-sized graphic elements to balance things out.  A sub-grid can be applied, like the compositional <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Rule_of_thirds">rule of thirds</a> or constructing a grid based on what&#8217;s in the image. There&#8217;s a pretty nice <a rel="nofollow" target="_blank" href="http://www.thinkingwithtype.com/contents/grid/">grid review</a> on the marvelous <a rel="nofollow" target="_blank" href="http://www.thinkingwithtype.com">Thinking with Type</a> book site, demonstrating how asymmetrical spaces can liven up a layout.</p>

<h3>Other Implementation Notes</h3>

<p>As far as code goes, this is a decent starting point, but for greater flexibility I want to rewrite the CSS to use calculated values. That means converting the CSS file to PHP so I can change the key variables of <code>font-height</code> and <code>line-spacing</code> and then properly calculate the margins and padding for all other elements to stay on the baseline. Since there is no way of specifying margin and padding in terms of font size in CSS, PHP will have to be my stand-in.</p>

<p>The most recent version of this file will be at <a rel="nofollow" target="_blank" href="http://davidseah.net/baseline-css">http://davidseah.net/baseline-css</a>.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/MyZzQtsx40c" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Designthink/~3/pnwsebRma3Q/</feedburner:origLink></item>
      <item>
         <title>Recovering a Bad Macintosh External Drive</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/Gvz9s7lj0FY/</link>
         <description>A friend of mine reported this problem: &amp;#8220;You see, my external hard drive has just kicked the bucket&amp;#8230;with all my files still on it. It randomly started making a clicking noise. It will no longer connect to any computer for longer than 40 seconds. I&amp;#8217;ve gone around to a couple different places to see what [...]</description>
         <guid isPermaLink="false">http://davidseah.com/infotech/?p=18</guid>
         <pubDate>Sun, 16 Oct 2011 23:00:51 +0000</pubDate>
         <content:encoded><![CDATA[<p>A friend of mine reported this problem:</p>

<blockquote>
  <p>&#8220;You see, my external hard drive has just kicked the bucket&#8230;with all my files still on it. It randomly started making a clicking noise. It will no longer connect to any computer for longer than 40 seconds. I&#8217;ve gone around to a couple different places to see what they could do without sending it out for it to be taken apart to retrieve my data.&#8221;</p>
</blockquote>

<p>I received the drive already removed from its IOMEGA 1TB enclosure. The drive was a regular 3.5&#8243; 1TB SATA drive.</p>

<h4>Low Level Disk Recovery</h4>

<p>The first step was to stuff the drive into a bare PC rig and run <strong><a rel="nofollow" target="_blank" href="http://www.grc.com/sr/spinrite.htm">Spinrite 6</a></strong> on it. Spinrite is a hard drive utility written by Steve Gibson, an old-school assembly language programmer whose relationship to computers is similar to the way a master swordsmith relates to steel. Spinrite fixes any problems it finds at the very deepest level of the hard disk, below the operating system layer, so it works both for Macintosh drives as well as PC drives. It is very highly regarded. However, <strong>it only runs on PCs, not Macintoshes</strong>, so if you&#8217;re a Mac user or are a PC user that doesn&#8217;t have an extra throwaway PC lying around, you are out of luck; there is no comparable software for the Mac that goes as deep as this. Best bet: make friends with your local PC tech! This <a rel="nofollow" target="_blank" href="http://www.macintouch.com/readerreports/harddrives/topic4557.html">thread about disk recovery on Macintouch</a>, while old, still gives useful information about the use of SpinRite with Macintosh hard drives.</p>

<p>After a 4.5 hour run at level 2 &#8220;data recovery&#8221; mode, Spinrite found no unreadable sectors. The drive was, as far as level 2 scanning was concerned, just fine. Furthermore, I didn&#8217;t see any signs of disconnecting or hear any weird clicking noises.</p>

<h4>MacOS X Disk Utility</h4>

<p>I booted up my MacBook Pro and used a USB SATA connection kit to connect to the drive. It mounted (appeared) on the desktop just fine.</p>

<p>Next step was to do a VERIFY DISK operation on it with Apple&#8217;s <strong><a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Disk_Utility">Disk Utility</a></strong> program. Disk Utility can check whether data on the disk is organized as expected. Every disk drive in a computer has data on it that describes how it is organized. Files, for example, have file names and other properties, and these are all put into an index that is stored in addition to your data. If the index gets corrupted, then the operating system can&#8217;t find files anymore. The data is there, but the pointer to the data is gone.</p>

<p>After a few hours, Disk Utility reported a minor problem (volume size mismatch), which it reportedly was able to repair. There were no other errors at all. I returned the drive to its owner to try to copy the data from it.</p>

<p>If Disk Utility had reported significant problems, then I would have had to purchase a utility like <strong><a rel="nofollow" target="_blank" href="http://www.alsoft.com/diskwarrior/">Disk Warrior</a></strong> to do a more comprehensive disk recovery. Unlike Disk Utility, which can only make minor repairs to an existing disk index, DiskWarrior looks at the hard drive like a giant jigsaw puzzle and attempt to reconstruct a new disk index from scratch through smart analysis of each sector and figuring out where it should go. This is a time-honored technique.</p>

<p>As I was not familiar with the current crop of Macintosh disk utilities, I looked for insightful commentary:</p>

<ul>
<li><p>One non-technical computer user tried <em>all five</em> major repair tools: DiskWarrior, Drive Genius, Data Rescue, and Techtool Pro. Unfortunately, <a rel="nofollow" target="_blank" href="http://www.photomystic.com/reviews/repair-defective-hard-drive/">his experience</a> did not have a happy ending. His despair, however, is our gain: he describes the difference between each tool, as he learned by trying out each one.</p></li>
<li><p>Old-school Macintosh user and tech writer Ted Landau writes about <a rel="nofollow" target="_blank" href="http://www.macobserver.com/tmo/article/disk_utilities_fade_away/">the fading-away of disk utilities</a> in today&#8217;s marketplace. The comments provide additional insight into the use of each tool.</p></li>
</ul>

<p>My assessment at this moment is that DiskWarrior is the program to buy, to be used after running Spinrite 6 on the drive on a PC. Like Spinrite, DiskWarrior is a single-purpose tool designed to repair the disk indexing structures. However, it does not fix unreadable sectors on a disk; that&#8217;s what Spinrite does. The combination of the two should be powerful enough to handle any data recovery situation where the drive is still physically operating. The other programs mentioned&#8211;Drive Genius, Data Rescue, and Techtool Pro&#8211;appear to be more like Swiss army knives, and are sold with dozens of functions that have more to do with broader disk management and general computer maintenance.</p>

<p>The mystery, however, is why Spinrite detected no errors and Disk Utility reported only a volume size mismatch. This is a non-critical error, akin asking someone how much money they have in their wallet and getting an answer that is a few pennies off. It should not have caused the clicking and disconnection problems reported.</p>

<h3>Diagnosis?</h3>

<p>As I mentioned, the disk itself was received already removed from its enclosure. Since the disk worked fine in my PC rig through the SATA port, and mounted without trouble on my Macintosh via a SATA-to-USB adapter, that means that it&#8217;s probably the enclosure itself that is faulty. There are two major components other than the disk drive itself: the logic board and the power supply.</p>

<p>Unless there was some kind of electrical surge event, every single external hard drive enclosure I&#8217;ve owned since 1994 has failed due to the enclosure. The symptoms: the drive works intermittently and shuts down unexpectedly, or disappears from the operating system while you&#8217;re trying to use it. The drive itself is fine, so transplanting either the power supply or putting it in a new enclosure (which includes a new power supply) has worked. I haven&#8217;t been able to find references to &#8220;power supply degradation over time&#8221;, so I&#8217;m not sure how much of my experience is coincidence, but practically speaking I&#8217;ve had good luck swapping the drive with a newer power supply or enclosure.</p>

<p>As my friend had already purchased a new external hard drive, I didn&#8217;t bother to test the old enclosure by putting the drive back inside. However, I did check to see whether Iomega sold replacement power supplies (they are external AC-DC adapter &#8220;wall warts&#8221;), and they do. He may test the enclosure with a different power supply to see if there&#8217;s any difference. He&#8217;ll need to match voltage, current, plug and polarity.</p>

<h3>Tools Mentioned</h3>

<h4>Software</h4>

<ul>
<li><p><a rel="nofollow" target="_blank" href="http://www.grc.com/sr/spinrite.htm">Spinrite 6</a> &#8211; <strong>PC ONLY</strong> commercial software. Use for low-level data recovery/repair before doing anything else, as this verifies the physical data integrity (&#8220;whether data can be read or not&#8221;) of the disk. Requires a PC that can boot from either CD or floppy disk into FreeDOS. Although Spinrite 6 was last updated in 2004, it works with any hard drive in a PC that can be accessed from DOS. To use it, you must plug your hard drive into the computer, and then boot the Spinrite CD or diskette. It takes about 4 hours to scan a 1TB disk with no errors. If there are many errors on the disk, the scan/repair time can be measured in days; the software shows you the estimated time to completion. Price: US$89.</p></li>
<li><p><a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Disk_Utility">Disk Utility</a> &#8211; Available in your Mac&#8217;s Utilities folder. Run DISK VERIFY on the Spinrite-recovered disk to ensure that the logical data integrity (&#8220;whether data is organized correctly&#8221;) is OK.</p></li>
<li><p><a rel="nofollow" target="_blank" href="http://www.alsoft.com/diskwarrior/">DiskWarrior</a> &#8211; Commercial software that is highly specialized in fixing scrambled Macintosh hard drives, and nothing else. Doesn&#8217;t handle recovery of unreadable disk errors, so you would use Spinrite for that first. It&#8217;s possible that other Mac software such as Drive Genius, Tech Tool Pro, or Data Rescue can do that, but it seems unlikely that they are a match for Spinrite&#8217;s low-level approach. Price: US$99.</p></li>
</ul>

<h4>Hardware</h4>

<ul>
<li><p>Handling a Hard Drive Safely &#8211; Once you have removed a hard drive from its enclosure (be sure to <a rel="nofollow" target="_blank" href="http://www.storagereview.com/guide/packHandling.html">handle it carefully to avoid damage</a>). A drive that is outside of an enclosure or case is called a &#8220;bare drive&#8221; (as in naked).</p></li>
<li><p>SATA or PIDE &#8211; You need to see what kind of hard drive you have. Drives manufactured between 1990 and 2006 are probably going to be IDE drives. Such drives are described as ATA, PATA, or PIDE. They have a wide ribbon cable that plugs into the back, with a 4-prong power blog. Most drives today use SATA connectors, which are a lot smaller.</p></li>
<li><p><a rel="nofollow" target="_blank" href="http://www.amazon.com/Cables-Go-30504-Serial-Adapter/dp/B000UO6C5S">Hard Drive to USB Adapter</a> &#8211; This is a device that allows you to temporarily connect a bare drive (either SATA or PIDE) to your computer through a USB port. There are many, many cheap kits on the market, but this one from the venerable <a rel="nofollow" target="_blank" href="http://www.amazon.com/Cables-Go-30504-Serial-Adapter/dp/B000UO6C5S">Cables to Go</a> gets high marks for build quality. I like that it also has an additional power switch. When you use one of these, you should be careful NOT TO MOVE THE DRIVE while it is operating, unless you really want to trash it permanently. You should also carefully power it on and off as you would any external drive. Price: About US$20 for the Cables to Go version, US$10 for the cheap-o versions.</p></li>
<li><p><a rel="nofollow" target="_blank" href="http://www.amazon.com/Thermaltake-5-0Gbps-Docking-Station-ST0019U/dp/B003ZUXXVU">Hard Drive Dock</a> &#8211; Unlike the adapter, a dock allows you to plug a bare hard drive into a slot like a toaster. They&#8217;re useful if you like using bare drives for backup purposes. This is an option, generally speaking, only for SATA drives. If you have an older PIDE / ATA drive, then you need to use the adapter. Like the adapters, they plug into a USB port. If you are transferring data between bare drives, you might find the <a rel="nofollow" target="_blank" href="http://www.amazon.com/Thermaltake-ST0022U-Plastic-Docking-Station/dp/B0051U1XMS">dual slot dock</a> version more useful. Price: Between US$40 and US$80.</p></li>
</ul><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/Gvz9s7lj0FY" height="1" width="1"/>]]></content:encoded>
         <category>Data Recovery</category>
      <feedburner:origLink>http://davidseah.com/infotech/2011/10/16/recovering-a-bad-macintosh-external-drive/</feedburner:origLink></item>
      <item>
         <title>Javascript Closures</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/rhx3ZBOhTQQ/302</link>
         <description>This detailed FAQ about Javascript closures is worth reading to understand the power of this mysterious concept. It doesn&amp;#8217;t exist in other languages I&amp;#8217;ve studied, and it&amp;#8217;s possible to misuse. This article helps understand how the Javascript interpreter implements and uses them, which can help you avoid creating inefficient code.</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=302</guid>
         <pubDate>Sat, 15 Oct 2011 05:48:28 +0000</pubDate>
         <content:encoded><![CDATA[<p>This <a rel="nofollow" target="_blank" href="http://jibbering.com/faq/notes/closures/">detailed FAQ about Javascript closures</a> is worth reading to understand the power of this mysterious concept. It doesn&#8217;t exist in other languages I&#8217;ve studied, and it&#8217;s possible to misuse. This article helps understand how the Javascript interpreter implements and uses them, which can help you avoid creating inefficient code.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/2-QV2Z_wghk" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/rhx3ZBOhTQQ" height="1" width="1"/>]]></content:encoded>
         <category>Tips</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/2-QV2Z_wghk/302</feedburner:origLink></item>
      <item>
         <title>PSEC: Saving Data</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/zMbOvMUTgyw/289</link>
         <description>SUMMARY: I can create tasks and see them on the screen. But I don&amp;#8217;t yet have a way of saving the data back to the server. That&amp;#8217;s what I want to work on today. What does saving data mean? If I modify a VTask on-screen, I need to copy the data back into its underlying [...]</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=289</guid>
         <pubDate>Fri, 14 Oct 2011 03:53:27 +0000</pubDate>
         <content:encoded><![CDATA[<p>SUMMARY: I can create tasks and see them on the screen. But I don&#8217;t yet have a way of saving the data back to the server. That&#8217;s what I want to work on today.
<hr id="more-289" class="more-separator"/></p>

<p>What does saving data mean?</p>

<ul>
<li><p>If I modify a VTask on-screen, I need to copy the data back into its underlying Task. There is a Task array, indexed by TaskID, that stores all the local data.</p></li>
<li><p>I also have to update the database back on the server with all the TaskIDs.</p></li>
</ul>

<p>The first part is easy. The second part is harder, and will require writing an <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Object-relational_mapping">object relational data mapping</a> layer. This is a new concept to me, since I&#8217;ve never programmed databases before. The gist is that the way I&#8217;m storing object data on the client is different than the way the database works with rows and tables. They&#8217;re incompatible, therefore translation (mapping) is necessary.</p>

<p>I&#8217;m not sure what the best way to approach this is, so I&#8217;ll just do it and see what I learn.</p>

<h4>Step 1: Update the Tasks Database</h4>

<p>Right now, I can click on a field and update it. I&#8217;ve implicitly made the choice that the application will be as &#8220;modeless&#8221; as possible, which means no explicit EDIT, CANCEL, SAVE buttons for each task.</p>

<p>Detecting when the text should be updated is easy enough: the <code>blur</code> handler fires when a text field loses focus. I already have an event bound to that to do a textfield / paragraph switcheroo, using jQuery.</p>

<p>Hm, now the problem is that the event callback receives an event object, and the <code>this</code> context is set to the html element that was bound. What I need to do is retrieve the vtask_id associated with this html element.</p>

<p>That&#8217;s a little tricky, because the callback function has no idea what its parent vtask is. It could walk up its parent chain to find the parents ID and then look it up in the VTask array, I suppose. It would be better if the value was stored, though, with the object. I was able to solve this, though, by using an <em>anonymous function</em> and the <em>closure</em> behavior of Javascript. The binding call used to look like this:</p>

<p><code>jobj.find(".editdesc").bind('click', dsCloseDesc);</code></p>

<p>The <code>dsCloseDesc</code> parameter was a function pointer to the &#8216;click&#8217; event handler, and it gets passed an Event object. However, we can&#8217;t add our task_id information this way. We do THAT by changing the code to use an anonymous function:</p>

<pre><code>jobj.find(".editdesc").bind('click', function(e) {
    VTASK.CloseDesc(e,vobj) 
});
</code></pre>

<p>The magic of closures is that the <code>vobj</code> reference will be maintained when this function call fires, even through <code>vobj</code> was defined only locally within the function that this statement appears.</p>

<p>I can rewrite <code>VTASK.CloseDesc()</code> as follows:</p>

<div><pre>
VTASK.CloseDesc = function (e, vobj) {
    var $ = jQuery;
    var ct = e.currentTarget;
    $(ct).hide();
    $(ct).siblings(&quot;.desc&quot;).show().text(ct.value);
    // also update data
    Controller.UpdateTask( { 'description':this.innerText, 'task_id':vobj.task_id } );
}
</pre></div>

<p>The <code>e</code> object is the Event object, which has the target of the event that we want to change. The <code>vobj</code> object is a VTask, which stores appearance-related state and the important task_id that it represents.</p>

<p>The code copies data between the textfield and the paragraph, changing the appearance of the task, and then calls the Controller to update the Model and do anything else that might be necessary through a call to <code>Model.UpdateTask()</code>.</p>

<p>Here&#8217;s what <code>Controller.UpdateTask()</code> looks like:</p>

<div><pre>
Controller.UpdateTask = function ( values ) {
    Model.UpdateTask ( values );
}
</pre></div>

<p>And here&#8217;s what <code>Model.UpdateTask()</code> looks like:</p>

<div><pre>
Model.UpdateTask = function ( values ) {
    var updated = false;
    var task_id = values['task_id'];
    if (task_id==undefined) return false;
    var task = Tasks[task_id];
    var action = Actions[task.action_id];
    var desc = values['description'];
    if (desc) { action['description'] = desc; action.dirty = true; updated = true; } 
    return updated;
}
</pre></div>

<p>This code grabs the task_id from the array of values passed into the function. It grabs the correct object references out of the Tasks and Actions arrays, which represent the tables in the database. If an updateable value is found, it&#8217;s updated and the table row is marked as &#8220;dirty&#8221;; this will be used later when doing an update of necessary data back to the database.</p>

<p>NOTE: You might wonder why I don&#8217;t just call Model.UpdateTask directly. That&#8217;s because there may eventually be application-wide repercussions that need to be handled by the Controller, and technically only the Controller can talk directly to both the Model and the View. Remember: the controller is like &#8220;central dispatch&#8221;.</p>

<p>So that <strong>takes care of updating local data</strong>. In summary, the data that is in the visual objects are translated back into the local data store, which is organized like the tables in the database on the server.</p>

<h4>Step 2. Writing back to the Database</h4>

<p>The next step is to write the modified data back to the database, preferably only the data that actually changed. There are really only two tables that I&#8217;m storing locally: Tasks and Actions.</p>

<p>Writing a function called <code>SaveDirtyTables()</code> to walk the dirty values and send &#8216;em over. The way it works is as follows:</p>

<ul>
<li>Every time I change a value in the data store, its row is marked &#8220;dirty&#8221;. </li>
<li>When it&#8217;s time to save data, all the tasks and actions are walked for &#8220;dirty&#8221; flags. If a row is marked dirty, its id and values are pushed onto a new array as key-value pairs. There is one array for each database table that needs to be updated</li>
<li>A new CMD.SAVE command object is created, and the arrays of values are sent to the server.</li>
<li>A transaction is made to update all the updated rows at once. If it fails, the transaction fails and errors are reported back to the client.</li>
</ul>

<p>Here&#8217;s the client-side Javascript:</p>

<div><pre>
    // write dirty tables 
    SaveDirtyTables: function () {

        var cmd = Dispatcher.GetNewCommandPacket(CMD.SAVE);
        var savedata = false; // if nothing is dirty, then don't save
        
        // prepare Tasks that have changed
        var tasks = [];
        for (var key in this.Tasks) {
            var task = this.Tasks[key];
            if (task.dirty) {
                tasks.push ( { 'id':key, 'data':{ 'name':task.name }} );
            }
        }
        // if there were any tasks, attach to command packet
        if (tasks.length&gt;0) { cmd.tasks = tasks; savedata = true; }

        // prepare Actionsthat have changed
        var actions = [];
        for (var key in this.Actions) {
            var action = this.Actions[key];
            if (action.dirty) {
                actions.push( { 'id':key, 'data':{ 'action':action.action,'deliverable':action.deliverable,'description':action.description }} );
            }
        }
        // if there were any actions, attach to command packet
        if (actions.length&gt;0) { cmd.actions = actions; savedata = true; }
        
        // is there data to save? If not, then quit
        if (!savedata) return;
        
        // Queue the command.
        Dispatcher.QueueCommand ( cmd, function ( response ) {
            // response callback handler
            if (response.success) {
                // clear all dirty flags
                DBG.Out(&quot;SaveDityTables: Success! Clearing dirty keys...&quot;);
                for (var key in Model.Tasks) Model.Tasks[key].dirty = false;
                for (var key in Model.Actions) Model.Actions[key].dirty = false;
            } else {
                DBG.Out(&quot;SaveDirtyTables: Error saving data&quot;);
                if (response.info) DBG.Out(response.info);
            }
        });
    }
</pre></div>

<p>And here&#8217;s the AJAX handler in PHP:</p>

<div>
// save incoming data
function dseah_ajax_sec_save() {
    global $wpdb;
    $table_prefix = $wpdb-&gt;prefix.&#8217;second_&#8217;;
    $rarr = dseah_receive_protocol();
    
    try {
        // get additional parameters from server
        $tasks =  (array) $_POST['tasks'];
        $actions = (array) $_POST['actions'];
    
        @mysql_query(&#8220;BEGIN&#8221;, $wpdb-&gt;dbh);  
    
        $table = $table_prefix . &#8220;tasks&#8221;;
        $tasks_ok = true;
        if (count($tasks)&gt;0) {
            $tasks_ok = true;
            foreach ($tasks as $key=&gt;$value) {
                SDBG::out($value['id'].&#8217;: &#8216;.var_export($value['data'],true));
                $updated = 
                $wpdb-&gt;update(  
                    $table,
                    $value['data'],
                    array(&#8216;id&#8217;=&gt;$value['id']),
                    array(&#8216;%s&#8217;,'%s&#8217;,'%s&#8217;)
                );
                if ($updated===false) {
                    throw new Exception(&#8220;dseah_ajax_sec_sav(): error updating tasks!&#8221;);
                    // JS: tasks.push ( { &#8216;id&#8217;:key, &#8216;data&#8217;:{ &#8216;name&#8217;:task.name }} );
                    $rarr['info'] .= &#8216;task_id &#8216;.$value['id'].&#8217; &#8216;;
                    $tasks_ok = false;
                }
            } // repeat until all rows updated
        }
        
        $table = $table_prefix . &#8220;actions&#8221;;
        $actions_ok = true;
        if (count($actions)&gt;0) {
            foreach ($actions as $key=&gt;$value) {
                SDBG::out($value['id'].&#8217;: &#8216;.var_export($value['data'],true));
                // JS: actions.push( { &#8216;id&#8217;:key, &#8216;data&#8217;:{ &#8216;action&#8217;:action.action,&#8217;deliverable&#8217;:action.deliverable,&#8217;description&#8217;:action.description }} );
                $updated = 
                $wpdb-&gt;update(  
                    $table,
                    $value['data'],
                    array(&#8216;id&#8217;=&gt;$value['id']),
                    array(&#8216;%s&#8217;,'%s&#8217;,'%s&#8217;)
                );
                if ($updated===false) {
                    throw new Exception(&#8220;dseah_ajax_sec_sav(): error updating actions table!&#8221;);
                    $rarr['info'] .= &#8216;action_id &#8216;.$value['id'].&#8217; &#8216;;
                    $actions_ok = false;
                }
            } // repeat until all rows updated
        }
        
        // transaction successful!
        if ($actions_ok &#038; $tasks_ok) $rarr['success']=true;
        @mysql_query(&#8220;COMMIT&#8221;, $wpdb-&gt;dbh);

    } catch ( Exception $e ) {

        // cancel transaction
        @mysql_query(&#8220;ROLLBACK&#8221;, $wpdb-&gt;dbh);

        SDBG::out(&#8220;error &#8221; . $e-&gt;getMessage());
        $rarr['success'] = false;
        $rarr['info'] = $e-&gt;getMessage();

    }
    
    // end AJAX call properly
    dseah_return_protocol($rarr);   

}
[/</div>

<p>Most of the difficulty I had in writing this was figuring out how to pass the rows of data so I could parse them in PHP, and how to detect empty arrays. Passing pure associative arrays with ids as the keys and an array of KVPs as the values seemed most straightforward, but phantom keys appeared on the PHP side. To avoid this, just passed regular arrays that contained associative arrays with &#8216;id&#8217; and &#8216;values&#8217; stuffed in them.</p>

<p>I need to make some kind of reference card for the differences between Javascript and PHP&#8217;s common array and object syntax. I keep forgetting which goes with which.</p>

<h3>Data Saved!</h3>

<p>Anyway, the code to save values to the database is now working. The approach I took provides a template for basic creation, saving, and loading of data. Woo hoo!</p>

<p>I&#8217;m STILL not done, though. For one thing, I need to be able to <strong>delete</strong> and <strong>reorder</strong> tasks. And I might have to think of <strong>undo</strong> functionality. I think I want to take a step back, though, and do a code review.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/u7JLYHCAAnM" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/zMbOvMUTgyw" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/u7JLYHCAAnM/289</feedburner:origLink></item>
      <item>
         <title>PSEC: Rudimentary GUI, Part II</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/C169C36iD5M/284</link>
         <description>SUMMARY: In yesterday&amp;#8217;s installment, I added a button that created a new Task on the server and returned the new TaskID to the client GUI. NOW I finally get to draw it on the screen using jQuery! Here&amp;#8217;s what got added yesterday: Make an &amp;#8220;Add Task&amp;#8221; button whose click handler points to view.js:dsAddVTask() dsAddVTask() calls [...]</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=284</guid>
         <pubDate>Thu, 13 Oct 2011 02:41:53 +0000</pubDate>
         <content:encoded><![CDATA[<p>SUMMARY: In yesterday&#8217;s installment, I added a button that created a new Task on the server and returned the new TaskID to the client GUI. NOW I finally get to draw it on the screen using jQuery! 
<hr id="more-284" class="more-separator"/></p>

<p>Here&#8217;s what got added yesterday:</p>

<ol>
<li>Make an &#8220;Add Task&#8221; button whose click handler points to view.js:dsAddVTask()</li>
<li>dsAddVTask() calls Controller.AddVTask().</li>
<li>Controller.AddVTask() calls Model.AllocateNewTaskID(), with a callback function (CBF_AddVTask) </li>
<li>Model.AllocateNewTaskID() dispatches a NEWTASK command to the server</li>
<li>Model.AllocateNewTaskID() receives the new TaskID from the server</li>
<li>CBF_AddVTask receives the TaskID from Model.AllocateNewTaskID()</li>
</ol>

<p>The general idea is that View passes control to the Controller, which then makes the appropriate calls to Model and View to make things happen. You can think of the Controller as a &#8220;central manager&#8221; between the front end (View) and the back office (Model). Currently, the controller here is very simple, basically acting as a coordinator between Model and View.</p>

<p>Now I have to add more steps to complete the steps that had started above. These are:</p>

<ul>
<li>Creating a new VTask (the visual version of a task) HTML element</li>
<li>Adding it to a Display List</li>
<li>Refreshing the screen by drawing the Display List</li>
</ul>

<p>I have a function called <code>View.CreateVTaskFromTaskID()</code> than handles the visual creation side of things:</p>

<ul>
<li>Creates a new VTask via <code>VDB.New(task_id)</code>, with a default drawing function of <code>Draw.VTask</code></li>
<li>Adds the new VTask to the VTaskList (our display) via <code>View.VTaskListAdd(vtask)</code></li>
</ul>

<p><code>View.VTaskListAdd(vtask)</code> is what actually creates a new HTML element and adds it to the end of the <code>#vtasks</code> DIV:</p>

<ul>
<li>It creates a jQuery object from the drawFunction saved in the VObject: <code>Draw.VTask(vobj)</code></li>
<li><code>Draw.VTask(vobj)</code> extracts the task_id saved in the vobject and then calls <code>Model.GetVTaskData(task_id)</code></li>
<li>
<ul>
<li><code>Model.GetVTaskData(task_id)</code> returns the data from Tasks and Actions in a composite vtaskdata object</li>
</ul></li>
<li>
<ul>
<li>HTML code is returned in string form with the data filled-in.</li>
</ul></li>
<li>Click and Blur event handlers are bound to the new VObject to handle hiding/showing fields</li>
<li>The jQuery object is appended to the <code>#vtasks</code> DIV.</li>
</ul>

<p>AND THAT&#8217;S THAT! It seems to work.</p>

<p>I also added some code that will initialize a VTaskList display from whatever happens to be in the Tasks table. Whew! Big step!</p>

<p>Next up: <strong>SAVING</strong>.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/B8CWfIP1fic" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/C169C36iD5M" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/B8CWfIP1fic/284</feedburner:origLink></item>
      <item>
         <title>PSEC: Rudimentary GUI, Part I</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/4FDxmltbILE/276</link>
         <description>SUMMARY: I need to be able to add tasks, which means I need to add stuff to the database when I click on a button and get the result back to the GUI so I can generate a new visual task object (VTask) on the screen. I&amp;#8217;m a bit fuzzy-headed on the exact steps I [...]</description>
         <guid isPermaLink="false">http://davidseah.com/code/?p=276</guid>
         <pubDate>Wed, 12 Oct 2011 04:14:44 +0000</pubDate>
         <content:encoded><![CDATA[<p>SUMMARY: I need to be able to add tasks, which means I need to add stuff to the database when I click on a button and get the result back to the GUI so I can generate a new visual task object (VTask) on the screen. <hr id="more-276" class="more-separator"/></p>

<p>I&#8217;m a bit fuzzy-headed on the exact steps I need to take, so let me talk my way through this:</p>

<ol>
<li>While I&#8217;ve gotten the server round-trip to work, capable of sending messages and receiving results, I actually need to consider how to initialize the space with VTasks.</li>
<li>That means that I have to write the application &#8220;first time initialization&#8221; code. </li>
<li>What does that mean? Well, the application state has to take into consideration what&#8217;s currently shown on the screen. If there is nothing, then there are no tasks available yet until you create them. </li>
<li>A VTask can be displayed in a VTaskList, which is an ordered list of VTasks. VTasks contain a TaskID, some state, and the ability to draw themselves with HTML.</li>
<li><strong>Therefore, I need to create a button that allows me to create VTasks.</strong> Then everything else follows.</li>
</ol>

<p>Ok, I made a new version of <code>header.php</code> called <code>header-webapp.php</code>, which gets rid of the extraneous header information.</p>

<p>I added a new div with the id <code>psec-controls</code>, which has a button in it with id <code>addvtask</code>.</p>

<p>Gotta wire-up the button. In <code>second-main.js</code>, which is the main code for this test page, I added the &#8216;click&#8217; binding to #addvtask to call event handler dsAddVTask(), which is defined in <code>view.js</code>. It in turn calls Controller.AddVTask() defined in <code>controller.js</code>. Right now it just prints a message that it has been called&#8230;does it work? Yes.</p>

<p>Next, we need to write the code that actually adds a VTask. In this case it is really adding a NEW VTask, which means requesting both a new TaskID and adding it to the VTasks database. I created a new object called VDB which stores all VTasks. It has a function called <code>Add(tid)</code> which accepts a task ID. So where does this task ID come from? The Controller, which knows all! I added <code>AddVTask()</code> to the Controller, which retrieves the new taskID from <code>Model.GetNewTaskID()</code>, and then passes this back to the View via <code>View.CreateVTaskFromTaskID(tid)</code>.</p>

<p>(Many hours pass)</p>

<p>I&#8217;ve had to reorganize the code a bit to handle the creation of tasks within the database side of things. I&#8217;ve implemented <strong>transactions</strong> for creating the new task IDs, which fortunately MySQL 5 supports. I&#8217;ve moved database functions into their own class, and am now loading it during AJAX calls.</p>

<p>Again, it strikes me at just how heavy-weight these AJAX calls seem to be&#8230;wouldn&#8217;t these be better handled by a small service running in the background of the server instead of PHP being reloaded for every request? Maybe it&#8217;s not as bad as I think.</p>

<p>I refactored the ajax response code on the server a bit. This led to an error in returning values, as I forgot to called the json_encode() function for the new &#8220;Nuke Tables&#8221; call. This call is designed to erase all the tables so I can start from scratch easily.</p>

<p>The asynchronous nature of some of these calls requires some tricky routing of callbacks and recognizing that anonymous functions can pass parameters that are valid during callback. If that doesn&#8217;t make sense, look at this code:</p>

<div><pre>
Controller = {
    AddVTask: function(e) {
        DBG.Out(&quot;Controller.AddVTask()&quot;);
        Model.AllocateNewTaskID ( function( task_id ) {
            DBG.Out(&quot;AddVTask: Got &quot;+task_id);
        });
    }
}

Model = {
    AllocateNewTaskID: function ( cbfunc ) {
        DBG.Out(&quot;Model.GetNewTaskID:&quot;);
        var cmd = Dispatcher.GetNewCommandPacket ( CMD.NEWTASK );
        Dispatcher.QueueCommand ( cmd, function ( response ) {
            if (response.success) {
                // will this work? cbfunc was passed as a parameter, but this code is
                // executing as an anonymous function during a callback
                cbfunc(response.task_id);
            } else {
                DBG.Out(&quot;AllocateNewTaskID: Error creating new Task on Server!&quot;);
            }
        });
    }
}
</pre></div>

<p>The Controller object has a property that is a function called <code>AddVTask()</code>. This is bound to the &#8220;Add Task&#8221; button&#8217;s &#8216;click&#8217; handler with jQuery. <code>AddVTask()</code> passes the responsibility on to <code>Model.AllocateNewTaskID()</code>, passing it an anonymous callback function that expects to received a task_id. The reason it is a callback function is because Model.AllocateNewTaskID() has to make a server request for a new task identification number, which is an asynchronous request. Therefore, we have to provide code that waits around for the return value to come back from the server:</p>

<ul>
<li>When <code>Model.AllocateNewTaskID()</code> is called, the parameter <code>cbfunc</code> passed on line 11 (our callback function) has the value that we just passed. </li>
<li>The next line calls <code>Dispatcher.QueueCommand()</code>, which is what actually sends the AJAX request to the server.</li>
<li>When the function returns with a result, QueueCommand() calls <em>another</em> anonymous callback function (lines 15-21). </li>
<li>On line 18, we invoked the callback function (<code>cbfunc</code>) from <code>Controller.AddVTask()</code>.</li>
</ul>

<p>Here&#8217;s the mysterious thing: at the time the callback function is called, <code>cbfunc</code> somehow is still a valid reference. In other languages, since the callback function is executing <em>LATER</em>, cbfunc would not have been defined because its stack frame would not be available. This is one of the magical aspects of Javascript, known as <strong><a rel="nofollow" target="_blank" href="http://www.javascriptkit.com/javatutors/closures.shtml">closures</a></strong>. I seem to recall that this was a <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2004/10/big-movieclip-duh/">problem with Actionscript 2.0</a> when I was dealing with it, and it took a nuanced understanding of the <code>this</code> keyword in the context of callbacks and copying of object references to make it work.</p>

<p>Still confused? Well, don&#8217;t worry about it then. Just know that in Javascript, anonymous functions CAN access the variables of its containing function, even if that function is used as a callback. In other languages, this can be a pain in the ass, but not so in Javascript.</p>

<p>With that out of the way, I&#8217;m able to (finally) get a task_id back from the server. Tomorrow I&#8217;ll add the code that actually adds a VTask to a display list and shows it on the screen. Then, I&#8217;ll have to write something that SAVES changed data back to the database. Whew. Then I should have the rudiments of my TASK LIST PAGE, and can start thinking of how to expand it.</p>

<p>So close, yet so far.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Code/~4/XuAF6awqDYs" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/4FDxmltbILE" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Code/~3/XuAF6awqDYs/276</feedburner:origLink></item>
      <item>
         <title>Multisite-Friendly Sitemaps</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/LYwxivNnP5k/</link>
         <description>I&amp;#8217;m pretty lucky that my main website at davidseah.com is indexed frequently. However, I&amp;#8217;ve wondered if the sub-blog content was being indexed at all. I&amp;#8217;ve just replaced my Google Sitemap plugin with Better WordPress Google XML Sitemaps, which promises not only to be multisite-friendly, but boasts of speed advantages over similar plugins. It also can [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=296</guid>
         <pubDate>Thu, 06 Oct 2011 22:57:36 +0000</pubDate>
         <content:encoded><![CDATA[<p>I&#8217;m pretty lucky that my main website at davidseah.com is indexed frequently. However, I&#8217;ve wondered if the sub-blog content was being indexed at all.</p>

<p>I&#8217;ve just replaced my Google Sitemap plugin with <a rel="nofollow" target="_blank" href="http://betterwp.net/wordpress-plugins/google-xml-sitemaps/">Better WordPress Google XML Sitemaps</a>, which promises not only to be multisite-friendly, but boasts of speed advantages over similar plugins. It also can include links to the sub-blog sitemaps within the root site. I&#8217;m making this entry to mark the day and time that I implemented this change. I&#8217;m curious to see if search engine traffic or rankings change at all.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/LYwxivNnP5k" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://davidseah.com/agenceum/2011/10/multisite-friendly-sitemaps/</feedburner:origLink></item>
      <item>
         <title>Palomino Blackwing 602 Pencil</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/OgSqv_qw4l0/</link>
         <description>There is a legendary pencil called the Blackwing 602, first manufactured in the 1940s by the Eberhard Faber company. Eberhard Faber was founded by John Eberhard Faber, himself part of the &amp;#8220;ancient&amp;#8221; Faber family of pencil manufacturers in Bavaria. In the mid-1800s, he started shipping American ceder back to Germany for pencil manufacturing, then established [...]</description>
         <guid isPermaLink="false">http://davidseah.com/gear/?p=28</guid>
         <pubDate>Thu, 29 Sep 2011 02:58:32 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0928-blackwing01.jpg" width="570" height="427"/><br /></p>

<p>There is a legendary pencil called the <strong><a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Blackwing_602">Blackwing 602</a></strong>, first manufactured in the 1940s by the Eberhard Faber company. Eberhard Faber was founded by <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/John_Eberhard_Faber">John Eberhard Faber</a>, himself part of the &#8220;ancient&#8221; Faber family of pencil manufacturers in Bavaria. In the mid-1800s, he started shipping American ceder back to Germany for pencil manufacturing, then established the first American pencil factory in NYC. The company&#8217;s pencil operations were acquired from Staedler by Faber-Castell in the late 80s, and then by Sanford (a division of Newell-Rubbermaid) in the late 1990s. The Blackwing was manufactured until 1998, when parts for the eraser ferule&#8212;the metal band that holds rubber to wood&#8212;ran out <a rel="nofollow" target="_blank" href="http://www.pencilpages.com/articles/blackwing.htm">[1]</a>. Individual pencils became very desirable, fetching high prices on Ebay. <hr id="more-28" class="more-separator"/></p>

<p>I first became aware of the Blackwing through artist friends, though I didn&#8217;t pay much attention because I like mechanical pencils. Recently, though, the pencil has been recreated by <strong>California Republic Stationers</strong> under their <strong>Palomino</strong> brand, and there&#8217;s been some buzz on the Internet about it; I became aware of it through <a rel="nofollow" target="_blank" href="http://boingboing.net/2011/06/17/the-new-palomino-bla.html">BoingBoing</a>. Curious, I ordered a box to see what all the fuss was about.</p>

<p>I&#8217;m not an expert pencil collector by any stretch of the imagination, and although I like mechanical pencils for their consistency, I do love the feel and smell of wooden pencils. The crunchy-crisp sound of wood being carved away sharpens my hunger to create, and there&#8217;s something therapeutic about carefully maintaining a point as you draw. It forces you to slow down, and contemplate the shape of the lead as you sketch. And for such a simple object, there are a lot of subtleties. The graphite formulation is critical, as is the method by which it is held firmly by the wood. There are beautiful details in the quality of the paint and eraser ferule, the lettering, and in the feel of the lead as it moves over paper.</p>

<p>One of the selling points of the Blackwing 602, both for the original and Palomino&#8217;s homage, is that it expresses a dark line for relatively little pressure, and yet retains a reasonable point. Apparently writer <a rel="nofollow" target="_blank" href="http://www.penciltalk.org/2011/01/steinbeck-favorite-pencils">John Steinbeck loved the 602</a>, as did Loony Toons animator <a rel="nofollow" target="_blank" href="http://blackwingpages.wordpress.com/2011/03/10/chuck-jones-and-the-blackwing/">Chuck Jones</a>. While I have never used an original Eberhard Blackwing 602, I thought I&#8217;d evaluate the Palomino version of the pencil to see what it was like. At $20 a box, it&#8217;s a relatively-affordable way to connect to the history of creativity while trying something different. I purchased mine at <a rel="nofollow" target="_blank" href="http://www.pencils.com/palomino-blackwing-602">Pencils.com</a>.</p>

<h2>Initial Impressions</h2>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0928-blackwing03.jpg" width="570" height="427"/><br /></p>

<p>The pencil itself is a dark-gray, with a black eraser held in a square holder  (the &#8220;ferule&#8221;). It resembles a flat paint brush. It&#8217;s distinctive and a little weird. I found the shape to be helpful in  switching between spot and wide-area erasing, though I didn&#8217;t do much testing.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-blackwing04.jpg" width="174" height="130" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/> I see on the back of the box that these pencils are manufactured in Japan. The Japanese take their writing instruments just as seriously as the Germans, you know, so it&#8217;s not surprising. Over on the <a rel="nofollow" target="_blank" href="http://store.kaufmann-mercantile.com/products/blackwing-602-writing-pencil-box-of-12">Kaufmann Mercantile</a> store, there&#8217;s a good synopsis of the Blackwing 602&#8242;s reissue (with citations, even), which is worth reading.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-blackwing02.jpg" width="174" height="130" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/> I read that some people recommended a <strong>two-stage pencil sharpener</strong>, so I grabbed this one when I ordered through Pencils.com. There are two holes. You use the first hole to sharpen the wooden part of the pencil; it doesn&#8217;t sharpen the lead core at all. For that, you use the second hole, which works solely on the lead to create a nice sharp point, tapering to a slightly-different angle than the wood. It&#8217;s an interesting idea; this <a rel="nofollow" target="_blank" href="http://www.pencils.com/palomino-kum%C2%AE-long-point-pencil-sharpener">particular sharpener</a> is designed specifically for Palomino-brand pencils and will prevent oversharpening. In the image below, you can see how the lead is left relatively-untouched (middle) until it&#8217;s sharpened in the final pass.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0928-blackwing05.jpg" width="570" height="180"/><br /></p>

<h2>Cosmetic Details</h2>

<p>After reading some criticisms online about the pencil, I took some macro photos of various details. Zoomed up close, you can see that it&#8217;s not exactly perfect in printing detail and alignment, if that sort of thing is important to you on a mass-produced pencil. I do not know how this compares to an original 602.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-detail01.jpg" width="174" height="115" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-detail02.jpg" width="174" height="115" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-detail03.jpg" width="174" height="115" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/></p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-detail04.jpg" width="174" height="115" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-detail05.jpg" width="174" height="115" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-detail06.jpg" width="174" height="115" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/></p>

<p>Then I took some comparative pictures of unused <strong>Dixon No. 2</strong> pencils that I had in a box. These are mass-market pencils I bought from Staples several years ago:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-comp01.jpg" width="174" height="115" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-comp02.jpg" width="174" height="115" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-comp03.jpg" width="174" height="115" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/></p>

<p>The major difference I see is in the quality of the wood finishing and the paint. The Blackwing&#8217;s paint job appears to be slightly  metallic, though it could be sensor noise in my camera. The surface finish is also considerably smoother. One of the mass-market pencils has the slight depressed lettering, with a bit of ink creep around it.</p>

<h2>Writing</h2>

<p>First, I tried writing with the Blackwing, outlining some business strategy that had been on my mind, so I could see how the pencil&#8217;s point degraded over time. I found that it was good for about 70 words before I found that I really needed to resharpen, which isn&#8217;t too bad. Given that a page is about 250 words, that means I&#8217;d probably want to sharpen 4 times. 250 words is enough to completely relate one thought with two or three supporting points, if one is writing fairly efficiently. I wonder if the desire to conserve the point and write clearly would affect the way I compose my writing? I will have to give this a try; as much as I like typing on my Model M keyboard (clackity clack), the ease with which I can type makes for some verbose writing.</p>

<p>Evaluating the writing, I was struck by two things:</p>

<ul>
<li><p>The writing was dark. Not amazingly dark&#8212;as I&#8217;m used to using a fountain pen loaded with Noodler&#8217;s Bulletproof Black, a pencil isn&#8217;t going to look super-dark to me&#8212;but pretty good contrast even in bright sun filtered through a huge plate glass window at Starbucks.</p></li>
<li><p>There was surprisingly little smearing. If I wiped my thumb across words it would smear, but overall I didn&#8217;t see much crumbling of lead (a problem with soft pencils) that I might expect. I&#8217;ll have to compare to other pencils I have to see if this is normal.</p></li>
</ul>

<p>My overall impression: Since this is my first critical use of a wooden pencil, it establishes my baseline for future comparisons. I didn&#8217;t notice any operating flaws such as scratchiness or failure to maintain a good writing point. It didn&#8217;t irritate me, and I didn&#8217;t feel I was lacking for anything, which I suppose is a good sign. It&#8217;s a pencil. It writes.</p>

<p>ADDITIONAL NOTES</p>

<p>I sharpened the Dixon Oriole 287 (a 2/HB pencil I bought from Staples) using the same sharpener and compared it head-to-head with the Palomino Blackwing 602.</p>

<ol>
<li><p>The Dixon wrote well, producing a black consistent line. I wondered if I was imagining the superiority of the 602.</p></li>
<li><p>Switching to the Blackwing, I was immediately struck by the smoother feel. While the Dixon didn&#8217;t feel gritty at first, it was harder and scratchier. The Blackwing almost felt &#8220;cushioned&#8221; by comparison.</p></li>
<li><p>Switching back to the Dixon and writing a couple sentences on a piece of thick paper in a hardback journal, the variation in the tip&#8217;s sharpness was pronounced as I rotated the pencil shaft. I also reduced my hand pressure by half (apparently I was pressing harder in step 1 and 2) as I warmed to the task of writing several letters rapidly.</p></li>
<li><p>Switching to the Blackwing once more, and writing with the lighter pressure, the difference in feel was a little less pronounced, as my hand was already getting tired and that was the main sensation I was experiencing. Line quality and darkness was very close to the Dixon. Looking at the writing under the sunlight, I can&#8217;t really tell them apart.</p></li>
</ol>

<p>What it seems to come down to is a <strong>subtle difference in feel</strong>. The lead is a bit smoother and perhaps a tiny bit darker for the same pressure. The tip wears more evenly than the comparison pencil. The weight is a little different, and the wood is possibly a little denser. But it&#8217;s hard for me to quantify. I tried weighing the pencils but my desktop scale isn&#8217;t sensitive enough.</p>

<h2>Drawing</h2>

<p>When I was a kid, I used to draw a lot of spaceships on graph paper, and developed a humongous callous on the side of my middle finger because I am a &#8220;hard presser&#8221;. With that in mind, I wasn&#8217;t sure that a pencil that required &#8220;half the pressure&#8221; would really work for me. For comparison, I grabbed a couple other writing instruments that were in my bag, a Lamy Safari medium-nib fountain pen loaded with the standard Lamy Blue cartridge and a Staedler 0.7mm mechanical pencil loaded with HB lead.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0928-blackwing06.jpg" width="570" height="427"/><br /></p>

<p>I was pretty rusty at drawing, over-shading and not maintaining a particularly clean line. Overall, though, it felt like I was really the culprit rather than the pencil. I didn&#8217;t find that I wished the pencil would go darker, nor did I feel that I couldn&#8217;t get what lightness I needed. The Blackwing just laid down the tone and I was not equal to the task of managing it well.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0928-blackwing07.jpg" width="174" height="130" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/> I used the eraser sparingly, lightening up some areas and trying to do a bit of cleanup around the edges. Usually the on-pencil erasers are kind of awful and gritty, but this one was fairly soft. The rectangular shape, actually, gave me finer control, which I liked.</p>

<p>Drawing with the Lamy fountain pen afterwards was kind of shocking. The Lamy, with its medium nib and smooth feel, is one of my favorite pens to use because ink just pours out of it. I kind of blew my drawing, having been thinking in terms of pressure-based toning as opposed to using stippling or cross-hatching (which is kind of difficult with a medium nib anyway). However, this did accomplish my main goal of &#8220;resetting my hand&#8221; after drawing with the Blackwing.</p>

<p>The Staedler 925 mechanical pencil I had with me uses a 0.7mm instead of the usual 0.5mm lead. The reason for this is because I use more pressure than most people, and 0.5mm lead tends to snap. 0.7mm is more resistant to it without giving up too much in fineness. I was surprised at how HARD this lead felt after the Blackwing. Through all high school I&#8217;ve used HB lead, and found it pretty good for what I used to draw. The linework was much lighter, and I found that I had to dig into the paper to get the variation in tone I wanted. I think in the past, I used to use single sheets of graph paper on a hard surface, which made it easier to get the darker lines. Drawing in a notebook, though, makes it a bit tougher because the layers of paper tend to act as a cushion. Then again, when I looked at the other side of the sheet, I didn&#8217;t see any signs of pressure. The HB lead is just harder than whatever is in the Blackwing.</p>

<p>I tried using the Blackwing to darken up some lines around the edges, but I wasn&#8217;t that happy with the results. It was around this time that I looked back at the writing I&#8217;d done earlier, checking to see if there was undue smearing. Nothing noticeable. That&#8217;s a good sign.</p>

<h2>Thoughts</h2>

<p>The one thing I can definitely say is that I liked drawing with the Blackwing more than I did with my Staedler 925, which I find SHOCKING. The Palomino Blackwing 602 writes pleasantly dark with no noteworthy irritations, though this may be the way that all pencils are. I have a few mass-market pencils lying around that I will compare them to. Until I evaluate more pencils, I can&#8217;t really say whether the Blackwing is an amazing pencil or not.</p>

<p>Aesthetically speaking, I like the ungainly proportions of the Blackwing very much. It looks like a writing instrument from another time, resembling more a long paint brush than pencil. The square ferule erase rocks; whenever I see this pencil, I think of a platypus. And it&#8217;s cool having a pencil with a history going back 70-odd years, reverse-engineering the subtleties of old-world craft in an affordable package. I dig the old-timey slogan, &#8220;half the pressure, twice the speed&#8221;, which I can also buy as a productivity war cry. YEAH! MORE WITH LESS!</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0928-blackwing00.jpg" width="570" height="380"/><br /></p>

<p><strong>Where to Buy</strong></p>

<ul>
<li>Manufacturer&#8217;s website <a rel="nofollow" target="_blank" href="http://www.pencils.com/palomino-blackwing-602">Pencils.com</a> &#8211; Box of 12</li>
<li><a rel="nofollow" target="_blank" href="http://store.kaufmann-mercantile.com/products/blackwing-602-writing-pencil-box-of-12">Kaufmann Mercantile</a> &#8211; Box of 12</li>
</ul><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/OgSqv_qw4l0" height="1" width="1"/>]]></content:encoded>
         <category>Office Supplies</category>
      <feedburner:origLink>http://davidseah.com/gear/2011/09/palomino-blackwing-602-pencil/</feedburner:origLink></item>
      <item>
         <title>Pondering HTML5</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/hiK6GkgDpaA/</link>
         <description>Ok team! What the hell is HTML5? I am under the general impression that HTML5 + Javascript is the web and mobile platform of the future. It&amp;#8217;s supported on the iPad as one of the two ways to make an app. Windows 8 apparently will make extensive use of it. What is HTML5? From the [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=291</guid>
         <pubDate>Tue, 27 Sep 2011 18:38:49 +0000</pubDate>
         <content:encoded><![CDATA[<p>Ok team! What the hell is HTML5? I am under the general impression that HTML5 + Javascript is the web and mobile platform of the future. It&#8217;s supported on the iPad as one of the two ways to make an app. Windows 8 apparently will make extensive use of it.</p>

<h2>What is HTML5?</h2>

<p>From the Wikipedia entry, I gather that HTML5 is two compatible specs, one from the WHATWG group and another from the W3CD. It adds a bunch of new elements and drops old presentational elements like &lt;center&gt;. It also defines the Document Object Model (DOM) and introduces new APIs. Notably:</p>

<ul>
<li>Canvas Immediate Mode drawing</li>
<li>Timed media playback</li>
<li>Offline storage</li>
<li>Document Editing</li>
<li>Drag-and-Drop</li>
<li>Etc.</li>
</ul>

<p>There&#8217;s also a few new APIs that are not part of either spec, for example:</p>

<ul>
<li>File API</li>
<li>Directories and Systems</li>
<li>Web Storage</li>
<li>Geolocation</li>
</ul>

<p>HTML5 is apparently a moving target. It&#8217;s not a finished spec, but a lot of people are using it anyway. With Microsoft and Apple both using it, I&#8217;m guessing that at least some familiarity with HTML5 layout concepts, object types, and the DOM + Javascript is going to be worth knowing.</p>

<p>Looking at the <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5)">comparison of layout engine compatibility</a> with HTML5, I am getting the picture that this is indeed an <strong>application support layer</strong> for the web. The support across the major layout engines is still pretty spotty, and I don&#8217;t imagine it will be very uniform for the next 3 years. So choosing some working subset of features for now will be important.</p>

<h2>Thinking about HTML5 Apps</h2>

<p>I don&#8217;t think the web application model changes that much. From a practical perspective, HTML5 provides standardization of some APIs now, and introduces the Canvas, Audio, and Video objects. CSS still provides the styling. Javascript still provides the runtime interactivity. There is still a mechanism for storing data on a server and retrieving it asynchronously. HTML5 promises to add things like native databases, geolocation, and other storage options.</p>

<p>It&#8217;s tempting to just go back to Flash, but it&#8217;s quickly becoming a has-been technology. Sure, there are things you can do with Flash that you couldn&#8217;t before, but it&#8217;s going to become a specialized solution much in the way that Macromedia Director continues to be. Flash may hang on because of its authoring tools, which make online interactivity accessible to unsophisticated programmers. I like Actionscript, actually, over Javascript, but I don&#8217;t feel a compelling reason to keep using Flash.</p>

<p>A few HTML5 links:</p>

<ul>
<li><a rel="nofollow" target="_blank" href="http://www.html5rocks.com/en/">HTML5 Rocks</a> is Google&#8217;s HTML5 showcase.</li>
<li><a rel="nofollow" target="_blank" href="http://www.apple.com/html5/">HTML5 Web Standards</a> is Apple&#8217;s HTML5 showcase</li>
<li><a rel="nofollow" target="_blank" href="http://www.bloggermint.com/2011/05/g5-a-html5-framework-for-php-websites/">HTML5 Framework</a> by a developer. Good to browse through to see how things are linking together.</li>
</ul>

<p>I think the biggest win right now with HTML5 might be the use of the new elements which are more broadly supported, such as the VIDEO, CANVAS, and AUDIO tags. Combination with so-called &#8220;responsive web design&#8221; for all device sizes might be cool too. I picked up ABA&#8217;s <a rel="nofollow" target="_blank" href="http://www.abookapart.com/products/responsive-web-design">Responsive Web Design</a> book to get an idea of how this works.</p>

<p>So&#8230;using HTML 4.1 Javascript techniques with the working bits of HTML5&#8242;s better-defined DOM might be the way to go for now.</p>

<p>To check this assumption, I decided to look into combination of HTML5 + jQuery, and found that actually HTML5 includes Javascript changes that mirror how jQuery works, with new functions and new APIs to handle all kinds of intriguing things. I&#8217;m going to head to the bookstore and have a look.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/hiK6GkgDpaA" height="1" width="1"/>]]></content:encoded>
         <category>Development</category>
      <feedburner:origLink>http://davidseah.com/agenceum/2011/09/pondering-html5/</feedburner:origLink></item>
      <item>
         <title>From Database Table to Layout</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/w6p8FwToK_U/</link>
         <description>One of my current projects is learning how to write a good web application. For the past week or so, I&amp;#8217;ve been focused on the back-end (i.e. the server and database programming), but now I&amp;#8217;m at the point where it&amp;#8217;s time to think of the front end. Although I make fun of apps that use [...]</description>
         <guid isPermaLink="false">http://davidseah.com/design/?p=58</guid>
         <pubDate>Tue, 20 Sep 2011 14:08:08 +0000</pubDate>
         <content:encoded><![CDATA[<p>One of my current projects is learning how to write a good web application. For the past week or so, I&#8217;ve been focused on the back-end (i.e. the server and database programming), but now I&#8217;m at the point where it&#8217;s <a rel="nofollow" target="_blank" href="http://davidseah.com/code/archives/111">time to think of the front end</a>. 
<hr id="more-58" class="more-separator"/></p>

<p>Although I make fun of apps that use designs driven by their database schema, it&#8217;s not a bad place to start. Here&#8217;s a simplified dump of the TASK table:</p>

<pre><code>Table wp_second_tasks
=====================
id               mediumint(8) unsigned PK
user_id          mediumint(8) unsigned
task_desc_id     mediumint(8) unsigned
task_name        char(255)
task_detail_id   mediumint(8) unsigned
task_progress    enum('idea','spec','plan',...)
task_priority    enum('immediate','shortwindow',...)
task_status      enum('queued','active','bumped',...)
task_terminus    enum('cancelled','nomoreneed',...)
task_followup    enum('rjnonfunction','rjnotspec',...)

Table wp_second_task_details
============================
id               mediumint(8) unsigned PK
deliverable      char(255)
description      char(255)
action           char(255)

</code></pre>

<p>The goal is to get this information into a simple layout that will function well interactively. The first and most tedious step is just getting the information all into a form where you can play around with it. I pulled up Illustrator and just laid stuff out, imagining the kind of interaction I needed as I went.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/578-0920-taskdesign.png.jpg" width="578" height="154"/><br /></p>

<p>This should be enough for me to just cobble together a fragment of HTML+CSS to start using in my code. I have a lot to learn about jQuery and jQueryUI to make this do what I want, so keeping simple for now will be helpful.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/w6p8FwToK_U" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Designthink/~3/MALc6k_oRoM/</feedburner:origLink></item>
      <item>
         <title>FlipSide 2X Front Pocket Wallet</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/S7H8woLsng0/</link>
         <description>My friend Duncan turned me on to compact wallets several years ago. What I like about them is that they&amp;#8217;re stylishly compact, forcing me to carry less junk in my wallet. The wallet I&amp;#8217;ve been using recently has been a Jimi wallet, but there is one thing I didn&amp;#8217;t like about it: I wanted it [...]</description>
         <guid isPermaLink="false">http://davidseah.com/gear/?p=20</guid>
         <pubDate>Thu, 08 Sep 2011 23:01:29 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0908-FlipSide04.jpg" width="570" height="427"/><br /></p>

<p>My friend Duncan turned me on to compact wallets several years ago. What I like about them is that they&#8217;re stylishly compact, forcing me to carry less junk in my wallet. The wallet I&#8217;ve been using recently has been a <a rel="nofollow" target="_blank" href="http://thejimi.com/">Jimi wallet</a>, but there is one thing I didn&#8217;t like about it: I wanted it to carry just one more card plus some folded bills. <hr id="more-20" class="more-separator"/></p>

<p>A few days ago Duncan showed me his new <a rel="nofollow" target="_blank" href="http://www.flipsidewallet.com/">Flipside Wallet</a>, which carries that extra card and is designed specifically to carry US dollar bills neatly folded in half. Not only that, but it is also RFID shielded to prevent crooks from scanning your credit cards remotely. While the FlipSide costs over twice as much as the Jimi&#8211;$39.95 compared to $14.95&#8211;the build quality is sturdier and the mechanical action is more refined.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0908-FlipSide01.jpg" width="174" height="130" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0908-FlipSide03.jpg" width="174" height="130" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0908-FlipSide02.jpg" width="174" height="130" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/></p>

<p>Because of the heavier build and extra capacity, the Flipside is actually fairly large compared to the Jimi. It&#8217;s about the side of a Blackberry or iPod Touch, and it dwarfs the old Motorola RAZR in the comparision picture. It&#8217;s actually not that much smaller than a regular wallet. However, it does a great job of organizing my cards and bills into distinct area of use. There&#8217;s a dedicated slot for my driver&#8217;s license, two storage areas for my commonly-used plastic ID/credit cards (holding 3 cards each), and a small compartment that can hold up to 12 bills. No room for receipts, coins, or keys, but I don&#8217;t want that stuff in my wallet anyway.</p>

<p>The advantage of this wallet is that it&#8217;s easy to get at your cards. There are small ramps engineered into the design of the card holding areas to make them easy to slide out. While the Jimi does a pretty good job of doing the same thing, the action is slightly less smooth. On the down side, this <em>is</em> a larger case than the Jimi. I&#8217;ll have to carry it with me for a while to see how it compares.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/S7H8woLsng0" height="1" width="1"/>]]></content:encoded>
         <category>Personal Carry</category>
      <feedburner:origLink>http://davidseah.com/gear/2011/09/flipside-2x-front-pocket-wallet/</feedburner:origLink></item>
      <item>
         <title>Designing a Desktop Wallpaper</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/Y3gzjOCoetM/</link>
         <description>This is a lengthy post about the process I followed to create a desktop wallpaper, calling upon my rusty illustration skills to participate in a most-worthy cause: Colleen Wainwright&amp;#8217;s 50 for 50 fundraiser to raise a bunch of money for girls who want to write. Swoon! I recently had the chance to make a desktop [...]</description>
         <guid isPermaLink="false">http://davidseah.com/design/?p=11</guid>
         <pubDate>Tue, 09 Aug 2011 19:09:30 +0000</pubDate>
         <content:encoded><![CDATA[<div style="padding:10px;background-color:#FFA;">This is a <strong>lengthy post</strong> about the process I followed to create a desktop wallpaper, calling upon my rusty illustration skills to participate in a most-worthy cause: Colleen Wainwright&#8217;s <strong>50 for 50</strong> fundraiser to raise a bunch of money for girls who want to write. Swoon!</div>

<p><hr id="more-11" class="more-separator"/></p>

<p>I recently had the chance to make a desktop wallpaper for my Internet bestie <a rel="nofollow" target="_blank" href="http://communicatrix.com">Colleen Wainwright</a>, who in celebration of turning 50 is running an <a rel="nofollow" target="_blank" href="http://50for50.us">amazing fundraiser for WriteGirl</a>, the LA-based non-profit of women mentoring teen girls in writing as a technique for self-expression. I think this is a very fine thing indeed, so I was happy to volunteer a desktop wallpaper.</p>

<p>Of course, I&#8217;d forgotten that I really don&#8217;t know how to illustrate. I&#8217;m something of a frustrated illustrator; I <em>love</em> illustration and illustrators, particularly writer-illustrators. It&#8217;s one of those mastery deals; the more time I put into it, the better I get. My mastery time went into computer programming and journal-style writing, and not so much into drawing cool stuff. It&#8217;s never too late to get a little bit better at something you want to do; it just takes the plastic mind of a child and the perseverance of someone who can see the promise of greatness in what they&#8217;re doing.  I remind myself to have a little faith, because greatness could just be one more push away. And if there&#8217;s anything I&#8217;ve learned about creativity, it&#8217;s that the final result is often not something you would have expected.</p>

<p>Colleen provided a couple of inspirational themes to pick from, and I picked this one:</p>

<blockquote>
  <p>&#8220;Any time I see someone succeed I am happy, for it affirms my belief that I live in a world where success is possible.&#8221;  — Bonnie Gillespie, writer and casting director</p>
</blockquote>

<p>That&#8217;s something I can believe in! I had visions of golden doorways of opportunity and infinite halls of possibility, populated throngs of smiling people. So I picked it, trusting that I could wrassle the concept into something doable in about a week.</p>

<h2>DAY 1: THURSDAY</h2>

<p>I had been thinking about fancy doors with onion-shaped arches, like layers emanating out, waves of possibility. I also found out who Bonnie Gillespie is, having stumbled upon an interview with her on the 50by50.us website. She&#8217;s a real person. Still alive! Which makes it even more interesting, as she is one of Colleen&#8217;s real-life inspirations.</p>

<p>Anyway, I wasn&#8217;t sure how the onion doorway really fit, other than I could see it being an interesting pattern geometrically to make. A doorway of opportunity is success, perhaps. I thought of sandstone arches against the bright desert sun, like Abu Dhabi in 1960s issues of National Geographic.</p>

<p>I set that aside, first going with my writerly instincts to break down the quote so I could get inside it and find my spot:</p>

<table style="width:100%;">
<tr><td>Any time</td><td>it affirms</td></tr>
<tr><td>I see</td><td>my belief</td></tr>
<tr><td>someone succeed</td><td>I live in a world</td></tr>
<tr><td>I am happy</td><td>success is possible</td></tr>
</table>

<p>ANY TIME. AFFIRMATION. SEEING. BELIEF. SUCCEED. A WORLD. POSSIBLE.</p>

<p>I SEE / AM PART OF A WORLD / AFFIRMED / HAPPY</p>

<p>RECURRING.</p>

<p>It&#8217;s a kind of personal, spiritual statement of belief. It&#8217;s not so much about how wonderful it is to see people succeed as being wonderful in itself, though that is perhaps implied. It affirms a belief in the world that it allows success. And this supporting fact, repeated, reaffirms. The implication is that it is sometimes possible to forget or lose faith. The value of happiness is tied to the recurring of the observation of someone else&#8217;s success.</p>

<p>Now, I have to contrast this with my own view of the world. I picked this quote because on first glance I thought it mirrored the way I think. But would I say exactly the same thing? What makes me happy? It will be in the interplay of those two perspectives that I think the inspiration for design will be born&#8230;</p>

<p>Well, hm.</p>

<p>I like to see people succeed. I like to see people with dreams they dare not share, for fear of being ridiculed, suddenly burst into the possibility that it is achievable after all. That they are not alone, but at the same time it is up to them. I like to see people who start to let their dream show, inadvertently, because they find it difficult to contain their excitement about it. I like to see people grow comfortable with their dreams and learn how to work with them, bring them into the light, and then reap the happiness that this brings them. If I can somehow be part of that, I&#8217;m happy. I think for me, the happiness stems from both feeling like I&#8217;ve been a positive contributor, and that it&#8217;s easier for me to believe I can achieve my dreams if other people can as well. But there is also something that genuinely makes me smile when I see someone excited about their own passion, when they cross that long shadowy threshold of uncertainty and blossom in the light on the other side, which they discover has been inside them all along. SO HAPPY this makes me!</p>

<p>So I see the similarities here. I can insert my reasons into the framework of the quote.</p>

<p>Darkness / Light. Epiphany. Blossom. Threshold. Happiness. Unification with the Possible and the Self with the Dreams</p>

<p>With something of a conceptual framework in mind, I felt that I could do some sketching. In 5 minutes I sketched the following concept:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0728-wallpaper01.jpg" width="570" height="356"/><br /></p>

<p>I was thinking of using mostly grays and light in a kind of 2D mural format, with lots of arches and doorways of opportunity, and people passing things back and forth in various stages of success. I&#8217;d like the idea of a creative community to come across, interrelatedness, and the joy of making and being part of something that&#8217;s bigger than any individual. Maybe the symbol of success will be totem poles, as they can be highly individualized.</p>

<p>How to illustrate this? I needed to draw doors, people, and perhaps have an interesting style of person. It&#8217;s the kind of thing that can develop after doing some small fragments; I just needed to push to completion once, then twice; the third time is usually something that holds together, I&#8217;ve found. First, some <strong>image research</strong>:</p>

<ul>
<li><p>I next spent about 45 minutes or so looking at reference for cave paintings and friezes&#8230;ok, the Mayans had an interesting hieroglyphic system. The Aztecs didn&#8217;t really have one. The Egyptions seem just a little bit stuff. I think about spending some time developing a 2D character look that I can illustrate fairly quickly. That will be mostly a game with proportions, I think, and having a 2D body representation that can handle reaching up, reaching to the side, and reaching down.</p></li>
<li><p>I looked at one of my favorite Pinterest pinboards: <a rel="nofollow" target="_blank" href="http://pinterest.com/sampry/doorways/">Doorways</a>, and sketched a few for reference.</p></li>
<li><p>What kind of HAPPY do I want to portray, though? It&#8217;s a kind of beaming, genuine &#8220;I&#8217;m glad to help&#8221; and &#8220;glee!&#8221; and &#8220;hey, it&#8217;s working!&#8221; vibe. A quick Image Search for &#8220;happy&#8221; and &#8220;smiles&#8221; might show me the way such a look could be&#8230;wow, googling &#8220;happy face&#8221; and &#8220;happy&#8221; and so forth brings up a pretty grim collection of fake-looking happy faces. It occurred to me while I was searching, though, that cartoonist Chris Baldwin knows how to draw a smirky pleased-with-self face on his alien creatures. And cartoonist Phil Foglio also knows had to capture mad glee. So&#8230;a trip to their archives is in order! But that will have to happen when I get home, because the Internet  at Starbucks was being of slow and crappy.</p></li>
</ul>

<p>Before quitting for the day, I opened up Illustrator and sketched out a quick concept of how the screen density might be, a kind of sketchy-layout so my visual brain had something to react to and contemplate overnight:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0803-desktop01.gif.jpg" width="570" height="356"/><br /></p>

<p>Was it too regular? Should it be light or dark? How many kinds of doors do I need? Is the scale right? How big should the people be? The purpose of this sketch was just to kickstart those questions, the &#8220;sacrificial first draft&#8221; that helps steer the visual decision making process. Much easier than trying to do it all in your head.</p>

<h2>DAY 2: FRIDAY</h2>

<p>I spent a few hours drawing various doorways, and arranging them in Illustrator to see how I could marry the concept with the quotes.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0803-desktop02.gif.jpg" width="570" height="356"/><br /></p>

<p><strong>I was just not feeling it, though.</strong> Doubt begins to set in&#8230;is this the right approach?</p>

<p>I took a step back and revisited the quote, examined the state of my heart, and projected the feelings onto the design I saw on the screen to try to find a jumping-off point. I didn&#8217;t see it. I decided to take a break.</p>

<h2>DAY 3: SUNDAY</h2>

<p>I spent a few hours drawing flowers in Illustrator, and then doing a light study to see if this would help jazz-up the desktop concept:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0803-desktop03.gif.jpg" width="570" height="356"/><br /></p>

<p>The idea was to see if beams of light, representing the light of opportunity behind the doors, would add visual interest. It sort of did, but it didn&#8217;t grab me either. In fact, it just raised more questions:</p>

<ul>
<li>Should a door of opportunity be open or closed?</li>
<li>What about the people? Do they go inside?</li>
<li>Isn&#8217;t this starting to, uh, <em>stink?</em></li>
<li>I&#8217;m still not feeling it&#8230;the concept is starting to lose its shape in my head.</li>
</ul>

<p>The desktop wallpaper project was, I had to admit, far more complicated than I had imagined, because it puts pressure on several areas:</p>

<ul>
<li>I want this to be really good</li>
<li>I want to create something original with hand-made details</li>
<li>I want to create something that is authentic, moving, using sources that are drawn from within me.</li>
</ul>

<p>I&#8217;ve always, I think, approached my more personal projects like this, but as this project is for someone else I am feeling the added pressure not to disappoint. This brings in still more pressure and stress that doesn&#8217;t need to be there.</p>

<p>I decided to take a break. This would delay the delivery of the wallpaper by the soft deadline, which sucks, but I needed to regroup. I took Monday off from the project to work on something else, to let my creative energies rebuild, and tried not to feel like I&#8217;d already failed.</p>

<h2>DAY 4: TUESDAY</h2>

<p>Here&#8217;s an important concept when doing creative work, one that I may not have been fully aware of until I started journaling my process extensively: <strong>the concept of the creative hop</strong>. The first creative hop on this project was to think of the concept, come up with an idea, and then start doing it with creating the structural pieces that would carry the message. But the pieces ended up not being that great&#8230;at least, not in the way I&#8217;d hoped. Thus ended <em>that</em> creative hop. It&#8217;s time to begin a new one.</p>

<p>For any creative project, there are MULTIPLE hops I should plan for. Ideally, you learn a little from each one, and converge on something interesting. Unfortunately, since I hadn&#8217;t exactly planned on this, I&#8217;m now behind on this project. I had only myself to (lightly and kindly) blame; I&#8217;d planned the project more like a cut-and-dried programming job, where the right answer is the answer that works. Solutions converge rapidly. Not so, when doing creative visual work.</p>

<p>So&#8230;deep breath! And take that second hop. Possibly one of many. Gotta have faith, and keep moving.</p>

<p>One thing I learned in art school, by sheerest accident, was that dramatically restricting the focus on a concept can yield much more powerful focus. This is more of a graphic design / composition principle. Whereas before I was thinking of creating a complex piece that would be fun to look at, like a &#8220;Where&#8217;s Waldo&#8221; or &#8220;Richard Scarry&#8217;s Busy Busy World&#8221; style illustration, now I was thinking more like a graphic designer:</p>

<ul>
<li>What&#8217;s the message? </li>
<li>How can I deliver it in one glance? </li>
</ul>

<p>I also realized that <strong>working in Illustrator is very frustrating</strong>. I am passably proficient in it after all these years, but it has never been my first choice; I preferred <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Macromedia_FreeHand">Aldus Freehand</a>, the much-lamented former competitor to Adobe Illustrator before Adobe bought &#8216;em out, for its much-less finicky drawing interface. Don&#8217;t get me started&#8230;I can already feel the veins starting to pop out of my head&#8230;but I digress.</p>

<p>Having acknowledged that Illustrator is frustrating, I realized I was probably going to finished production tools too early. I should have developed a more finished sketch first of the various concepts. I decided to <strong>start again</strong>, this time with sketching on paper.</p>

<p>I took about 45 minutes sketching on a piece of paper in my notebook, moving rapidly from concept to concept:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0802-sketches.jpg" width="570" height="379"/><br /></p>

<p>There are four concepts I thought were viable: a green grasslands with flowers growing up toward the sun (this could be a simple shape exercise), a monstrous toothed mouth with a light at the end of it (symbolizing that the way out is through the monster&#8217;s throat), two charged sphere with a spark arcing between them, and a retro Donkey Kong-like diagram showing the world as a game, and defeating all these obstacles to get to the top (overcoming! success!) This latter one I liked, because I really like old video games (conceptually, at least) and this was something from <em>ME</em> that I could imbue into the quote. Which got me thinking again about <strong>sparks</strong>; for me, the part I like the best about seeing people succeed is seeing that <strong>a-ha!</strong> moment spark in someone&#8217;s eyes. I love that moment, and it&#8217;s what I really live to see.</p>

<p>So, I decided to do a quick test to see if the two spheres sparking would work. For one thing, it was by far the quickest thing to test, requiring no illustration other than the spark. I also, in my earlier Illustrator frustrations, had remembered <em>the one thing</em> that I had liked about it back in 1995: the gradient tools were much better! So I got caught up in playing with gradients and blends, trying to get them to look interesting. Here&#8217;s the first draft:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0803-desktop04.gif.jpg" width="570" height="356"/><br /></p>

<p>And&#8230;it worked for me. There is something about the murky blue deep, the spark, and the size disparity between the looming sphere above and the smaller sphere below. I put the larger sphere on top so it would weigh down the frame, a standard compositional trick used in film, to create some sense of tension that is released in the bright spark.</p>

<p>There is a kind of pleasing ambiguity in what is happening too, so it is up to the viewer to make a decision about what&#8217;s happening. This happens to match the feeling of the quote, which itself is fairly general. You can read into it what you want, make up your own back-story, come up with your own rationales. The abstractness of the desktop felt like a good match.</p>

<p>Now, I just had to get the typography under control. I tried several variations of the text, applying pseudo 3D trickery and other such nonsense&#8230;</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0803-desktop04a.gif.jpg" width="174" height="108" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0803-desktop04d.gif.jpg" width="174" height="108" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0803-desktop04b.gif.jpg" width="174" height="108" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/></p>

<p>&#8230;before sending this one to Colleen for her (gulp!) review:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0803-desktop-rc01.gif.jpg" width="570" height="427"/><br /></p>

<p>Her comment was positive, and she suggested that to make it more powerful removing the competition between the spark and the text (which I wasn&#8217;t happy with anyway) with a simple rim of text in the planetoid. I also decided to fix the &#8220;zap surround&#8221; with a digitized effect (it&#8217;s, uh, computery). It&#8217;s a bit of the 8-bit nerd in me crying out.</p>

<p>I sent it off&#8230;</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0809-wallpaper.jpg" width="570" height="427"/><br /></p>

<p>Colleen said she didn&#8217;t like it&#8230;(gasp)&#8230;she LOVED it (whew). Communicating with the Communicatrix is sometimes fraught with verbal trickery. APPROVED!</p>

<p>All that was left was to generate the 8 variations in size (which I&#8217;d planned for in the layout), and to eliminate the color banding in the gradients.</p>

<h2>Technical Production Notes</h2>

<p>Although your typical computer display can show millions of colors, there are a fixed number of brightness values that are visible. When you are spreading a gradient of color over a large area, the limited number of tones available can become visible as &#8220;bands&#8221;. The problem is exacerbated on cheaper LCD screens, which often have a limited color gamut compared to the old CRT displays.</p>

<p>Anyway, you can see the bands on the earliest variations of the desktop. There are three ways to get rid of these bands:</p>

<ul>
<li><p>Dither them by hand, manually, using the single-pixel pencil tool. This isn&#8217;t really a time-efficient option for 8 wall papers, and it&#8217;s particularly onerous because Photoshop&#8217;s pixel tools have been subtly broken since version 6, and it makes me angry just trying to use them.</p></li>
<li><p>Reduce the area of gradient, so you aren&#8217;t spreading the colors over such a wide range. This isn&#8217;t really possible to do without changing the nature of the image; it would become more high-contrast, and lose the foggy quality I like.</p></li>
<li><p>The option I picked: <strong>add noise</strong> to break-up the outlines of the bands.</p></li>
</ul>

<p>I did the final compositing of the original vector image in Photoshop, breaking it up into two layers: the foreground elements (spheres, text) and the background (the blue radial gradient).</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0803-desktop-psd.gif.jpg" width="174" height="435" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/></p>

<p>Next, I imported the foreground and background as separate Photoshop Smart Objects, in 16-bit RGB mode. Using 16-bit per component mode gives me more tonal dynamic range, which helps avoid banding until I down-sample to 8-bit per component. Photoshop helps by doing a bit of its own dithering in the conversion, but it isn&#8217;t good enough to cover up everything. To overcome that, I had to apply my own effect.</p>

<p>I duplicated the foreground layer and applied a Smart Blur and Screen effect to it, which helps add an additional subtle glow. I also applied Smart Noise to each of the Smart Objects; this gives me <em>resolution independent</em> noise, which is important when it comes to scaling the wallpaper up from 1024&#215;768 to 2560&#215;1600. It adds a kind of &#8220;grain&#8221; the image, which masks the banding effect. It is only slightly visible in the smaller sphere, if you look for it.</p>

<p>Finally, I added an adjustment layer to goose the contrast a tiny bit. In general, the PC is more contrasty than the Macintosh, so I tried to find a balance between higher contrast light detail on the spark and ball gradients and the ambient blue light of the background. Too much and the ambient atmospheric effect goes away, too little and the entire scene would seem a little muddy. To combat muddiness I had used a variety of blue hues; the spark effect is a little more electric than the more deep-sea blues of the planetoids and backgrounds. This helps create a bit of subtle visual separation; if I&#8217;d just use the same blue hue and swept it from lightest to darkest, the result would have been kind of dull. Subtle hue variation is your friend when making gradients and complementary colors.</p>

<p>You can see the layer setup in the image to the right. An interesting side effect of using Smart Objects is that the master vector sources are now contained in the Photoshop file, not the original Illustrator files, because Photoshop makes a copy of that data and stores it. You can double-click them to edit the source in Illustrator, still, which is pretty cool. It&#8217;s nice also that the duplicate Smart Object layers only refer to a single source.</p>

<p>Now, the reason I even bothered with Smart Objects and working in vector format to begin with was so I could use the same master file to generate high resolution PNG and JPG files. I was particularly worried about the noise pattern getting scaled-up, thinking I would have to regenerate the noise field for each resolution, but it turned out that the Smart Filter feature of Photoshop (which was new to me) took care of that for me.</p>

<p>The end result: a kind of grainy background that gives image compression algorithm fits, resulting in significantly larger files. Visually, though, it eliminates the distracting color / mach banding effects, which was important to me. It should scale up well to wall-sized prints, if I so wanted to do that.</p>

<h2>Final Evaluation</h2>

<p>I started with a much grander illustration challenge, and sort of ended up with an abstract shape design that &#8220;works&#8221; purely on color and focus. I could regard this as a cop-out; I could have burned 80 hours on this learning to illustrate the Ultimate Concept, but I had to make a choice regarding efficiency, so I did the simplest concept first. If it hadn&#8217;t met with approval, I was ready to move onto the Donkey Kong concept, which I&#8217;d already started planning. As it happened, the resulting wallpaper, though far from my original concept, came through to the point that I feel pretty good about it. Next time, I&#8217;ll have to plan for many more creative hops, to give myself more time to explore.</p>

<p>You can get this wallpaper in all eight sizes, <em>plus</em> the wallpapers from <strong>much more famous designers</strong>, at Colleen&#8217;s <a rel="nofollow" target="_blank" href="http://www.indiegogo.com/50-for-50">50 for 50 Fundraiser</a> for a measly donation of $15.00. I know, right? SUCH A VALUE. You could also get the <a rel="nofollow" target="_blank" href="https://www.indiegogo.com/projects/35311/pledges/new?perk_amt=25&amp;perk_id=99049">DIGITAL MONSTER PACK</a> for a mere ten bucks more and reap additional Colleen Wainwright exclusives. Be a mensch and help a teenage girl find her writing voice through quality mentorship.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/Y3gzjOCoetM" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Designthink/~3/un9mPJJkpMk/</feedburner:origLink></item>
      <item>
         <title>Genesis of the Seah Micro Logo</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/nI3fo5Eq4Zs/</link>
         <description>Yesterday I made an infographic diagram of my &amp;#8220;ideal&amp;#8221; day broken down by six types of activity. I was in a playful mood, and had pretended I was a manufacturer of high-end data processors, including myself as part of the product line. Of course, I needed a manufacturer&amp;#8217;s logo. It immediately occurred to me that [...]</description>
         <guid isPermaLink="false">http://davidseah.com/design/?p=132</guid>
         <pubDate>Tue, 26 Jul 2011 14:12:38 +0000</pubDate>
         <content:encoded><![CDATA[<p>Yesterday I made an <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2011/07/apportioning-the-day/">infographic diagram</a> of my &#8220;ideal&#8221; day broken down by six types of activity. I was in a playful mood, and had pretended I was a manufacturer of high-end data processors, including myself as part of the product line. Of course, I needed a <strong>manufacturer&#8217;s logo.</strong>
<hr id="more-132" class="more-separator"/></p>

<p>It immediately occurred to me that if there&#8217;s any graphic that&#8217;s associated with me, it&#8217;s the bubble-based data entry I used in my <a rel="nofollow" target="_blank" href="http://davidseah.com/productivity-tools">productivity forms</a>. The idea of making a <em>retro logo</em> that borrowed elements of the 1980s microcomputer and high-end audio companies came instantly to mind.</p>

<p>Here I can go a bit more into the design.</p>

<p>There wasn&#8217;t any sketching at first, as I knew I wanted the following elements:</p>

<ul>
<li><p><strong>Four bubbles</strong>, of the style I used in the various Printable CEO forms. The ones I used are actually a little taller and a little closer together than I would do on an actual form; this is a concession to creating a stronger group that read as a single unit. If these were actual bubbles on a form, I would space them farther apart to make &#8220;bleedover&#8221; less of an issue. You don&#8217;t want to require too much precision on the part of users, otherwise hands cramp up and it gets harder to read which bubbles are filled in due to the &#8220;hanging chad&#8221; phenomena.</p></li>
<li><p><strong>Feedback loop</strong>, because feedback is everything. I had a strong sense that this would create motion in the logo, plus add a bit of dimension.</p></li>
</ul>

<p>The top row shows the three iterations I made from left to right. Blue and orange is a color scheme I use a lot, so I thought maybe it would be cool to have both of them in place. However, I felt it created too much separation between the logo elements. The final design of the stroked arrows pleased me also in that they are reminiscent of the symbol for an inverter or op-amp; these are kinds of electronic components used to create circuits.</p>

<p>I decided to make everything one color, with the feedback line using a tint (65%) of the color. This would make it easy to print using a single spot color, light or dark, which is a common practical concern when designing for paper. The lighter tint isn&#8217;t even necessary, as there are cuts in the linework to make the line stand out from the bubbles.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/2011/570-0726-logoprogression.png.jpg" width="570" height="508"/><br /></p>

<p>One variation I tried (not shown here) is an italic typeface. I didn&#8217;t like the way it unbalanced the very balanced feeling of the 4 bubbles, so I left the font as semibold Proxima Nova Condensed (the official David Seah typeface) with a tracking of around 450%. I&#8217;m not actually that happy with the weight and spacing, but I decided to live with it.</p>

<p>It&#8217;s a simple logo, but there are a few little touches I threw in. The feedback look is purposefully drawn a little lower to help the logo feel more weighty. The gaps between the lines in the foreground are a little wider than the ones in the background to help with the perspective cueing (they look a little farther away, which is kind of a visual trick being played on an otherwise-flat design). Likewise, the rear arrow is a little smaller the the front arrow, which points forward. Not only does this add to the feeling of dimension, it also emphasizes FORWARD motion over rear motion. The point of feedback and assessment, after all, is to move forward with your goals.</p>

<p>After getting to the final revision (total time was about an hour), I converted the stroked linework to outlined shapes, removed white fills (in the arrows) so I could place the logo on any color background. I converted the text to outlines so the font didn&#8217;t need to be installed on whatever computer I was using. This took another 30 minutes to get just right. While Row 2 looks the same with the exception of the slight difference in stroke color, Row 3 shows how the shapes are actually constructed.</p>

<p>I was curious whether my memory of 1980&#8242;s logos for microcomputer and high tech companies was accurate&#8230;I had the feeling that the logo wasn&#8217;t quite retro enough. I grabbed a collection of logos off the Internet from that time period and placed mine with them.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/2011/578-0726-logocollage.jpg" width="578" height="578"/><br /></p>

<p>I can see right away that my logo is using finer lines and gaps than any of the 1980s logos, and that condensed fonts were not in back then. If I wanted to go back and make a more retro version of the logo in a reproduction catalog, I would have to thicken the lines considerably. I wonder if the logos then had to account for cruder printing resolution in magazines, and deal with low-quality box printing. My logo also has more elements in it than the other logos, making it look overly fussy. It reminds me more of the 90s, when people started adding florishes to logos to make them look fancy. The adherence to simple shapes, though, seems to be generally compatible, as does the squat proportions.</p>

<p>In any case, as a logo it isn&#8217;t too bad. I feel that there is another step of refinement that could happen. Perhaps bulking up the linework a bit would help, or adjusting the bubble spacing.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/nI3fo5Eq4Zs" height="1" width="1"/>]]></content:encoded>
         <category>Note</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Designthink/~3/fsE8RfLqVPI/</feedburner:origLink></item>
      <item>
         <title>Tom’s Moleskine / Emergent Task Planner Mashup</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/JcsMPReiGtI/</link>
         <description>Tom Atwood, who had purchased the 7-task version of the half-size ETP form a few months ago, bound and reloaded his own Moleskine version using instructions from the Internet. Sweet! A while ago I&amp;#8217;d made a few extra variations of the Emergent Task Planner for sale as a digital download. I&amp;#8217;ve gotten one or two [...]</description>
         <guid isPermaLink="false">http://davidseah.com/make/?p=8</guid>
         <pubDate>Wed, 20 Jul 2011 18:34:45 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0720-tomsbook3.jpg" width="174" height="232" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0720-tomsbook6.jpg" width="174" height="232" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0720-tomsbook8.jpg" width="174" height="232" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/></p>

<p><br style="clear:both;"/></p>

<p>Tom Atwood, who had purchased the <a rel="nofollow" target="_blank" href="http://davidseah.com/blog/2011/04/half-sized-a5memo-emergent-task-planner-available/">7-task version</a> of the half-size ETP form a few months ago, bound and reloaded his own <strong>Moleskine version</strong> using instructions from the Internet. Sweet!</p>

<p>A while ago I&#8217;d made a few extra variations of the <a rel="nofollow" target="_blank" href="http://davidseah.com/pceo/etp">Emergent Task Planner</a> for sale as a digital download. I&#8217;ve gotten one or two sales a month from them&#8230;nothing big, but I am a believer when it comes to <strong>putting new things out in the world</strong> to see what happens&#8230;</p>

<p>I got this inquiry from Tom a back in June:</p>

<p><strong>TOM</strong></p>

<blockquote>
  <p>[...] Quick question on PCEO-ETP03C-0T7-USMINI-2UP-D2&#8230;.. I need to reduce it a little so that I can create signatures and use them to <strong>refill a Moleskine Journal</strong>, what&#8217;s the best way to do that?</p>
</blockquote>

<p><strong>DAVE</strong> (intrigued by the bookmaking process)</p>

<blockquote>
  <p>Oh, that&#8217;s a tough one&#8230;probably no easy was of shrinking it yourself unless you have Adobe Illustrator CS4 or better. Tell you what: tell me how much the size needs to shrink, and I&#8217;ll make you a custom version of it. In exchange, send me a nice photo of your refilled Moleskine Journal when it&#8217;s done! I love pictures of stuff like that!</p>
</blockquote>

<p><strong>TOM</strong></p>

<blockquote>
  <p>Cool. Will do.</p>
  
  <p>Ok, I reduced it 96% on the printer, pulled a signature out of the moleskine and compared.. After trimming 5/16&#8243; off each side, and 1/8&#8243; off top/bottom, the outside edge of the graphic would be pretty close to the page&#8230; ideally the inside edges (where I&#8217;ll bind) would be 1/8&#8243; closer to the line. Then I think it&#8217;ll fill up the page nicely (look like it was meant to be in the moleskine).</p>
  
  <p>I measured each page of the moleskine&#8211; I think it&#8217;s 5 1/8&#8243; wide by 8.125&#8243; tall. The cover is 5.25&#8243; x 8.25&#8243; so I have some wiggle room with trimming.</p>
  
  <p>Also I need a version that&#8217;s 2 up, 2 up&#8230;. for some reason 2UP-D2 always prints with the second page down. Is that by design or perhaps it&#8217;s this printer at work? Wouldn&#8217;t be surprised if it&#8217;s the latter&#8230;.</p>
  
  <p>I&#8217;ll go to a printer anyway as I want a little better paper than we have in the office.</p>
</blockquote>

<p><strong>DAVE</strong></p>

<blockquote>
  <p>Ok, great! I&#8217;ll see if I can make a version really quick. The second page down probably is due to your printer&#8230;office printers have registration issues, and are often off by 1-3mm in their paper handling. I&#8217;ll double-check the file, though, to make sure it&#8217;s correct. You should ask your printer guy what the tolerance is for the printing they can guarantee, just to be sure.</p>
  
  <p>Ok, give this a try! Send me a picture when it&#8217;s done!</p>
</blockquote>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0720-davesetp.gif.jpg" width="570" height="440"/><br /></p>

<p><br style="clear:both;"/></p>

<p><strong>TOM</strong></p>

<blockquote>
  <p>Awesome. Spot on. It&#8217;ll work great.</p>
  
  <p>Ok, I need to get some thread, needle and glue. Or see if the local bookbinder will do on the cheap.</p>
  
  <p>Here is what I&#8217;m doing: <a rel="nofollow" target="_blank" href="http://www.notebookism.com/2009/10/moleskine-reloaded.html">http://www.trumpetvine.com/sketchblog/moleskine-reloaded/</a> (ed note: the shown URL is displaying a malware warning on my blog, so I am redirecting it to a similar page on notebookism.com)</p>
  
  <p>But I&#8217;m doing it with some standard executive paper at FedEx Kinko&#8217;s which seems to hold up well with sharpies.</p>
  
  <p>Paper is in-process now&#8230;. I hope to have something next week depending on my ability/in-ability to sew.</p>
</blockquote>

<hr />

<p>Today I got some first pictures. It looks great, and now I want one! Hopefully I&#8217;ll get some better pictures from Tom; will update this post. Here&#8217;s some more notes from Tom:</p>

<blockquote>
  <p>Specifics are: 4 8.5 x 11 pages per signature and 8 signatures in the moleskine&#8230; so, 128 pages&#8230;. a lot depends on the thickness of the paper. Next time I&#8217;ll sew with actual tape on the spines for extra strength&#8230; although it&#8217;s plenty sturdy as is with just thread and glue.</p>
  
  <p>Added my David Allen GTD Workflow laminate to inside front cover and some business card and other plastic holders at the back.</p>
</blockquote>

<p>Thanks for sharing, Tom!</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/JcsMPReiGtI" height="1" width="1"/>]]></content:encoded>
         <category>DIY</category>
      <feedburner:origLink>http://davidseah.com/make/2011/07/20/toms-moleskine-emergent-task-planner-mashup/</feedburner:origLink></item>
      <item>
         <title>John Mayer on Disintegrating Focus</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/IalH7wEBe-g/</link>
         <description>Found via Evelyn Rodriguez on Google Plus: this recap of a music seminar with John Mayer. Of particular interest to me was the idea that when you are focused on something small things like crafting that ultimate Tweet, you don&amp;#8217;t practice the harder things you really want to be doing, like writing that great 4-minute [...]</description>
         <guid isPermaLink="false">http://davidseah.com/library/?p=3</guid>
         <pubDate>Mon, 18 Jul 2011 03:07:36 +0000</pubDate>
         <content:encoded><![CDATA[<p>Found via Evelyn Rodriguez on Google Plus: this <a rel="nofollow" target="_blank" href="http://www.berklee-blogs.com/2011/07/john-mayer-2011-clinic-manage-the-temptation-to-publish-yourself">recap of a music seminar with John Mayer</a>. Of particular interest to me was the idea that when you are focused on something small things like crafting that ultimate Tweet, you don&#8217;t practice the harder things you really want to be doing, like writing that great 4-minute song:</p>

<blockquote>
  <p>“The tweets are getting shorter, but the songs are still 4 minutes long. You’re coming up with 140-character zingers, and the song is still 4 minutes long…I realized about a year ago that I couldn’t have a complete thought anymore. And I was a tweetaholic. I had four million twitter followers, and I was always writing on it. And I stopped using twitter as an outlet and I started using twitter as the instrument to riff on, and it started to make my mind smaller and smaller and smaller. And I couldn’t write a song.”</p>
</blockquote>

<p>Something to think about</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Reading/~4/yAXIJc4Y4qo" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/IalH7wEBe-g" height="1" width="1"/>]]></content:encoded>
         <category>quote</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Reading/~3/yAXIJc4Y4qo/</feedburner:origLink></item>
      <item>
         <title>Scientific Reasoning and the Language of Teaching</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/By6dw7vMvog/</link>
         <description>This article in Ars Technica, College Upperclassmen Still Fail at Scientific Reasoning, suggests that professors inadvertently speak a different language than their student. Another data point toward text books that fail to explain, because they&amp;#8217;re trapped in their own world.</description>
         <guid isPermaLink="false">http://davidseah.com/lore/?p=12</guid>
         <pubDate>Fri, 15 Jul 2011 19:39:32 +0000</pubDate>
         <content:encoded><![CDATA[<p>This article in Ars Technica, <a rel="nofollow" target="_blank" href="http://arstechnica.com/science/news/2011/01/college-upperclassmen-still-fail-at-scientific-reasoning.ars">College Upperclassmen Still Fail at Scientific Reasoning</a>, suggests that professors inadvertently speak a different language than their student. Another data point toward text books that fail to explain, because they&#8217;re trapped in their own world.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Reading/~4/irCTzv5fEoo" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/By6dw7vMvog" height="1" width="1"/>]]></content:encoded>
         <category>web</category>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Reading/~3/irCTzv5fEoo/</feedburner:origLink></item>
      <item>
         <title>Asymmetric Columns of Content</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/HscAOAlFVH8/</link>
         <description>I have recently discovered Pinterest, which implements a pinboard of cute pictures tied to one&amp;#8217;s interest. It&amp;#8217;s sort of a visual bookmarking system, and the people who are into it generally are trying to pick beautiful pictures. I also like the layout of the screen: I looked around to find out what jQuery plugin might [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=277</guid>
         <pubDate>Thu, 14 Jul 2011 00:39:43 +0000</pubDate>
         <content:encoded><![CDATA[<p>I have recently discovered <a rel="nofollow" target="_blank" href="http://pinterest.com">Pinterest</a>, which implements a pinboard of cute pictures tied to one&#8217;s interest. It&#8217;s sort of a visual bookmarking system, and the people who are into it generally are trying to pick <em>beautiful</em> pictures. I also like the layout of the screen:</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/2011/578-0713-pinterest.jpg" width="578" height="537"/><br /></p>

<p>I looked around to find out what jQuery plugin might implement this kind of layout, and I think it&#8217;s <a rel="nofollow" target="_blank" href="http://masonry.desandro.com/">Masonry</a>. Noting it here for future reference.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/HscAOAlFVH8" height="1" width="1"/>]]></content:encoded>
         <category>Development</category>
      <feedburner:origLink>http://davidseah.com/agenceum/2011/07/asymmetric-columns-of-content/</feedburner:origLink></item>
      <item>
         <title>“Clean Bottle” BPA-Free Cyclist Water Bottle</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/bwzNFyv3IPg/</link>
         <description>I love products that are the result of someone getting fed-up with the status-quo. The Clean Bottle cyclist water bottle was designed by David Meyer, who got tired of cleaning out the mold from the bottom of his water bottles. His brainstorm: what if you could unscrew the bottom? I got a sample in the [...]</description>
         <guid isPermaLink="false">http://davidseah.net/gear/?p=15</guid>
         <pubDate>Mon, 04 Apr 2011 02:53:29 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0207-clean-bottle.jpg" width="570" height="380"/><br /></p>

<p>I love products that are the result of someone getting fed-up with the status-quo. The <a rel="nofollow" target="_blank" href="http://cleanbottle.com/">Clean Bottle cyclist water bottle</a> was designed by David Meyer, who got tired of cleaning out the mold from the bottom of his water bottles. His brainstorm: what if you could <em>unscrew</em> the bottom? <hr id="more-15" class="more-separator"/></p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0207-clean-bottle-1.jpg" width="174" height="116" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0207-clean-bottle-2.jpg" width="174" height="116" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0207-clean-bottle-3.jpg" width="174" height="116" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/></p>

<p>I got a sample in the mail courtesy of one of their representatives. The bottle is made of a plastic that does not contain <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Bisphenol_A">BPA</a>, an organic compound used in manufacturing that has been linked to health issues like erectile dysfunction and hormonal inbalances. It&#8217;s present in most metal cans in the form of an inside plastic lining, but has fallen out of favor with the water bottle industry. Be assured that Clean Bottle is sticking with the trend.</p>

<p>Still, plastic is plastic, and I usually favor glass for my water; I am sensitive to the taint of plastic or metal that these containers often impart. To my surprise, Clean Bottle didn&#8217;t carry the plastic smell after I&#8217;d used it a couple of times. I&#8217;d rinsed it out thoroughly and let some water sit in it for almost two weeks, then dumped it out and filled it again. It&#8217;s been two weeks since then, and when I opened it up just now there was no weird smell. Your mileage may vary.</p>

<p>The sturdiness of the plastic gives it a functional edge over my beautiful <a rel="nofollow" target="_blank" href="http://davidseah.com/info/takeya-glass-water-bottles/">Takeya Modern Glass Water Bottle</a>, which I worry will break if I carry it around with me.</p>

<p>Because of the double-ended design, I was curious if the bottom would be as strong as the top, so I filled the bottle with seltzer water to see what would happen under some pressure; <strong>the bottle isn&#8217;t intended for this use</strong>, mind you. My kitchen survived the experiment, and I&#8217;m pretty confident that the bottle is engineered well. One interesting thing about the top valve is that you can suck down the water and the bottle doesn&#8217;t collapse from the vacuum. Usually, when you are drinking from those disposable water bottles, they crunch up from the vacuum and become difficult to hold. The Clean Bottle valve is a semi-soft rubber that you can put your mouth around, seal with your lips, and drink easily. The valve seems to allow water to flow one way while allowing air to flow back in the bottle. A side effect of this is that the water is somewhat aerated in the process, which can be nice.</p>

<p>Clean Bottle has been selling well, according to the representative I talked with. I wish them well.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0207-clean-bottle-4.jpg" width="570" height="380"/><br /></p>

<p>Available from: <a rel="nofollow" target="_blank" href="http://cleanbottle.com/">Clean Bottle</a> and <a rel="nofollow" target="_blank" href="http://www.rei.com/product/802263">REI</a>.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/bwzNFyv3IPg" height="1" width="1"/>]]></content:encoded>
         <category>Containers</category>
      <feedburner:origLink>http://davidseah.com/gear/2011/04/clean-bottle-bpa-free-cyclist-water-bottle/</feedburner:origLink></item>
      <item>
         <title>Review: “Eat People” by Andy Kessler</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/BRKPY8WbITc/</link>
         <description>I&amp;#8217;ve often wondered how business people think differently than other people. To date, I&amp;#8217;m most familiar with the world view of engineers and artists. As an engineer, I find I&amp;#8217;m drawn to the minutia sequencing action to produce results. As an artist, I&amp;#8217;m drawn to the interplay of my senses and thoughts with other people&amp;#8217;s [...]</description>
         <guid isPermaLink="false">http://davidseah.net/learning/?p=5</guid>
         <pubDate>Thu, 17 Mar 2011 20:09:43 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/578-0317-eat-people.jpg" width="578" height="187"/><br /></p>

<p>I&#8217;ve often wondered how business people think differently than other people. To date, I&#8217;m most familiar with the world view of engineers and artists. As an engineer, I find I&#8217;m drawn to the minutia sequencing action to produce results. As an artist, I&#8217;m drawn to the interplay of my senses and thoughts with other people&#8217;s life experiences. But business? I have no idea. The offer to review Andy Kessler&#8217;s new book <em>Eat People</em> came at a good time, as I&#8217;m going to have to figure out this business stuff if I want to make a living doing my own thing.
<hr id="more-9" class="more-separator"/></p>

<p>Briefly, <em>Eat People (and Other Unapologetic Rules for Game-Changing Entrepreneurs)</em> is an informal manifesto on the nature of wealth creation, a question that Kessler ponders throughout the book through the exploration of history, his own experiences in the workplace, and the ideas of people he has interviewed over the course of his journalism career. I imagine that Kessler is the kind of guy that is attracted to people who really are living by their own rules, and within the context of business he labels one class of entrepreneurs as &#8220;Free Radicals&#8221;.  These are people who create wealth by actively scaling up volume and driving down prices, waste abundant resources to extract what is precious, eliminate jobs, and harness the labor of other people to do the value-creating work. They&#8217;re pro-globalization and pro-obsolescence, profiting where opportunity allows them to practice their brand of innovation.</p>

<h2>Increased Productivity Creates Wealth</h2>

<p>Kessler&#8217;s central premise is that <strong>it&#8217;s increased productivity that creates wealth</strong>. On first read it sounds stupidly obvious, but it&#8217;s actually more subtle a statement. First, accept a definition of productivity in economic terms: &#8220;output per worker&#8221;. By increasing the output of a worker, &#8220;more output&#8221; is created with the same expensive resource; you can say that it&#8217;s this <em>increase</em> that <em>literally creates</em> more from nothing. For example, if you could make 10 hamburgers for sale in an hour, but then found some way to make 20 hamburgers an hour, you could say that your increased productivity has produced 10 more hamburgers worth of value. Whatever your innovation was, you&#8217;ve been able to create more valuable assets in the same amount of time, which once sold gives you more buying power. And with more buying power, you improve your standard of living. It is this ability to increase productivity that Kessler puts a premium on, with all other business activity acting in either a supporting role or (in the worst case) as form of systematic thievery.</p>

<h2>How to be a Free Radical</h2>

<p>A true Free Radical, as I understand the concept, is a kind of hero-entrepreneur that creates new ways of making abundance while making a profit. Unconstrained by the mindset of the non-creating drones who see any profit-driven motive as inherently evil, the Free Radical endeavors to create opportunity that destroy less-efficient means of production. If that happens to put a few people out of work, such is the price of progress. Rule #7, for example, is the &#8220;Eat People&#8221; rule, and it targets inefficient processes that employ people in jobs that could be replaced by robots. However, over the long term, it&#8217;s those same efficiencies that allow people to buy more at a lower cost. That we can afford to buy gigantic televisions for under $500 which, even ten years ago, easily 10 times more expensive, is an example of how our standard of living has improved.</p>

<p>Yes, there are many counter-claims that arise, but <em>Eat People</em> isn&#8217;t a book written to defend an economic theory. Instead, it&#8217;s more of a thought-provoking manifesto about the mindset needed to identify explosively productive&#8211;and therefore profitable&#8211;areas of endeavor. Kessler has identified 12 such &#8220;rules&#8221;, listed below:</p>

<ol>
<li>If it doesn&#8217;t scale, it will get stale.</li>
<li>Waste what&#8217;s abundant to make up for what&#8217;s scarce.</li>
<li>When in doubt, get horizontal.</li>
<li>Intelligence moves out to the edge of the network.</li>
<li>Wealth comes from productivity; everything else is gravy.</li>
<li>Adapt to humans; don&#8217;t make them adapt to you.</li>
<li>Be soylent&#8211;eat people.</li>
<li>Markets make better decisions than managers.</li>
<li>Embrace exceptionalism.</li>
<li>Be a market entrepreneur and attack political entrepreneurs.</li>
<li>Use zero marginal cost to create a flood (or someone else will).</li>
<li>Create your own scarcity with a virtual pipe.</li>
</ol>

<p>Although they&#8217;re called rules, I find it more accurate to think of them as &#8220;themes&#8221; that Kessler explores in some detail. Each theme isolates and expands upon each aspect of the &#8220;increasing productivity creates wealth&#8221; formula in a somewhat roundabout but entertaining fashion, and with focused reading I&#8217;ve come to an understanding of economic forces that I didn&#8217;t have before. Here are my impressions of a few of the sections:</p>

<p><strong>1. IF IT DOESN&#8217;T SCALE, IT WILL GET STALE</strong></p>

<p>The basic premise: if you create an abundance through ever-increasing volume and ever-decreasing price for a market with a bottomless apetite, you have something that is scalable. And scalable is good, because that abundance can be used by others in their own value-creation endeavor, creating a massive wave of innovation. For example, computer memory used to be very expensive and used quite sparingly. Now, it&#8217;s abundant, and has been incorporated in lots of devices because it&#8217;s cheap. If it had remained expensive, you could argue that the rate of innovation in electronics would have stagnated and not benefited as many people. And, if you are the supplier of abundant cheap value, Kessler suggests, you can make a fortune.</p>

<p><strong>2. WASTE WHAT&#8217;S ABUNDANT TO MAKE UP FOR WHAT&#8217;S SCARCE</strong></p>

<p>Continuing from the previous chapter, Kessler notes that every economic era has been characterized by a &#8220;canonical abundance, marked by the plummeting price of a key factor of production.&#8221; In other words, when a product like steel became cheap enough, durable railroad tracks could be built from it compared to brittle cast iron.</p>

<p>The real trick is to convert what is abundant (and therefore cheap) into the scarce things that you really want. The chief scarcities, which Kessler passes to us via his buddy George Gilder, are human ingenuity and time. If you can convert abundance of steel into time saved, you&#8217;ve got it&#8230;think faster locomotives and steel railroads. Or converting computational power into a replacement for human ingenuity, as software does. And that is what people will pay for.</p>

<p><strong>5. WEALTH COMES FROM PRODUCTIVITY; EVERYTHING ELSE IS GRAVY</strong></p>

<p>Kessler notes a study that proclaims that productivity is the &#8220;single-most determinant of a country&#8217;s standard of living&#8221;. This isn&#8217;t the same as profits, mind you. It&#8217;s about how much more you&#8217;re making. In other words, what you can do to increase productivity. If you can create something that allows people to do more in any fashion, you&#8217;ve contributed the ability to create more wealth.</p>

<p>This chapter is notable for its discussion of money and how it works. After a bit of puzzling it out, I was able to finally piece together an understanding of how the U.S. Federal Reserve system works:</p>

<ol>
<li>Banks borrow their money supply from the Fed at a low interest rate in exchange for regulation. This cheap money from the Fed can be loaned out to businesses at much higher interest rates, ensuring that the banks can profit. </li>
<li>Banks loan out as much of that money as they dare to businesses who need it to grow.</li>
<li>Businesses use their loans to hire people and purchase capital goods so they can make stuff and profit. </li>
<li>The money spent trickles into the rest of the economy.</li>
</ol>

<p>The interesting part to me is that the money supply needs to be carefully matched to the actual amount of wealth (in terms of tangible goods/services) that is available. The Federal Reserve controls this supply through working with the banks, who are the entities that actually loan money to business so they in turn can profit by marking up the interest rates from the Fed.</p>

<p>If the Fed makes too much money available to the banks, they may loan too much and flood the market with cheap money. This leads to more money vying for the same amount of available goods/services. Since the amount of goods/services available hasn&#8217;t increased, prices go up. And when prices go up, that means everyone&#8217;s buying power goes down. Kessler makes some interesting side comments about how the Fed made too much money available prior to the year 2000 just in case all the world&#8217;s computers crashed; the extra money in the system had to be absorbed somehow and was channeled into bad investments which helped screw up our economy.</p>

<p>But I digress. This chapter is about how productivity is everything, and Kessler makes several observations on how efficiency and effectiveness affect the formula. His definition for productivity, which I think belongs on a coffee mug, is this:</p>

<p>&gt; <strong>Productivity is doing the right things while doing things right.</strong></p>

<p>He&#8217;s got more to say about sustainability (the signal of the ending of abundance) and how productivity has a limited shelf life as well.</p>

<p><strong>7. BE SOYLENT&#8211;EAT PEOPLE</strong></p>

<p>The short of it: If you can come up with a way to eliminates the need for people, you have found another way to create abundance, scale, and increase productivity. It&#8217;s harsh, but viewed through the strict lens of Kessler&#8217;s definition of productivity, it works.</p>

<p>Basically, anyone who is not creating improvements in productivity are potential targets for job elimination. Using myself as an example, consider graphic design. A graphic designer is necessary if you want to create a corporate identity for your business, because they have the skills and training to do the work and you do not. However, if you can replace the graphic designer with a process or product that provides the SAME level of value you seek at lower cost, you&#8217;ve have the opportunity to make a lot of money. The catch here, of course, is the determination of &#8220;value&#8221;. In graphic design, a talented human designer is going to better at creating value than a clip-art package or contest-based design site like 99designs.com. For some people, the value is worth paying a premium. For others with a lower standard of aesthetics, the clip-art identity is all they need. If you could come up with a way to deliver guaranteed value at a lower cost, you have found something that represents an opportunity to profit.</p>

<p>The argument can be understood further by looking at jobs that have already been eaten. For example, there are fewer bank tellers now because of ubiquitous Automatic Teller Machines (ATMs). Banks were able to make cash available to us through these machines 24 hours a day and in multiple locations, which saves us time while saving the bank money. Jobs were lost, but time was saved and profits were gained.</p>

<p>So how do you find these opportunities to eliminate people? Kessler has a fascinating hierarchy of usefulness based on the view that increasing productivity is the highest virtue. First, he splits people into two job categories; those people who work to increase productivity are at the top of the utility pyramid and are labeled CREATORS. Everyone else is providing a service of some kind, and are labeled SERVERS.</p>

<p>A <strong>creator</strong>, in Kessler&#8217;s nomenclature, is someone who increases productivity, which is what ultimately creates wealth. The more people doing this, the better. <strong>Servers</strong>, by comparison, serve the people who generate the wealth. They can make decent money, as lawyers and doctors are in the server camp. Also included are cashiers, designers, plumbers, carpenters, and so on.</p>

<p>Kessler goes on to describe several subclasses of server who are actually produce no value at all, but just take it out of the system. They add cost to the system and, in Kessler&#8217;s eyes, have not merit. Politicians he holds in particularly vile regard. They all have fun named like &#8220;Slopper&#8221; and &#8220;Slimer&#8221;. Free Radicals are crusaders against those people, who suck value out of the system to pad their own pockets at our expense. They charge tolls, raise fees, and slow down innovation. The fewer of them, the better. Eat their jobs.</p>

<p>But shouldn&#8217;t we feel bad about destroying jobs? Kessler notes, &#8220;in a world where all we do is wash each other&#8217;s cars, no wealth would be created.&#8221; If you can get rid of humans, you probably have found a way of increasing productivity, as awful as that sounds. Every job is fair game in the information economy. If you could get your car registration renewed without going to the Department of Motor Vehicles, instantly, would you do it? You&#8217;ve cost a DMV employee his job because you wanted to save a few minutes. However, Kessler believes, over the long term that displaced worker will find a better job. We would all be, as Keller says, &#8220;picking artichokes for a living&#8221; if progress didn&#8217;t continuously move society as a whole forward.</p>

<p>It&#8217;s an interesting argument.</p>

<h2>The Remaining Rules</h2>

<p>Kessler&#8217;s set of rules/themes provide further insights into the mechanisms that a Free Radical are ready to apply. I found them all interesting, though to understand some of the concepts I had to draw on prior knowledge and be on the watch for critical distinctions. Take rule #8: &#8220;Markets make better decisions than managers&#8221;. The chapter really is talking about the generic idea of a market, not &#8220;The Stock Market&#8221;, yet it leads with a description of stock market operations. It&#8217;s a fascinating discussion, but you have to remember what Kessler&#8217;s point is at the end of the chapter: markets can help discover price. The followup examples, however, are few.</p>

<p>Although I found the structure of the book to be more conversational than rigorous, it&#8217;s also thought-provoking in the way that an article in WIRED helps me connect disparate ideas together in unexpected ways. For example, Kessler&#8217;s dip into a four-characteristic model of human intelligence (Rule #9: &#8220;Embrace Exceptionalism&#8221;) has given me a new view of my own cognitive abilities. The related discussion of <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Griggs_v._Duke_Power_Co.">Griggs v. Duke Power Co</a> describes how companies have to use colleges as a workaround to screen for general intelligence, because the direct use of general aptitude tests is a violation of civil rights law. I find tidbits like that fascinating, and <em>Eat People</em> has its fair share of them.</p>

<h2>What of Morality?</h2>

<p>Increasing productivity in the way that Kessler champions has the side effect of eliminating entire industries, which creates uncertainty for the people whose livelihoods are linked to them through no fault of their own. There are a lot of people, whose goals are to have a steady job so they can raise a family and be part of a community they love. The Free Radicals create wealth is created, sure, and our standard of living slowly increases from decade to decade. But this is not much of a consolation prize to the people who bear the brunt of the change.</p>

<p>Kessler is not ignorant of this, and the last chapter of <em>Eat People</em> takes the time to discuss the moral implications. For example, are profits inherently greedy? Kessler sidesteps the issue a bit by putting his emphasis on the creation of wealth as an <em>altruistic</em> initiative, raising everyone&#8217;s standard of living and creating the future. In the journey to a better tomorrow, many of us will experience turbulence.</p>

<h2>Concluding Thoughts</h2>

<p>As I&#8217;m not an expert in business or business books, I can&#8217;t say that <em>Eat People</em> is a great book. For all I know, this is stuff that&#8217;s been hashed and rehashed before. However, as an artistically-inclined engineer-designer that&#8217;s trying to figure out just how business people think, I found the book quite thought-provoking. And I can agree with a lot of Kessler&#8217;s underlying philosophy, because I also place value on the ability to create and innovate. Personally, I see merit in growing the economic pie for everyone, and I am disgusted by people who only take without adding value. Perhaps I am just cynical enough to believe that it&#8217;s profit that ultimately is the last word in motivation, measured not only in dollars but also in security, power, and self-satisfaction.</p>

<p>I&#8217;ve gotten a little taste of how the larger world of economics, business growrth, and markets work from the context of being an innovative creator / Free Radical. I find the idea very exciting.</p>

<p>On a final note, <em>Eat People</em> isn&#8217;t a how-to book. It doesn&#8217;t provide a rigid set of steps that will help you put together your business plan and execute your way toward radical entrepreneurship. That&#8217;s up to you to figure it out: the book merely tries to open our eyes to new patterns. I would classify it as a book of observations from a guy who has spent quite a bit of time looking at a certain kind of business in an analyst role. Kessler himself notes that what he&#8217;s talking about here won&#8217;t help you if you are &#8220;milking an existing business&#8221; for profit, and there are plenty of other ways of making money, and plenty of other books that will show you how to run an enterprise. <em>Eat People</em> is a book that distills Kessler&#8217;s own passion for a certain kind of entrepreneurship. The twelve rules/principles (thirteen if you include the bonus rule) could save these entrepreneurs much time, helping them recognize the economic waves as they develop. The independent-minded, free-thinking creator is then in the position to harness those waves to success.</p>

<h2>Information</h2>

<p><em>Eat People (and Other Unapologetic Rules for Game-Changing Entrepreneurs)</em><br />
by Andy Kessler<br />
ISBN  978-1591843771<br />
Published Feb 3, 2011 by <a rel="nofollow" target="_blank" href="http://us.penguingroup.com/nf/Book/BookDisplay/0,,9781591843771,00.html?Eat_People_Andy_Kessler">PORTFOLIO / PENGUIN</a><br />
256 pages.</p>

<p>Final Word: I find myself thinking about the concepts presented in this book frequently, not only for business ideas but for <em>story</em> ideas. I found it a fascinating launching point for further investigation of many topics of interest to me, from market psychology to cognitive science to the history of industry.</p>

<p>Available at <a rel="nofollow" target="_blank" href="http://www.amazon.com/Eat-People-Unapologetic-Game-Changing-Entrepreneurs/dp/1591843774">Amazon.com</a>.</p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Reading/~4/7BTVjqi15Bc" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/BRKPY8WbITc" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Reading/~3/7BTVjqi15Bc/</feedburner:origLink></item>
      <item>
         <title>Installing Mercurial</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/ECXepO2WaNs/</link>
         <description>It&amp;#8217;s been a while since I&amp;#8217;ve posted in the Agenceum blog, but I&amp;#8217;m now actively building new infrastructure and this is the place to post it. Currently on the plate: using a different revision control system&amp;#8230;Mercurial! The reason for switching to Mercurial from Subversion (SVN) was that I actually lost the old repo when moving [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=262</guid>
         <pubDate>Wed, 16 Mar 2011 06:22:48 +0000</pubDate>
         <content:encoded><![CDATA[<p>It&#8217;s been a while since I&#8217;ve posted in the Agenceum blog, but I&#8217;m now actively building new infrastructure and this is the place to post it.</p>

<p>Currently on the plate: using a different revision control system&#8230;Mercurial! The reason for switching to Mercurial from Subversion (SVN) was that I actually lost the old repo when moving servers; it was one of the services that didn&#8217;t automatically transfer. I have backups of everything in it, but I figure&#8230;why not start anew with the latest? Mercurial is a &#8220;distributed revision control system&#8221;, as opposed to Subversion which uses a central repo. The advantage is that Mercurial maintains a complete history of the repository, quite compactly, on each computer. You have multiple backups. You can designate one repo as the &#8220;central one&#8221;.</p>

<p>I was having some trouble getting my head wrapped around the differences until I came across Joel Spolsky&#8217;s <a rel="nofollow" class="vt-p" target="_blank" href="http://hginit.com">HGInit</a> website. Spolsky is one of the clearest writers on programming topics today, and thanks to this single link it all is starting to make sense.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/ECXepO2WaNs" height="1" width="1"/>]]></content:encoded>
         <category>Process</category>
      <feedburner:origLink>http://davidseah.com/agenceum/2011/03/installing-mercurial/</feedburner:origLink></item>
      <item>
         <title>Review: The Personal MBA by Josh Kaufman</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/0kuYtTG-QQ0/</link>
         <description>I&amp;#8217;m a reluctant business person. While I&amp;#8217;ve had the notion that I could somehow parlay my interest in making/writing into some kind of sustainable lifestyle, it&amp;#8217;s only recently that I&amp;#8217;ve even started to think about this in business terms. It&amp;#8217;s perhaps not that surprising since I&amp;#8217;m a preacher&amp;#8217;s kid, and I grew up in an [...]</description>
         <guid isPermaLink="false">http://davidseah.net/learning/?p=1</guid>
         <pubDate>Thu, 17 Feb 2011 17:37:31 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/578-0214-pmba.jpg" width="578" height="433"/><br /></p>

<p>I&#8217;m a reluctant business person. While I&#8217;ve had the notion that I could somehow parlay my interest in making/writing into some kind of sustainable lifestyle, it&#8217;s only recently that I&#8217;ve even started to <em>think</em> about this in business terms. It&#8217;s perhaps not that surprising since I&#8217;m a preacher&#8217;s kid, and I grew up in an environment where discussion about enriching one&#8217;s self was not a topic of discussion. Those idyllic times are long past, and today I&#8217;m <em>very interested</em> in making money, because I&#8217;d like to have the freedom to do what I want in the greater context of achieving personal excellence.</p>

<p>My review copy of Josh Kaufman&#8217;s <em><a rel="nofollow" target="_blank" href="http://personalmba.com/">The Personal MBA</a></em> arrived at just the right time. For the bulk of 2010, I&#8217;ve just been getting used to the idea of being a business entity. To give myself some structure, I took a pass at <a rel="nofollow" target="_blank" href="http://davidseah.com/2010/01/design-agency-process-diagram/">outlining agency processes</a> and <a rel="nofollow" target="_blank" href="http://davidseah.com/2009/10/world-domination-101-03-master-vantage-point/">drawing maps of my overarching goals</a>, but I must admit that I was still feeling a little lost. Happily, <em>The Personal MBA</em> is the much-needed atlas of the business world that I needed, and it&#8217;s helping me understand what I&#8217;m up against with greater clarity.
<hr id="more-7" class="more-separator"/></p>

<h2>A Useful Compendium of Mental Models</h2>

<p>I&#8217;m the kind of learner that likes to see the entire landscape of a subject laid lushly before me, and while I like a good story to go with it, I like a good systems breakdown even better. Unlike a lot of business books that have been artfully larded with credibility-boosting anecdotes, <em>The Personal MBA</em> (TPMBA) is as systematically-succinct as books come. Upon opening the book, I got the same feeling I used to get from <a rel="nofollow" target="_blank" href="http://technic.lego.com/">Lego&reg; technical sets</a>, drooling at the sight of dozens of neatly-molded parts awaiting my creative ministrations. Even as a child, I sensed that while there were untold hundreds of ways the pieces <em>could</em> fit together, there was also an underlying logical structure that had to be obeyed. Failure to grasp this properly, I intuited, would result in a less-than-optimal design. The PMBA likewise has the same potential and constraint, as it is comprised of over two hundred tantalizing business concepts that <em>could</em> form the backbone of a sound business education. With mindful practice and study, a elegant solution to my business challenges seems more surely within my grasp.</p>

<p>The PMBA does not present concepts as &#8220;recipes for success&#8221;. Instead of parroting the worn case studies and tired management methodologies that seem so common in this category, Kaufman has instead focused on synthesizing the most <strong>accurate mental models</strong> he could find, and puts them forth within a test-and-confirm methodology that will help you extract the most from them. As an added bonus, <em>The Personal MBA</em> is also a book about being productive, which includes caring for yourself and your people while striving for continuing excellence; there&#8217;s a bit of Kaufman&#8217;s own world view in there, I think, but it&#8217;s one that I find highly compatible with my own.</p>

<h2>A Manifesto for Personal Education</h2>

<p>You may already be familiar with the original website from which <em>The Personal MBA</em> was born. It&#8217;s particularly famous for its manifesto: <a rel="nofollow" target="_blank" href="http://personalmba.com/manifesto/">the business school MBA is a waste of money</a>&#8230;if you want to just <em>learn</em> about business. Paraphrasing loosely, an MBA <a rel="nofollow" target="_blank" href="http://www.aomonline.org/Publications/Articles/BSchools.asp">does not guarantee success in the slightest</a>, and according to Kaufman it has but one use: an MBA from a top school is a prerequisite for gaining entrance to the upper echelons of the Fortune 50. The price of admission: about US$250,000.00. Why mortgage your future when you can learn the same principles for a lot less money? From Kaufman&#8217;s perspective, paying out that much money in terms of tuition, room &amp; board, and opportunity cost just doesn&#8217;t make economic sense.</p>

<p>The PMBA makes some interesting arguments about why business schools persist: the very top schools pre-selects students that are <em>already</em> likely to be successful, while lesser schools trade on the fear and uncertainty that the MBA is <em>the</em> necessary feather to have in one&#8217;s cap to succeed. I&#8217;ve seen this attitude occasionally in the fine arts too; having an MFA doesn&#8217;t mean your work is any better post-degree than if it was before (and yes, I have an MFA). There is perhaps one additional advantage of having an advanced degree, and that&#8217;s the experience you had meeting all those other smart people and faculty in your class, who shaped and influenced you into the person you are today. That said, it&#8217;s an <strong>expensive</strong> proposition. If all you really want to know is <em>how</em> to run a successful business from soup to nuts, you don&#8217;t need the degree. You&#8217;ll miss out on the other shaping influences and opportunities, but really you just need to have good resources and the drive to use them. You need to practice and practice and practice, be smart about your time, and constantly iterate your work until it stands out from the background noise of mediocrity.</p>

<p>The book offers quite a lot more discussion about the relative merits of saving your money and studying business on your own, but I&#8217;m not that interested in the debate. I&#8217;m just here for the information.</p>

<h2>Book Organization</h2>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0214-pmba-2.jpg" width="570" height="380"/><br /></p>

<p><em>The Personal MBA</em> is comprised of 226 concepts that Kaufman has selected from his analysis of the &#8220;thousands of business books&#8221; he&#8217;s studied over the past five years. Each successive concept builds upon earlier ones, starting with simple definitions of business and then expanding to include supporting concepts. Each concept is presented in one or two pages, and can be read stand-alone. Related business concepts are displayed in bold within the text, so you can go look them up later. At the end of each entry is a link to the corresponding entry on the Personal MBA website, so you can share the link with your friends. It&#8217;s very cool, allowing both linear reading and random browsing of the material.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0214-pmba-1.jpg" width="174" height="116" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
I started reading from the very beginning of the book to the end, taking about two days to power through it. Afterwards, I went back to the beginning and made an Excel spreadsheet of all the chapters titles so I could test my knowledge retention. I found myself thinking of the book as being divided into three &#8220;chapter groups&#8221;, with each chapter also being dividable into subgroups of related concepts.</p>

<p>The book overall is divided into 12 chapters. Chapter 1 introduces the history and reasoning behind the Personal MBA concept, whose manifesto I alluded to earlier. Chapters 2-6 are the nuts and bolts, covering the &#8220;five essential parts of business&#8221;. Chapters 7-9 cover the psychological aspects of people, productivity, and leadership in the context of business. Chapters 10-12 are about systems; as business is defined as a <em>repeatable</em> process that produces profit, systems thinking becomes quite handy.</p>

<h2>Essential Parts of Every Business</h2>

<p>Kaufman doesn&#8217;t presume you know anything about business, which is a good way to reset our own assumptions coming into the material. Chapters 2-6, &#8220;The Five Parts of Every Business&#8221; break down as follows:</p>

<ul>
<li><strong>2. Value Creation</strong> &#8211; The concepts that allow you to identify and create things of value for a market big enough to support a business.</li>
<li><strong>3. Marketing</strong> &#8211; The concepts that help you connect the value you&#8217;ve created with the people who want to buy it.</li>
<li><strong>4. Sales</strong> &#8211; Convincing people to do business with you, and the interesting trickery you can employ to prevent your prospects from choosing the &#8220;next best alternative&#8221;.</li>
<li><strong>5. Value delivery</strong> &#8211; The system of creation and fulfillment of your business offerings, effectively and efficiently.</li>
<li><strong>6. Finance</strong> &#8211; So you can make a profit and see new opportunities while avoiding bad situations. On purpose!</li>
</ul>

<p>The flow of each chapter is similar, starting with basic common-sense definitions and then building the more inter-dependent conceptual models on top of them. I&#8217;ve been thinking of the mix as &#8220;foundation concepts&#8221;, &#8220;distinctions&#8221;, &#8220;sanity checks&#8221;, and &#8220;practical questions&#8221;. As an example, there are quite a number of concepts covered in the Value Creation chapter of the book; here&#8217;s the list with my annotations, tagged by my interpretation of each article&#8217;s intent and the subgroup I&#8217;ve placed them:</p>

<p>(Core Business Concepts)</p>

<ul>
<li>The Five Parts of Every Business &#8211; foundation</li>
<li>Economically Valuable Skills &#8211; distinction</li>
<li>The Iron Law of the Market &#8211; sanity check</li>
<li>Core Human Drives &#8211; foundation</li>
<li>Ten Ways to Evaluate a Market &#8211; practical</li>
<li>The Hidden Benefits of Competition &#8211; psychology</li>
<li>The Mercenary Rule &#8211; sanity check</li>
<li>The Crusader Rule &#8211; sanity check</li>
</ul>

<p>(Understanding and Manipulating Value)</p>

<ul>
<li>Twelve Standard Forms of Value &#8211; foundation</li>
<li>Perceived Value &#8211; psychology</li>
<li>Modularity &#8211; practical</li>
<li>Bundling and Unbundling &#8211; practical</li>
</ul>

<p>(Systematically Creating Value)</p>

<ul>
<li>Prototype &#8211; foundation</li>
<li>The Iteration Cycle &#8211; foundation</li>
<li>Iteration Velocity &#8211; foundation</li>
<li>Feedback &#8211; foundation</li>
</ul>

<p>(Ensuring the Market Exists)</p>

<ul>
<li>Alternatives &#8211; sanity check</li>
<li>Trade-offs &#8211; sanity check</li>
<li>Economic Values &#8211; sanity check </li>
<li>Relative Importance Testing &#8211; sanity check</li>
<li>Critically Important Assumptions (CIAs) &#8211; sanity check</li>
<li>Shadow Testing &#8211; practical</li>
<li>Minimum Economically Viable Offer (MEVO) &#8211; practical</li>
<li>Incremental Augmentation &#8211; practical</li>
<li>Field Testing &#8211; practical</li>
</ul>

<p>It all flows together marvelously, without muddying the distinction between individual concepts. A lesser book might have introduced a jumble of concepts as definitions, then muddied the meaning of them with misleadingly simplistic narratives about &#8220;Sally&#8217;s Dry Cleaning&#8221; or &#8220;Tony&#8217;s Lemonade Stand&#8221;. TPMBA also manages to avoid the trouble that many jargon-heavy books have with &#8220;forward references&#8221;, which is the bad practice of explaining what you&#8217;re doing now using concepts you haven&#8217;t yet explained. While TPMBA can&#8217;t avoid it entirely, it does a good job of using forward references in a contextual way so you don&#8217;t get hung up wondering what it means. Kaufman is also conscientious in his noting whether a concept hasn&#8217;t yet been covered. I approve heartily. Programmers with an appreciation for software design would appreciate this book; it reminds me of good API documentation. It flows well.</p>

<p>The other four chapters cover the rest of the business basics, and are similarly organized: core concepts supported by sanity checks, practical questioning, and psychological insight. If all you read were the first 6 chapters of the book, you&#8217;ll have a pretty good foundation for understanding the parts of your business operation.</p>

<h2>Psychology of Business</h2>

<p>As I alluded to earlier, these are three chapters, <em>The Human Mind</em>, <em>Working With Yourself</em>, and <em>Working with Others</em> that I didn&#8217;t expect to find in this book. In each of these chapters you&#8217;ll find an excellent distillation of the models that drive <em>people</em>, which are the primary drivers of any business because they&#8217;re the part that has the money!</p>

<ul>
<li><p><strong>7. The Human Mind</strong> &#8211; This chapter describe how people react and behave to the world around them, from a cognitive and behavioral perspective. If you&#8217;ve read and enjoyed books like <em>Freakonomics</em> and <em>Stumbling On Happiness</em>, you&#8217;ll probably like this chapter too; the concepts here are a good general roadmap of our blind spots and unthinking reflexes. HANDY.</p></li>
<li><p><strong>8. Working With Yourself</strong> &#8211; A reflective look at the models that impact our own productivity. It&#8217;s a nice mini-book in itself, covering the concepts that drive contemporary productivity writing. It&#8217;s a useful reference for my own writing, with useful citations. While it doesn&#8217;t describe a specific methodology for being more productive, Kaufman sprinkles his own experiences throughout the chapters as examples.</p></li>
<li><p><strong>9. Working With Others</strong> &#8211; This section covers mental models related to leadership and management. If you can absorb the concepts here, you&#8217;ll be the enlightened leader that brings people to maximum productivity through the power of influence and genuine humanity. The collection of concepts here are fascinating to anyone interested in organizational dynamics, logical fallacies, and leadership through influence rather than force.</p></li>
</ul>

<h2>Systems</h2>

<p>The final chapters of the book are an introduction to systems thinking, as applied to business. I feel this is an topic that will appeal to people who are already systems thinkers; I&#8217;m not sure it will make sense to people who are not system thinkers. I could see this being very confusing; if there was a part of the book that needed a diagram backed by a great physical metaphor, this is the place for it.</p>

<ul>
<li><p><strong>10. Understanding Systems</strong> is a general overview of systems concepts, as related to modeling your business as a bunch of interconnected subsystems. The last two parts on <em>Second-Order Effects</em> and <em>Normal Accidents</em> I found entertaining, as these are about the unpredictable events that systems inevitably have to survive. Do you like building sandcastles on the beach to see if they can survive the onslaught of a rising tide? This section is for you.</p></li>
<li><p><strong>11. Analyzing Systems</strong> provides some general techniques for measuring the performance of a system, how to slice and dice the data to extract useful results, with a reminder that all that data represents real human lives.</p></li>
<li><p><strong>12. Improving Systems</strong> discusses the concepts related to optimizing and automating an existing system, with the sanity checks that go with it.</p></li>
</ul>

<p>There&#8217;s a lot more that can be said about systems thinking, and these chapters really just scratch the surface. However, it&#8217;s a pretty good introduction to the <em>idea</em> that there is such a thing as systems thinking, and that it&#8217;s useful to be aware of the fundamental mechanisms (e.g. feedback loops) that drive them. For some readers, it will be quite the revelation.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0214-pmba-3.jpg" width="570" height="380"/><br /></p>

<p><br style="clear:both;"/></p>

<h2>Overall Thoughts</h2>

<p>My impression is that <em>The Personal MBA</em> presents a model on business that has been meticulously constructed from common sense and real relationships with customers. It&#8217;s built from Kaufman&#8217;s study and filtered through his notion of what makes sense for a business, and this is where the book&#8217;s sense of authority comes from. If you are the type of person who bases action on your own thinking rather than blindly following what other people are telling you to do, you&#8217;ll probably find that this book speaks your language. If you are the sort of person who likes to see a big map of business from 10,000 feet up and then drill-down to see how the individual parts work together so you understand <em>HOW</em> it all fits, you&#8217;ll probably <em>love</em> this book. I certainly do. This book has already saved me quite a bit of time. It contains a critical mass of material for me to think productively about my business, and it&#8217;s even indexed and hyperlinked for my convenience. Should I need to investigate a particular topic in more depth, Kaufman recommends the business books that he found most useful for each and every part of the book.</p>

<p>Although I didn&#8217;t find the book overwhelming, I can imagine that my artist friends would shrivel up and die on just the first chapter; they are not inherently interested in the patterns and principles that drive business. I&#8217;ll let you know what happens. Kaufman does recommend that you feel free to jump around and just read sections randomly, not trying to read it all at once. I think there&#8217;s value in that approach; I certainly enjoy picking it up and browsing through it to see what ideas it sparks.</p>

<p>I should again mention that while I find this book comprehensive in its mapping of business knowledge, it&#8217;s not the kind of book that will walk you through the steps of making the real decisions about how to run your business. Instead, TPMBA gives you the ability, as Kaufman says, <strong>to ask the right questions.</strong> The reflection needed answer those questions, as well as the intelligence you need to synthesize your solutions, will have to come from you. There are a few exercises spread throughout the book that will help you, for example, determine whether a particular idea has a sustainable market size, but it&#8217;s not a workbook. I imagine that these supporting materials are or will be available on <a rel="nofollow" target="_blank" href="http://personalmba.com">The Personal MBA Website</a>, and indeed I see it has a growing and active reference and course section.</p>

<p>If anything, <em>The Personal MBA</em> is an excellent foundational book on which you can base your business studies. It&#8217;s  a clearly organized and lucid text that helps you internalize the kind of thinking that will lead to business success. I have a sneaking suspicion that quite a few of the principles in the PMBA could be applied to other fields, but that&#8217;s a post for another day.</p>

<p><strong>Recommended!</strong></p>

<p><em>Disclosure: My own <a rel="nofollow" target="_blank" href="http://davidseah.com/pceo/etp">Emergent Task Planner</a> is mentioned in one of the chapters as a tool Kaufman uses. Which is awesome! :)</em></p>

<h2>Information</h2>

<p><em>The Personal MBA</em> by Josh Kaufman<br />
ISBN 978-1-59184-352-8<br />
Published December 31, 2010
by PORTFOLIO / PENGUIN<br />
402 pages.</p>

<p>Available at <a rel="nofollow" target="_blank" href="http://book.personalmba.com/">http://book.personalmba.com/</a></p>
<img src="http://feeds.feedburner.com/~r/DavidSeah/Reading/~4/1i-_qDBsaF4" height="1" width="1"/><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/0kuYtTG-QQ0" height="1" width="1"/>]]></content:encoded>
      <feedburner:origLink>http://feedproxy.google.com/~r/DavidSeah/Reading/~3/1i-_qDBsaF4/</feedburner:origLink></item>
      <item>
         <title>Takeya Glass Water Bottles</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/PeTw8B3BpM8/</link>
         <description>I&amp;#8217;ve been wanting to hydrate more frequently, but face a personal hangup: I hate the taste of water that has been sitting in a plastic container. And I also have issues with water from metal bottles; apparently I am one of a small percentage of people who can taste stainless steel. So, I&amp;#8217;ve been looking [...]</description>
         <guid isPermaLink="false">http://davidseah.net/gear/?p=17</guid>
         <pubDate>Thu, 10 Feb 2011 23:37:04 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0207-takeya01.jpg" width="570" height="427"/><br /></p>

<p>I&#8217;ve been wanting to hydrate more frequently, but face a personal hangup: I hate the taste of water that has been sitting in a plastic container. And I also have issues with water from metal bottles; apparently I am one of a small percentage of people who can taste stainless steel. So, I&#8217;ve been looking for a stylish glass water bottle that transports well and is relatively tough.  <hr id="more-17" class="more-separator"/></p>

<p>There are a few options for toughened glass. I was looking at the heat-tempered products from <a rel="nofollow" target="_blank" href="http://www.hercuglass.com/index.php?main_page=product_info&amp;cPath=37&amp;products_id=84">Hercuglass</a> and <a rel="nofollow" target="_blank" href="http://www.lifefactory.com/adults.html?gclid=CIK0oPXM_qYCFcVe7AodhUxVcg">LifeFactory</a>, but I happened to stumble upon the <a rel="nofollow" target="_blank" href="http://www.takeyausa.com/products/glass-water-bottles/modern-glass-water-bottle.html">Takeya Modern Glass Water Bottles</a> and liked the overall feel of the design. However, I wasn&#8217;t sure if I would like the screw-on cap; it was difficult to get a sense of what the cap was like from the photos I&#8217;ve been able to see online, so I tabled my search for a while.</p>

<h2>Starbucks Ice Green Glass Water Bottle</h2>

<p>One day at Starbucks, I caught glimpse of a rebrand of Takeya&#8217;s  Modern Water Bottle with a different cap. It&#8217;s called the <a rel="nofollow" target="_blank" href="http://www.starbucksstore.com/products/shprodde.asp?SKU=328676">Ice Green Glass Water Bottle from Starbucks Coffee</a>, and is available from their online store and retail locations. Cost: Around US$16.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0207-takeya02.jpg" width="570" height="427"/><br /></p>

<p>The bottle and protective silicone covering is the same as the one on the Takeya Modern Glass Water Bottle (if you look on the bottom of the bottle, you can even see the Takeya imprint on the glass). Instead of a twist-off cap, the Starbucks version has a pop-up cap which allows you to take a gulp of water more quickly: just press the release button, and the top-half of the cap pops up. The construction of this cap is pretty solid, though I can see it breaking if dropped or stressed too much. However, for my home use, it&#8217;s perfectly fine and a great deal more convenient than a twist-off cap. It has rubber or silicone seals on the inside, and the width of the mouth is about two inches. If you are a practiced drinker of ice tea from Snapple-style bottles, you probably won&#8217;t have any problem with it. It would be more difficult to manage in a car while driving, though.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/570-0207-takeya03.jpg" width="570" height="427"/><br /></p>

<p><br style="clear:both;"/></p>

<h2>Takeya Modern Glass Water Bottle</h2>

<p>I also ordered the <a rel="nofollow" target="_blank" href="http://www.takeyausa.com/products/glass-water-bottles/modern-glass-water-bottle.html">Takeya Modern Glass Water Bottle</a> through Amazon. My justification was that with TWO bottles, I would have 32 oz of water to go through a day, twice, for the target 64oz a day that one is supposed to drink. But really, I just wanted the other color <img src='http://davidseah.com/gear/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley'/> </p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0207-takeya04.jpg" width="174" height="130" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0207-takeya05.jpg" width="174" height="130" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/>
<img src="http://davidseah.com/_wpcontent/imgcache/images/11/174-0207-takeya06.jpg" width="174" height="130" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/></p>

<p>The cap on the Takeya Modern Glass Water Bottle is a screw-top, and it&#8217;s a rugged piece of plastic. It&#8217;s BPA-free, of course. It takes longer to unscrew than to pop the top on the Starbucks bottle, but if you&#8217;re not in a hurry it&#8217;s just fine.</p>

<hr />

<p>Both bottles are serving their purpose in helping me drink more water. I love that the glass imparts no plastic or metallic taste to the water. While it&#8217;s not as durable as plastic or stainless steel, the glass is at least protected by the silicone sleeve, which absorbs shocks. It&#8217;s approximately 1.5mm thick and is considerably thicker on the bottom to absorb shock.</p>

<p>These glass bottles are for use only with cold beverages. For hot beverages, you&#8217;d need something made out of <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Borosilicate_glass">borosilicate glass</a> or something with similar thermal properties.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/PeTw8B3BpM8" height="1" width="1"/>]]></content:encoded>
         <category>Containers</category>
      <feedburner:origLink>http://davidseah.com/gear/2011/02/takeya-glass-water-bottles/</feedburner:origLink></item>
      <item>
         <title>Be.ez LEvertigo 17</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/f7v9K8jGqu8/</link>
         <description>I picked up one of these bags when I was at the Mac-Pro store in San Jose, California, which happens to be the only North American distributor for Be.ez. My Think Tank UD60 was getting awfully full of stuff, and the way I have my bag packed with the Canon EOS 40D makes it difficult [...]</description>
         <guid isPermaLink="false">http://davidseah.net/gear/?p=6</guid>
         <pubDate>Mon, 07 Feb 2011 07:29:10 +0000</pubDate>
         <content:encoded><![CDATA[<p>I picked up one of these bags when I was at the Mac-Pro store in San Jose, California, which happens to be the only North American distributor for Be.ez. My Think Tank UD60 was getting awfully full of stuff, and the way I have my bag packed with the Canon EOS 40D makes it difficult to carry larger paper notebooks. <hr id="more-10" class="more-separator"/></p>

<p>The construction of the bag is sleek and stylish, and it does hold a MacBook Pro 17 very nicely. The fit is snug, to the point where my Speck-encased laptop makes it a little difficult to lock down. There are no external pockets at all, so you need to lift the front flap to access the inner pockets. While the bag doesn&#8217;t hold an incredible amount, you can certainly carry pens, a couple of notebooks, and a fair number of accessories (iPod, charger, small digital camera, cables, etc). The bag is actually wedge shaped, the bottom wider than the top, which allows one to pack in more stuff in the bottom pockets without unsightly bulges.</p>

<p>Functionally speaking, one drawback of this bag is that it has a tendency to lean forward (toward the front flap) when you set it on the ground. It falls over fairly readily. To compensate for this, you just turn it around, but it makes accessing the pockets while at Starbucks slightly awkward. There is no top handle on the bag either, which helps keep the lines clean but makes repositioning slightly awkward because you need to grab the long seatbelt-style shoulder strap. However, on my shoulder the bag is very comfortable and close-fitting because of the vertical briefcase style.</p>

<p>The form factor of this bag is more well suited for traveling light to a meeting. When I need to carry a ton of gear, I use the Think Tank UD60 with backpack straps. I may use the LEvertigo as my permanent day-to-day laptop transportation solution, and keep the UD60 for the digital camera and supplies, but that sort of defeats the purpose of having a single bag that can carry both.</p>

<h4>A few months of use later</h4>

<p>This bag is aging fairly well, though the soft pocket material seems to have developed some very slight wear. I&#8217;m not sure how well the zippers will hold up over time, but they are not under a lot of stress. When I&#8217;m just carrying my laptop, it holds everything I need plus a couple of notebooks for writing in. I think this bag has been replaced by something newer last time I was visiting the sole North American distributor in San Jose, but I haven&#8217;t yet really had a good look at it.</p>

<p>CON: I walked around Campbell, Northern Cal in February 2009, loaded with the 17&#8243; MacBookPro encased in a Speck clear case (it still fits!). The bag&#8217;s fasteners were squeaking very loudly and annoyingly. I am going to try to put some graphite on it to reduce the noise. It appears to be coming from where the loops meet each other; they are a kind of textured metal that are rubbing against each other.</p>

<p>AESTHETIC WEAR: The striping around the edge of the bag is getting worn and ratty-looking. I think it used to be white, but now it&#8217;s gray. In patches.</p>

<p>LINK: <strong><a rel="nofollow" target="_blank" href="http://www.be-ez.com/prod_levertigo17.html">Be.ez LEVertigo 17</a></strong></p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/f7v9K8jGqu8" height="1" width="1"/>]]></content:encoded>
         <category>Containers</category>
      <feedburner:origLink>http://davidseah.com/gear/2011/02/be-ez-levertigo-17/</feedburner:origLink></item>
      <item>
         <title>Think Tank Urban Disguise UD60</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/W2AJqbbpIDU/</link>
         <description>It&amp;#8217;s 16L x 11.25H x 4.25D in internal dimensions, and it fits my 40D carried lens-down. This leaves a 10 x 11.25 x 4.25 in volume next to it for carrying papers and books. The laptop compartment is 16 x 11.25 x 1.5 in, which is plenty of room. Overall dimensions: 16.5 x 12 x [...]</description>
         <guid isPermaLink="false">http://davidseah.net/gear/?p=8</guid>
         <pubDate>Mon, 07 Feb 2011 03:44:32 +0000</pubDate>
         <content:encoded><![CDATA[<p>It&#8217;s 16L x 11.25H x 4.25D in internal dimensions, and it fits my 40D carried lens-down. This leaves a 10 x 11.25 x 4.25 in volume next to it for carrying papers and books. The laptop compartment is 16 x 11.25 x 1.5 in, which is plenty of room. Overall dimensions: 16.5 x 12 x 6 in. <hr id="more-11" class="more-separator"/></p>

<p>This is currently my favorite larger bag. You can see some [photos of the bag][ud60photos] to see how I configured the internal compartment for the Canon EOS40D. I&#8217;ve taken this bag to South by SouthWest (SXSW), carrying around about 25 pounds worth of gear, and have shlepped it between the east and west coasts as carry-on luggage.</p>

<ul>
<li>17&#8243; Mac Book Pro w/ Power Transformer (about 8-9 pounds)</li>
<li>Canon EOS 40-D with EF-S 17-55mm f/2.8 IS USM + Lens Hood (not reversed, either) (around 4 pounds)</li>
<li>Small Fuji FinePix F30d digital camera</li>
<li>Chargers and Media Reader tucked in the sides</li>
<li>Books, Magazines, Pens</li>
</ul>

<p>With the optional backpack strap accessory, walking to and from the convention center (about an 8 minute walk) was not bad at all. Even better: when it rained, I could drape my light windbreaker over the bag to shield it from rain. I could have optionally used the included Rain Shield, which is a waterproof covering you can put around the bag. I&#8217;m not sure how it would work with the shoulder strap though. The back pack attachment is definitely worth it for hands-free carrying of heavy gear.</p>

<h4>Six Month Review</h4>

<p>I&#8217;ve brought the bag with me to San Jose. It fits nicely under the airplane seat, has plenty of pockets. The build of the bag is a little lighter than what I&#8217;m used to, but I&#8217;m pretty happy with it. No tears, no problems, no signs of wear or impending collapse. I&#8217;ve mostly been hauling it around by the shoulder strap (no sign of fraying) in the back of my Volkswagen GTI.</p>

<h4>Nine Month Review</h4>

<p>A few observations with the bag:</p>

<ul>
<li>The padding in the bottom corners of the bag is a little thin, so if you hit a corner <em>just right</em> it can impact the corner of my laptop. This has only happened once at an airport. The Think Tank bag philosophy seems to lean towards more capacity with less padding, and typically I have found this fine in my day-to-day use. Compared to my Briggs &amp; Riley 17&#8243; soft brief, the UD60 is lightly-armored but carries a LOT more, more flexibly. If tend to be careful with your bags, as I am, you probably won&#8217;t have many problems. The outer pockets actually seem to work pretty well as armor with the cables and what not I have in them. </li>
<li>The backpack straps are really useful when running through the airport, but they are a little cumbersome to use when the bag is filled with 25 pounds of gear. They tend to flip inside out while shrugging them on (especially if you are wearing a heavy wool coat), and it can be trying to figure out which way they&#8217;ve flipped to correct the problem. Otherwise, the backpack straps are comfortable once on. I loosen the straps all the way and tighten them once they&#8217;re on my back. If the buckles were a little more oversized it would be more convenient. Also, the backpack straps interfere with the opening of the bag, so you have to detach them from the carrying handle. This is fairly quick, but it&#8217;s one thing that gets in the way. </li>
<li>When fully loaded with laptop + accessories in the pockets, the bag does tend to slowly fall over if I put it on the ground. I may be overstuffing it. </li>
</ul>

<p>Otherwise, I&#8217;m pretty happy with it. The one functional drawback, though, is that with my camera loaded in the bag I don&#8217;t have much room for magazines or regular notebooks. There is one inner pocket that can take a notebook and a few magazines, and the outer pouch can take another one, which I&#8217;m finding merely adequate. I sometimes use the UD60 primarily as a gear bag, and use a Briggs and Riley Vertical Brief for paper + a netbook. Or, I use the LEvertigo 17 for the notebook + accessories, and use the laptop compartment of the UD60 for additional folder storage.</p>

<p>One other note: the shoulder strap that this bag comes with is just AWESOME. I have thought of ordering extra ones for my Briggs and Riley 17&#8243; Computer Brief, which I used to think had a decent shoulder strap but it&#8217;s horrible by comparison.</p>

<p>LINK: <strong><a rel="nofollow" target="_blank" href="http://www.thinktankphoto.com/products/urban-disguise-60-v2.aspx?code=AP-383">ThinkTank Urban Disguise Site</a></strong></p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/W2AJqbbpIDU" height="1" width="1"/>]]></content:encoded>
         <category>Personal Carry</category>
      <feedburner:origLink>http://davidseah.com/gear/2011/02/think-tank-urban-disguise-ud60/</feedburner:origLink></item>
      <item>
         <title>Clover</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/p7iXA8SoRKg/</link>
         <description>Came across Clover Sites while browsing through the advertising service known as The Deck. Clover provides pre-built websites for a flat $1000 plus $20/mo hosting. The templates are quite beautiful and the preview site itself is really wonderfully done. Interestingly, the underlying technology is Flash. The sites are completely built in Flash, including the administration [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=257</guid>
         <pubDate>Mon, 29 Nov 2010 21:28:26 +0000</pubDate>
         <content:encoded><![CDATA[<p>Came across <a rel="nofollow" class="vt-p" target="_blank" href="http://www.cloversites.com">Clover Sites</a> while browsing through the advertising service known as The Deck. Clover provides pre-built websites for a flat $1000 plus $20/mo hosting. The templates are quite beautiful and the preview site itself is really wonderfully done.</p>

<p>Interestingly, the underlying technology is Flash. The sites are completely built in Flash, including the administration interface. The FAQ says that they use other techniques for SEO, which appears to be use of the keyword and description meta tags. This is probably adequate for the target audience: people and organizations who need simple websites who are not looking to generate massive search engine traffic for marketing purposes.</p>

<p>Looking through the real-world examples, I&#8217;m reminded of the drawback of simple templates: you need to keep the content simple, too. The moment you have to scroll some text, or allow the selection of a font with new metrics, is the moment where the clarity of the layout breaks a tiny bit. But that might just be me&#8230;I come from a background of interactive screen design for computer games from way back in the 1980s, and scrolling a last resort.</p>

<p>Still, it looks like a very nicely put-t0gether service, unlike some other Flash-based template sites. Worth passing along, I think!</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/p7iXA8SoRKg" height="1" width="1"/>]]></content:encoded>
         <category>Agency Chatter</category>
      <feedburner:origLink>http://davidseah.com/agenceum/2010/11/clover/</feedburner:origLink></item>
      <item>
         <title>Simple Artist Websites</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/vUPcO6rUAS0/</link>
         <description>I came across a mention of Indexhibit, which is a &amp;#8220;simple&amp;#8221; website framework for artists that doesn&amp;#8217;t require a lot of messing around with content management. For people who want something even simpler, there&amp;#8217;s Stacey, which does its file management purely through folders and files that you FTP up. All we need is the world&amp;#8217;s [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=254</guid>
         <pubDate>Sat, 18 Sep 2010 17:23:38 +0000</pubDate>
         <content:encoded><![CDATA[<p>I came across a mention of <a rel="nofollow" target="_blank" href="http://www.indexhibit.org/">Indexhibit</a>, which is a &#8220;simple&#8221; website framework for artists that doesn&#8217;t require a lot of messing around with content management.</p>

<p>For people who want something even simpler, there&#8217;s <a rel="nofollow" target="_blank" href="http://staceyapp.com/">Stacey</a>, which does its file management purely through folders and files that you FTP up.</p>

<p>All we need is the world&#8217;s simplest FTP client, and then things would be great!</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/vUPcO6rUAS0" height="1" width="1"/>]]></content:encoded>
         <category>Agency Chatter</category>
      <feedburner:origLink>http://davidseah.com/agenceum/2010/09/simple-artist-websites/</feedburner:origLink></item>
      <item>
         <title>Upgraded to WordPress 3.0!</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/wAwj0BCZlao/</link>
         <description>I&amp;#8217;ve been awfully quiet here on Agenceum, and that&amp;#8217;s because I&amp;#8217;ve be rethinking the whole low-cost website strategy. However, WordPress 3.0 has just come out, and I&amp;#8217;m happy to see that my WordPress 2.x installation automatically has updated. SO EASY. Of course, I haven&amp;#8217;t really tested it, but it makes me think that I really [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=252</guid>
         <pubDate>Sat, 19 Jun 2010 01:38:11 +0000</pubDate>
         <content:encoded><![CDATA[<p>I&#8217;ve been awfully quiet here on Agenceum, and that&#8217;s because I&#8217;ve be rethinking the whole low-cost website strategy. However, WordPress 3.0 has just come out, and I&#8217;m happy to see that my WordPress 2.x installation automatically has updated. SO EASY. Of course, I haven&#8217;t really tested it, but it makes me think that I really do need to just standardize on WordPress. Updating a CMS in other systems I use is a huge pain in the butt.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/wAwj0BCZlao" height="1" width="1"/>]]></content:encoded>
         <category>HTML Integration</category>
      <feedburner:origLink>http://davidseah.com/agenceum/2010/06/upgraded-to-wordpress-3-0/</feedburner:origLink></item>
      <item>
         <title>Tuesday Staff Meeting</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/FLXgRR28_vY/</link>
         <description>My efforts have moved toward tweaking additional elements of the design.davidseah.com page. My strategy is now to have two separate design services: Agenceum (for low cost templated pages) and David Seah Investigative Design (DSID). I just made up the DSID acryonym, so I&amp;#8217;m not sure I&amp;#8217;ll keep it. The design site is actually a nice [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=242</guid>
         <pubDate>Tue, 11 May 2010 17:19:49 +0000</pubDate>
         <content:encoded><![CDATA[<p>My efforts have moved toward tweaking additional elements of the <a rel="nofollow" target="_blank" href="http://design.davidseah.com">design.davidseah.com</a> page. My strategy is now to have two separate design services: Agenceum (for low cost templated pages) and David Seah Investigative Design (DSID). I just made up the DSID acryonym, so I&#8217;m not sure I&#8217;ll keep it. The design site is actually a nice template that I could reuse.</p>

<p>I&#8217;ve also started making a new template for my blog, and as an exercise I drew out a layout quickly to see how fast I could convert it to css/html.</p>

<p><img src="http://davidseah.com/_wpcontent/imgcache/images/2010/174-0504-relayout2010.png.jpg" width="174" height="190" align="left" style="margin:4px 16px 8px 0px;display:block;border:1px solid #9999aa;background-color:#fff;vertical-align:text-top;padding:4px;"/> The HTML-ized layout is in the <a rel="nofollow" target="_blank" href="http://agenceum.com/public/web">Agenceum Public Web</a> area as <a rel="nofollow" target="_blank" href="http://agenceum.com/public/web/07-seah3/">07-seah3</a>. This took a couple of hours to work out, and it generally worked as expected. There is a minor mystery as to the best way to layer background images, and under what conditions they &#8220;pass through&#8221;.</p>

<p>So it goes.</p>

<p>The next big advertising push will be to make a much simpler &#8220;Simple Web Sites&#8221; advertisement. I need to keep things VERY simple, and at the same time be VERY CLEAR about the limits of the template approach. There is some balance to strike. I have some advertising ideas on this, and will pursue it in the coming weeks.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/FLXgRR28_vY" height="1" width="1"/>]]></content:encoded>
         <category>Staff Meeting</category>
      <feedburner:origLink>http://davidseah.com/agenceum/2010/05/tuesday-staff-meeting-4/</feedburner:origLink></item>
      <item>
         <title>The Joy of CodeIgniter</title>
         <link>http://feedproxy.google.com/~r/DavidSeah-All/~3/caVW_NHDINw/</link>
         <description>I&amp;#8217;ve mentioned CodeIgniter a few times in the past; it&amp;#8217;s a PHP Framework modeled somewhat (I&amp;#8217;m told) after Ruby On Rails, without the annoying Ruby part. I&amp;#8217;ve downloaded it multiple times in the past and attempted to do something with it, but as usually I didn&amp;#8217;t quite know where to start. Sure, I could have [...]</description>
         <guid isPermaLink="false">http://davidseah.com/agenceum/?p=240</guid>
         <pubDate>Wed, 28 Apr 2010 17:27:57 +0000</pubDate>
         <content:encoded><![CDATA[<p>I&#8217;ve mentioned <a rel="nofollow" target="_blank" href="http://codeigniter.com">CodeIgniter </a>a few times in the past; it&#8217;s a PHP Framework modeled somewhat (I&#8217;m told) after Ruby On Rails, without the annoying Ruby part. I&#8217;ve downloaded it multiple times in the past and attempted to do something with it, but as usually I didn&#8217;t quite know where to start. Sure, I could have grabbed a tutorial, but there is a very specific way I learn and oftentimes I need to reformat the material to compensate for inaccuracies and ambiguities in the writing. Not efficient, usually frustrating, and so I avoid it.</p>

<p>I recently had the opportunity to work with someone else&#8217;s CodeIgniter project, and he gave me the 10-minute overview, which I will boil down into the following steps:</p>

<ul>
    <li>Installation consists of dropping the &#8220;system&#8221; folder and index.php file to your website. The index.php file is the &#8220;application start&#8221;, which points to all sorts of stuff in the system folder.</li>
    <li>CodeIgniter interprets URLs as commands, starting with everything after the index.php. For example, the url http://mysite.com/index.php/hello/there/sam runs a command &#8220;hello&#8221; with the method &#8220;there&#8221; with the parameter &#8220;sam&#8221;.</li>
    <li>CodeIgniter &#8220;routes&#8221; commands to a Controller (as in a Model-View-Controller pattern) . The command is the name of the controller file, in this case &#8220;hello.php&#8221;. The method corresponds to a function name in the controller file.</li>
    <li>Each Controller can manipulate data through the Model class, and load web pages through the View class.</li>
    <li>Controllers, Models, and Views all live in the system/application/ folder.</li>
</ul>

<p>The rest of CodeIgniter is helpful classes to do things, like generating form data and accessing databases. What I like about it is that it provides a nice structure to develop PHP applications using some form of best practices. I just never knew where to START with these things.</p>

<p>My first CodeIgniter project is the <a rel="nofollow" target="_blank" href="http://design.davidseah.com/ignite.php/contact">&#8220;contact me&#8221; form</a> on my design website. It does all kinds of form validation and then sends me an email in a NICE way. And, by using their provide form_validation class, it didn&#8217;t take the days it would have otherwise taken me to learn how to make this. It did take 8 hours of learning how it worked on-the-fly, but they were hours well spent figuring out how I wanted this to work.</p><img src="http://feeds.feedburner.com/~r/DavidSeah-All/~4/caVW_NHDINw" height="1" width="1"/>]]></content:encoded>
         <category>Development</category>
      <feedburner:origLink>http://davidseah.com/agenceum/2010/04/the-joy-of-codeigniter/</feedburner:origLink></item>
   </channel>
</rss><!-- fe3.yql.bf1.yahoo.com compressed/chunked Fri May 25 03:28:54 UTC 2012 -->

