<?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.boogly.net/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jon Chin</title>
	
	<link>http://otherchin.com/blog</link>
	<description>Your other chin</description>
	<lastBuildDate>Sat, 11 Feb 2012 06:51:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.boogly.net/boogly" /><feedburner:info uri="boogly" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>boogly</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>Put birthdays on your Google Calendar</title>
		<link>http://otherchin.com/blog/2010/10/put-birthdays-on-your-google-calendar/</link>
		<comments>http://otherchin.com/blog/2010/10/put-birthdays-on-your-google-calendar/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 00:22:57 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[birthday]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=230</guid>
		<description><![CDATA[Ever since I first got into PDAs back in 2000, it&#8217;s been really important to me to be able to keep track of my contacts&#8217; birthdays. When I got my Pocket PC (basically Windows for PDAs), I loved that it automatically placed birthdays on my calendar. But since then, I haven&#8217;t had a solution that [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since I first got into PDAs back in 2000, it&#8217;s been really important to me to be able to keep track of my contacts&#8217; birthdays.  When I got my Pocket PC (basically Windows for PDAs), I loved that it automatically placed birthdays on my calendar.  But since then, I haven&#8217;t had a solution that would flawlessly do this.</p>
<p>Today, I discovered that Google Calendar does this exact thing!  And since I sync my calendar with my Android phone, I get the birthdays placed on my phone&#8217;s calendar too.  I absolutely love this feature, but it&#8217;s sort of obscure to get to.  There are instructions on how to do it at <a href="http://www.nicholasoverstreet.com/2010/03/android-contacts-birthdays-in-your-calendar/">Nicholas Overstreet</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2010/10/put-birthdays-on-your-google-calendar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Be up-front and filter quickly when outsourcing your work</title>
		<link>http://otherchin.com/blog/2010/09/be-up-front-and-filter-quickly-when-outsourcing-your-work/</link>
		<comments>http://otherchin.com/blog/2010/09/be-up-front-and-filter-quickly-when-outsourcing-your-work/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 06:23:58 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[GrabContent]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[outsourcing]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=227</guid>
		<description><![CDATA[One of the critical parts of outsourcing is selecting who to hire. At GrabContent, we get 50-70 applicants for a single job posting. It&#8217;s important to decide up front what is important to your business. Doing so will set you up for finding the best match as well as help you avoid wasting precious time. [...]]]></description>
			<content:encoded><![CDATA[<p>One of the critical parts of outsourcing is selecting who to hire.  At <a href="http://grabcontent.com">GrabContent</a>, we get 50-70 applicants for a single job posting.  It&#8217;s important to decide up front what is important to your business.  Doing so will set you up for finding the best match as well as help you avoid wasting precious time.</p>
<p>Before you even fire up the computer, decide on the 3-5 most important attributes of a successful worker in your business.  You will attract better matches when your job listing describes what is important in a new recruit.  It will also help make filtering through all the applicants significantly easier.</p>
<p>Especially in today&#8217;s economy, you&#8217;ll no doubt have a lot of people respond to your job opportunity.  You need to remember all along the way the things that matter most to your business.  One of the things that is important for us is that our writers pay extremely close attention to detail.  When we create a job listing, we state in the first sentence that that&#8217;s what we&#8217;re looking for.  Then we proceed to state the exact steps that they need to take to be considered.  It always surprises me at how many people don&#8217;t follow our directions, even when we&#8217;ve stated in the first sentence that we won&#8217;t consider anybody who doesn&#8217;t follow all the directions.  Because we embed a test into the application process, we&#8217;re able to weed out in just a matter of seconds about 80% of the applicants.</p>
<p>Be up front with your applicants.  For me this means highlighting the advantages of working with your company as well as disclosing the significant disadvantages.  Although some might not agree, I like to state a salary range directly in the job posting and outline what it takes to get raises.  Sure, this gives the other person a slight advantage in negotiations, but it also reduces the time spent on back-and-forth on every project.  This will allow you both to spend more time on what matters most&#8211;your product.</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2010/09/be-up-front-and-filter-quickly-when-outsourcing-your-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GrabContent–when you need quality writing fast</title>
		<link>http://otherchin.com/blog/2010/08/grabcontent-when-you-need-quality-writing-fast/</link>
		<comments>http://otherchin.com/blog/2010/08/grabcontent-when-you-need-quality-writing-fast/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 02:39:31 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[GrabContent]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[articles]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=222</guid>
		<description><![CDATA[I&#8217;ll be honest&#8211;I haven&#8217;t been writing here as often as I&#8217;d like. Things have gotten busy with my job and all of the little projects I&#8217;ve been working on. But as of this post, I vow to do better! Back in February, my friend and I started a business that we named GrabContent. In a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be honest&#8211;I haven&#8217;t been writing here as often as I&#8217;d like.  Things have gotten busy with my job and all of the little projects I&#8217;ve been working on.  But as of this post, I vow to do better!</p>
<p>Back in February, my friend and I started a business that we named <a href="http://grabcontent.com">GrabContent</a>.  In a nutshell, we create custom, search engine optimized articles in order to help our customers improve their websites&#8217; organic traffic.  You&#8217;re probably wondering why we&#8217;re doing this and how we plan to compete against the jillions of other writers in the world.  The current problem is that it takes quite a bit of turnaround time when you need large numbers of articles, and you don&#8217;t want to sacrifice the quality of the writing.  We&#8217;ve got a few tricks up our sleeves to solve these problems without charging more.</p>
<p>I won&#8217;t reveal our secret sauce, but in the next few blog posts, I&#8217;ll talk about some of the things we&#8217;ve learned along the way.  I&#8217;m hoping to be able to talk about how to select writers, what writers can improve on, and how we&#8217;re managing our technology back end.</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2010/08/grabcontent-when-you-need-quality-writing-fast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LMGTFY now for 64 bit Linux</title>
		<link>http://otherchin.com/blog/2010/03/lmgtfy-now-for-64-bit-linux/</link>
		<comments>http://otherchin.com/blog/2010/03/lmgtfy-now-for-64-bit-linux/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 08:39:01 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[64-bit]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lmgtfy]]></category>
		<category><![CDATA[pidgin]]></category>
		<category><![CDATA[stfw]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=213</guid>
		<description><![CDATA[A few months ago, I did a build of the STFW Pidgin plugin for Windows. Recently I started using Ubuntu but found that STFW didn&#8217;t work on my system. So I did a 64-bit build of the plugin for Pidgin 2.6.x. Here it is! To install, just copy that file over to /usr/lib64/purple-2/ . If [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago, I did a build of the <a href="http://linuxandwhatever.wordpress.com/stfw-pidgin-plugin/">STFW</a> Pidgin plugin <a href="http://otherchin.com/blog/2009/09/lmgtfy-plugin-for-pidgin-in-windows/">for Windows</a>. Recently I started using Ubuntu but found that STFW didn&#8217;t work on my system. So I did a 64-bit build of the plugin for Pidgin 2.6.x. <a href="http://otherchin.com/blog/wp-content/uploads/2010/03/stfw.so">Here it is!</a></p>
<p>To install, just copy that file over to /usr/lib64/purple-2/ . If you don&#8217;t have root access, copy it to ~/.purple/plugins/ instead. Then restart Pidgin, enable the plugin, and you&#8217;re good to go!</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2010/03/lmgtfy-now-for-64-bit-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP login form with password confirmation using Auth component</title>
		<link>http://otherchin.com/blog/2009/12/cakephp-login-form-with-password-confirmation-using-auth-component/</link>
		<comments>http://otherchin.com/blog/2009/12/cakephp-login-form-with-password-confirmation-using-auth-component/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 18:59:33 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[cakephp]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=199</guid>
		<description><![CDATA[Every time I start CakePHP project, I find that I&#8217;ve forgotten how to set up the user auth system of logins, creating accounts, etc. There seems to be only a few examples of it on the internet, so I thought I&#8217;d post up my solution. It uses the Auth component and follows normal user creation [...]]]></description>
			<content:encoded><![CDATA[<p>Every time I start CakePHP project, I find that I&#8217;ve forgotten how to set up the user auth system of logins, creating accounts, etc.  There seems to be only a few examples of it on the internet, so I thought I&#8217;d post up my solution.  It uses the <a href="http://api.cakephp.org/class/auth-component">Auth component</a> and follows normal user creation convention.  By &#8220;normal user creation convention,&#8221; I mean that you require an email address that&#8217;s used as the login name, a password field, a confirm-password field, and checks to make sure the passwords match.<span id="more-199"></span></p>
<p>First, create your db table:</p>
<pre><code>CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `email` varchar(60) default NULL,
  `firstname` varchar(30) default NULL,
  `lastname` varchar(30) default NULL,
  `password` varchar(40) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8</code></pre>
<p>Next, create models/user.php and add validation definitions.  Modify the validation parameters as neede.  You&#8217;ll also need a function that checks whether the two password fields match.</p>
<pre><code>class User extends AppModel {
  var $name = 'User';
  var $useTable = 'users';

  var $validate = array(
    'email' => array(
      'kosher' => array(
        'rule' => 'email',
        'message' => 'Please make sure your email is entered correctly.'
      ),
      'unique' => array(
        'rule' => 'isUnique',
        'message' => 'An account with that email already exists.'
      ),
      'required' => array(
        'rule' => 'notEmpty',
        'message' => 'Please Enter your email.'
      )
    ),
    'passwd' => array(
      'min' => array(
        'rule' => array('minLength', 6),
        'message' => 'Usernames must be at least 6 characters.'
      ),
      'required' => array(
        'rule' => 'notEmpty',
        'message'=>'Please enter a password.'
      ),
    ),
    'passwd_confirm' => array(
      'required'=>'notEmpty',
      'match'=>array(
        'rule' => 'validatePasswdConfirm',
        'message' => 'Passwords do not match'
      )
    ),
    'firstname' => array(
      'required' => array(
        'rule' => 'notEmpty',
        'message'=>'Please enter your first name.'
      ),
      'max' => array(
        'rule' => array('maxLength', 30),
        'message' => 'First name must be fewer than 30 characters'
      )
    ),
    'lastname' => array(
      'required' => array(
        'rule' => 'notEmpty',
        'message' => 'Please enter your last name.'
      ),
      'max' => array(
        'rule' => array('maxLength', 30),
        'message' => 'Last name must be fewer than 30 characters'
      )
    )
  );

  function validatePasswdConfirm($data)
  {
    if ($this->data['User']['passwd'] !== $data['passwd_confirm'])
    {
      return false;
    }
    return true;
  }

  function beforeSave()
  {
    if (isset($this->data['User']['passwd']))
    {
      $this->data['User']['password'] = Security::hash($this->data['User']['passwd'], null, true);
      unset($this->data['User']['passwd']);
    }

    if (isset($this->data['User']['passwd_confirm']))
    {
      unset($this->data['User']['passwd_confirm']);
    }

    return true;
}

}</code></pre>
<p>Create the controllers/user_controller.php file:</p>
<pre><code>class UsersController extends AppController {
  var $name = 'Users';
  var $helpers = array('Html', 'Form');
  var $components = array('Auth');

  function beforeFilter() {
    $this->Auth->fields = array(
        'username' => 'email',
        'password' => 'password'
    );

    $this->Auth->allow('register');
  }

  function index() {

  }

  function login() {

  }

  function logout() {
    $this->redirect($this->Auth->logout());
  }

  function register() {
    if (!empty($this->data)) {
      $this->User->create();
      if($this->User->save($this->data))
      {
        $this->Session->setFlash("Account created!");
        $this->redirect('/');
      }
    }
  }

}</code></pre>
<p>Create the login.ctp view:</p>
<pre><code>$session->flash('auth');
echo $form->create('User', array('action' => 'login'));
echo $form->input('email');
echo $form->input('password');
echo $form->end('Login');
echo $html->link('Sign up', array('controller'=>'users', 'action'=>'register'));</code></pre>
<p>Create the register.ctp view:</p>
<pre><code>echo $form->create('User', array('action' => 'register'));
echo $form->input('email');
echo $form->input('firstname');
echo $form->input('lastname');
echo $form->input('passwd');
echo $form->input('passwd_confirm', array('type' => 'password'));
echo $form->submit();
echo $form->end();</code></pre>
<p>Notice that we named the field &#8220;passwd&#8221; and not &#8220;password&#8221;?  This is because Cake recognizes it as being a password and automatically hashes it.  Although you could set up your app this way, it makes it complicated to do validation on it.  Instead, we just use &#8220;passwd&#8221; and assign the value to &#8220;password&#8221; in our beforeSave function.</p>
<p>That&#8217;s it!  Your basic user login/registration should be working now.  Customize it according to your app&#8217;s needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2009/12/cakephp-login-form-with-password-confirmation-using-auth-component/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Adblock+ for Chrome: one less excuse not to use Chrome</title>
		<link>http://otherchin.com/blog/2009/11/adblock-for-chrome-one-less-excuse-not-to-use-chrome/</link>
		<comments>http://otherchin.com/blog/2009/11/adblock-for-chrome-one-less-excuse-not-to-use-chrome/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 19:12:30 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[adblock]]></category>
		<category><![CDATA[ads]]></category>
		<category><![CDATA[adsweep]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[extension]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=181</guid>
		<description><![CDATA[There&#8217;s some exciting news in the adblocking/Chrome world! Over the past year, I&#8217;ve been using Adsweep for my ad blocking needs. Adsweep actually worked really well, but the only problem was that its ad definitions weren&#8217;t very comprehensive (false positives every now and then). I was disappointed when I went to the site and found [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s some exciting news in the adblocking/Chrome world!</p>
<p>Over the past year, I&#8217;ve been using <a href="http://adsweep.org">Adsweep</a> for my ad blocking needs.  Adsweep actually worked really well, but the only problem was that its ad definitions weren&#8217;t very comprehensive (false positives every now and then).  I was disappointed when I went to the site and found that the owner <a href="http://blog.boogly.net/2009/06/adsweep-plugin-gets-discontinued/">decided to stop maintaining the project</a>.  Which means no new ad definitions.  But I just went back to the site and was excited to find that somebody else has taken over and it is now being maintained.  Woot!  So I installed the latest (2.0.1) but it didn&#8217;t seem to work at all.  So for right now if you decide to use it, grab the legacy version (1.6.18.8).  It works pretty well most of the time.</p>
<p>In other news, there is now an <a href="http://www.chromeextensions.org/appearance-functioning/adblock/">Adblock+ extension</a>!  It has many similarities to the original Firefox Adblock+ plugin.  Most notable of which is the ability to subscribe to ad block lists (so your ad definitions are always current).  I installed it and it appeared to work (put an icon in my browser, successfully allowed me to subscribe to ad definitions).  But some of my ads weren&#8217;t being blocked.  It looks like they just released about a month ago so I&#8217;ll wait patiently for them to work out the kinks.</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2009/11/adblock-for-chrome-one-less-excuse-not-to-use-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What’s wrong with your keyboard???</title>
		<link>http://otherchin.com/blog/2009/09/whats-wrong-with-your-keyboard/</link>
		<comments>http://otherchin.com/blog/2009/09/whats-wrong-with-your-keyboard/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 23:13:00 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[backspace]]></category>
		<category><![CDATA[colemak]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[qwerty]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=165</guid>
		<description><![CDATA[Well, I&#8217;ve been using the Colemak keyboard layout for 2.5 weeks now. Colemak is a keyboard layout alternative (as opposed to qwerty). Here&#8217;s what it looks like: As you may know, the keys on qwerty keyboards are the way they are for historical reasons&#8211;on typewriters, qwerty keyboards minimized the amount of jamming that occurred with [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;ve been using the <a href="http://colemak.com">Colemak keyboard layout</a> for 2.5 weeks now.  Colemak is a keyboard layout alternative (as opposed to qwerty).  Here&#8217;s what it looks like:<img src="http://colemak.com/wiki/images/8/80/Colemak_layout_2.png" alt="Colemak layout" /></p>
<p>As you may know, the keys on qwerty keyboards are the way they are for historical reasons&#8211;on typewriters, qwerty keyboards minimized the amount of jamming that occurred with the heads.  But since computers don&#8217;t have the same limitation, the qwerty layout is impractical.  Alternative layouts like Dvorak and Colemak seek to minimize the work required to move your fingers.  The benefits of this are increased typing speed and decreased risk of things like Carpal Tunnel Syndrome.  Dvorak seems to be the most popular.  So why did I choose Colemak?  Mostly because it doesn&#8217;t move the z, x, c, and v keys, which are the keys you use for undo, cut, copy, and paste.  That would have driven me crazy.</p>
<p>When I decided to change, I decided that I wouldn&#8217;t wimp out by toggling back to qwerty.  That&#8217;s key to picking it up fast.  I had some helpful encouragement from friends via Facebook (Thanks Jay, Moriah, and Donald!).  At times it was really tough to be IMing somebody and not be able to articulate what I want to say.  &#8220;What do you think of [insert topic]?&#8221; Me: &#8220;good&#8221;.</p>
<p>So where has this gotten me?  After one week of nonstop usage, I had all the keys memorized.  And now after 2.5 weeks, I feel pretty comfortable.  I never had wrist and finger problems before, but now that I&#8217;m using Colemak, my fingers feel a lot more relaxed.  I just took a typing test and got 41 WPM with 100% accuracy (my best on qwerty was 60 WPM).  I know, that&#8217;s not better than my qwerty speed, but I think I&#8217;ll get there after being on it for another week.  Would I recommend it? Yes!</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2009/09/whats-wrong-with-your-keyboard/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>LMGTFY plugin for Pidgin in Windows</title>
		<link>http://otherchin.com/blog/2009/09/lmgtfy-plugin-for-pidgin-in-windows/</link>
		<comments>http://otherchin.com/blog/2009/09/lmgtfy-plugin-for-pidgin-in-windows/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 20:07:56 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[lmgtfy]]></category>
		<category><![CDATA[pidgin]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[stfw]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=172</guid>
		<description><![CDATA[All too often people ask me questions that are just as easily looked up on Google. Things like &#8220;How do I burn a CD?&#8221; or &#8220;What does HTML stand for?&#8221; Sometimes I use lmgtfy.com (short for letmegooglethatforyou) to show them how easy it could have been to just Goggle it. But it takes too much [...]]]></description>
			<content:encoded><![CDATA[<p>All too often people ask me questions that are just as easily looked up on Google.  Things like &#8220;How do I burn a CD?&#8221; or &#8220;What does HTML stand for?&#8221;  Sometimes I use <a href="http://lmgtfy.com">lmgtfy.com</a> (short for letmegooglethatforyou) to show them how easy it could have been to just Goggle it.  But it takes too much work to go to the website, do the search, then copy and paste the URL.</p>
<p>Luckily Kim Stebel created a Pidgin plugin to make the process easier and he&#8217;s gracious enough to share it.  It&#8217;s called <a href="http://linuxandwhatever.wordpress.com/stfw-pidgin-plugin/">STFW</a>.  I was eager to install it and try it out, but there were no binaries compiled for Windows (yes, I use Windows).  So I decided to compile them myself.  I&#8217;ve never compiled any open source software before so I wasn&#8217;t sure what to expect.  Luckily, the Pidgin website had plenty of help.  All you have to do is follow the <a href="http://developer.pidgin.im/wiki/BuildingWinPidgin">tutorial for building Pidgin</a> and then follow the <a href="http://developer.pidgin.im/wiki/Scripting%20and%20Plugins#HowdoIcompileapluginWindows">instructions for compiling Windows plugins</a>.</p>
<p>If you want to grab the plugin without compiling it yourself, you can just <a href='http://otherchin.com/blog/wp-content/uploads/2009/09/stfw.dll'>download it here</a>.  After you download it, move it to the &#8220;plugins&#8221; directory of your Pidgin install, restart Pidgin, then enable it in the &#8220;plugins&#8221; menu.  To use it in conversation, just say <code>/lmgtfy stuff to search for</code> and when you send the message, it will convert it to the necessary link.  It&#8217;s as easy as that!</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2009/09/lmgtfy-plugin-for-pidgin-in-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Finally on Google Reader!</title>
		<link>http://otherchin.com/blog/2009/09/finally-on-google-reader/</link>
		<comments>http://otherchin.com/blog/2009/09/finally-on-google-reader/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 07:13:23 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[Google Reader]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=159</guid>
		<description><![CDATA[I finally got around to configuring Google Reader for all the tech/programming/personal blogs that I read. It was a little scary, but I&#8217;m glad I finally made the move. It&#8217;s already saving me a lot of time. I fired up Facebook to grab a lot of my friends&#8217; blog addresses. It very tedious but I [...]]]></description>
			<content:encoded><![CDATA[<p>I finally got around to configuring Google Reader for all the tech/programming/personal blogs that I read.  It was a little scary, but I&#8217;m glad I finally made the move.  It&#8217;s already saving me a lot of time.  I fired up Facebook to grab a lot of my friends&#8217; blog addresses.  It very tedious  but I finally managed to get through all 613 friends.  In addition, I added several of the tech websites I visit often, but I just did that from memory.</p>
<p>While I was adding all the feeds, I made a couple interesting observations.  Firstly, the majority of the feeds I added were hosted by Blogspot.  I had no idea so many people used Blogspot.  Next I noticed that all the tech and startup blogs I added were using the WordPress platform.  And practically none of the non-tech blogs were using WordPress&#8230;interesting&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2009/09/finally-on-google-reader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A good time at jury duty</title>
		<link>http://otherchin.com/blog/2009/09/a-good-time-at-jury-duty/</link>
		<comments>http://otherchin.com/blog/2009/09/a-good-time-at-jury-duty/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 22:48:53 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[jury]]></category>

		<guid isPermaLink="false">http://blog.boogly.net/?p=161</guid>
		<description><![CDATA[I spent this entire week in court on a jury panel. It was my first time serving in a jury and I really enjoyed it. The whole process has really convinced me [more than before] of the fairness of our system. For our case, they brought in about 40 potential jurors and had us introduce [...]]]></description>
			<content:encoded><![CDATA[<p>I spent this entire week in court on a jury panel.  It was my first time serving in a jury and I really enjoyed it.  The whole process has really convinced me [more than before] of the fairness of our system.</p>
<p>For our case, they brought in about 40 potential jurors and had us introduce ourselves.  After telling us the type of case it would be, the judge asked a bunch of questions like if we&#8217;ve been on a jury before and if we have any special circumstances that would make it hard to serve on a jury.  Some time later, the judge released people who were clearly biased or legitimately could not be there.  I think that process was very fair to those who had special circumstances.</p>
<p>Following that, the lawyers asked us a bunch of questions, sometimes picking on people to answer.  After that was done, the lawyers had seven chances each to remove jurors from the panel that they felt would be unfairly biased, non-objective, emotional, or otherwise not helpful to the case.  This is actually a really good system because the jurors that remain on the panel tend to be the most objective and fair.  There were 12 remaining jurors with an alternate in case of emergency.</p>
<p>We listened to the case.  The victim didn&#8217;t testify, but a first-hand witness did.  What he said would end up causing us lot of discussion during deliberations.</p>
<p>We spent all day Friday deliberating (9am-3pm).  We found out later that this was a long time for this sort of case.  When we started, we took a poll of where everybody stood on the issue and we were pretty much evenly divided between guilty and not guilty.</p>
<p>I thought it was interesting that at the beginning, the three jurors who were most certain that the defendant was guilty were the oldest (in the 40&#8242;s and 50&#8242;s) and that the three jurors who were convinced that there was enough doubt to judge not guilty were the youngest in the room (20-25 years old).  In the end, we unanimously decided that the defendant was guilty.  It would be interesting to me to find out why the initial opinions were like that, whether it&#8217;s that the older people were wiser, opinionated on the issue, influenced by generational views, or something else.</p>
<p>I was happy with the jurors that were on the panel&#8211;they were all very rational, logical, and open-minded.  Each juror was very fair and seemed to truly want to make the most correct decision.  Which was only possible because of the way our court system is set up.</p>
<p>Anyways, we spent a long time debating the credibility of witnesses and their statements and how much weight each piece of evidence has.  Like I said, we reached a guilty verdict.  I feel that each juror is convinced beyond any reasonable doubt that he is guilty.</p>
<p>After the trial was over, we had the chance to talk with and ask questions of the judge and the lawyers.  They were all very eager to talk with us and explain why they did certain things and chose to keep or remove particular jurors.  Now I know exactly what to say and do to be excused from jury duty.  But I&#8217;m not going to list them here&#8211;I think ethically, you shouldn&#8217;t do anything just to escape your responsibility as a US citizen.  Besides, I&#8217;m sure you could easily just Google it.</p>
<p>I&#8217;ve gained a lot of insights from this whole experience.  I&#8217;m now more confident in the justice of our legal system.  I&#8217;m also happy that there are such good people who want the most fair judgments.</p>
]]></content:encoded>
			<wfw:commentRss>http://otherchin.com/blog/2009/09/a-good-time-at-jury-duty/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 9/17 queries in 0.048 seconds using disk: basic

Served from: otherchin.com @ 2012-05-20 09:34:02 -->

