<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[jacobwg]]></title>
  <link href="http://jacobwg.com/atom.xml" rel="self"/>
  <link href="http://jacobwg.com/"/>
  <updated>2012-05-13T19:54:52-05:00</updated>
  <id>http://jacobwg.com/</id>
  <author>
    <name><![CDATA[Jacob Gillespie]]></name>
    <email><![CDATA[me@jacobwg.com]]></email>
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[DreamHost Invitations]]></title>
    <link href="http://jacobwg.com/2012/05/13/dreamhost-invitations/"/>
    <updated>2012-05-13T19:03:00-05:00</updated>
    <id>http://jacobwg.com/2012/05/13/dreamhost-invitations</id>
    <content type="html"><![CDATA[<p>DreamHost is an awesome shared hosting provider, and I&#8217;ve recently received five infamous DreamHost Invitations to share!</p>

<p>Here they are:</p>

<ul>
<li>625757887169</li>
<li>277301713800</li>
<li>507753713227</li>
<li>539745279065</li>
<li>300954978821</li>
</ul>


<p>These DreamHost Invitations give you $15 off if you choose a one-year plan or $100 off a two year plan!  Keep in mind that there&#8217;s still a free trial period in case you change your mind.</p>

<p>To use the invite code, go to <a href="https://signup.dreamhost.com/">https://signup.dreamhost.com/</a> and enter the code in the Promo Code box.</p>

<p>I&#8217;ll remove these codes as they&#8217;re used.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[My Media Center Setup]]></title>
    <link href="http://jacobwg.com/2012/04/24/my-media-center-setup/"/>
    <updated>2012-04-24T12:30:00-05:00</updated>
    <id>http://jacobwg.com/2012/04/24/my-media-center-setup</id>
    <content type="html"><![CDATA[<p>This post is a work in progress.  <a href="http://jacobwg.com/media-center/">View it here</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[iVPN.net - Easy to Use VPN Service]]></title>
    <link href="http://jacobwg.com/2012/03/23/ivpn-dot-net-easy-to-use-vpn-service/"/>
    <updated>2012-03-23T19:03:00-05:00</updated>
    <id>http://jacobwg.com/2012/03/23/ivpn-dot-net-easy-to-use-vpn-service</id>
    <content type="html"><![CDATA[<p><a href="https://www.ivpn.net/aff.php?aff=133">iVPN</a> is a personal VPN service - I just setup my account last week and I&#8217;m really liking it so far.  They offer low-cost plans that feature multiple endpoints, no logging (so they say), and unlimited monthly traffic.  They also seem to be very fast - I have noticed almost no slowdown since switching.</p>

<p>(<a href="http://en.wikipedia.org/wiki/Virtual_private_network">read Wikipedia for more info on VPNs</a>)</p>

<p>iVPN came highly recommended by many commenters on Lifehacker, so I though I&#8217;d give them a try.  My iPhone and MacBook Pro are configured to use L2TP/IPSec as OpenVPN is not supported on the iPhone and I did not want to run another client on the Mac.  My linux media server is configured to use OpenVPN and is running quite nicely, though I think I did mess up my remote network access somehow (the Plex server and DynDNS ddclient were reporting iVPN&#8217;s endpoint&#8217;s IP address), but I have fixed that with dynamic DNS on my Time Capsule router.</p>

<p>All in all, I would definitely recommend iVPN if you&#8217;re looking for a way to stay secure on the internet.</p>

<p><a href="https://www.ivpn.net/aff.php?aff=133">Check out iVPN</a></p>

<p><strong>NOTE:</strong> these links are affiliate links - if you do signup for iVPN, I&#8217;d greatly appreciate the support that these affiliate links provide&#8230; thanks!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Bastion Videos]]></title>
    <link href="http://jacobwg.com/2012/03/15/bastion-videos/"/>
    <updated>2012-03-15T16:30:00-05:00</updated>
    <id>http://jacobwg.com/2012/03/15/bastion-videos</id>
    <content type="html"><![CDATA[<p><a href="http://supergiantgames.com/?page_id=242">Bastion</a> is an awesome game, and here are a few of the fun Bastion-related YouTube videos:</p>

<div class="embed video YouTube"><iframe width="459" height="344" src="http://www.youtube.com/embed/DGxgFxF47XY?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>




<div class="embed video YouTube"><iframe width="480" height="270" src="http://www.youtube.com/embed/ukKvRbCpn7k?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Blog, now with more Octopress]]></title>
    <link href="http://jacobwg.com/2012/03/05/blog/"/>
    <updated>2012-03-05T18:18:00-06:00</updated>
    <id>http://jacobwg.com/2012/03/05/blog</id>
    <content type="html"><![CDATA[<p>My blog is now running on the excellent <a href="http://octopress.org">Octopress</a> static site generation framework.</p>

<p>In the process, many nonessential posts were deleted - if you find something you&#8217;re missing, feel free to <a href="mailto:me@jacobwg.com?subject=Missing%20Content">shoot me an email</a>.</p>

<p>Let me know in the comments what you think and feel free to post any suggestions you might have.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Favorite YouTube Videos]]></title>
    <link href="http://jacobwg.com/2012/03/05/favorite-youtube-videos/"/>
    <updated>2012-03-05T14:16:00-06:00</updated>
    <id>http://jacobwg.com/2012/03/05/favorite-youtube-videos</id>
    <content type="html"><![CDATA[<p>This page collects some of my favorite YouTube videos - feel free to leave a comment with yours!</p>

<!-- more -->


<p>This one is fun after taking Calculus:</p>

<div class="embed video YouTube"><iframe width="480" height="270" src="http://www.youtube.com/embed/P9dpTTpjymE?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>


<p>Interesting example of using only iPads to create a music video - nice work!</p>

<div class="embed video YouTube"><iframe width="480" height="270" src="http://www.youtube.com/embed/tALlcGXuTPQ?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>


<p>Good explanation of copyright law in the US:</p>

<div class="embed video YouTube"><iframe width="480" height="270" src="http://www.youtube.com/embed/tk862BbjWx4?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>


<p>Interesting video about pink light (most of the one minute physics videos are good):</p>

<div class="embed video YouTube"><iframe width="480" height="270" src="http://www.youtube.com/embed/S9dqJRyk0YM?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>


<p>Two videos with some fun music:</p>

<div class="embed video YouTube"><iframe width="459" height="344" src="http://www.youtube.com/embed/yHJOz_y9rZE?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>




<div class="embed video YouTube"><iframe width="480" height="270" src="http://www.youtube.com/embed/Zp1BYzIVi0U?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>


<p>Star Wars FTW!</p>

<div class="embed video YouTube"><iframe width="459" height="344" src="http://www.youtube.com/embed/pCjMGOvMghY?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>


<p>Social media addiction PSA:</p>

<div class="embed video YouTube"><iframe width="480" height="270" src="http://www.youtube.com/embed/HQ8AUBn-4DY?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>


<p>The iconic <em>Princess Bride</em> saber duel with lightsabers:</p>

<div class="embed video YouTube"><iframe width="480" height="270" src="http://www.youtube.com/embed/VYVQooRSlzg?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>


<p>Haunted computer:</p>

<div class="embed video YouTube"><iframe width="459" height="344" src="http://www.youtube.com/embed/04jsncsgrjo?fs=1&feature=oembed" frameborder="0" allowfullscreen></iframe></div>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Thoughts on Search Engine Optimization]]></title>
    <link href="http://jacobwg.com/2012/02/15/thoughts-on-search-engine-optimization/"/>
    <updated>2012-02-15T15:14:00-06:00</updated>
    <id>http://jacobwg.com/2012/02/15/thoughts-on-search-engine-optimization</id>
    <content type="html"><![CDATA[<p>There is a particular crowd that is very interested in optimizing their website for search engines, usually using terms like &#8220;white hat&#8221; or &#8220;black hat&#8221; to describe their methodology.</p>

<p>I would propose that both methods are fundamentally incorrect.  Obviously so-called &#8220;black hat&#8221; SEO is bad, but in my opinion, trying to optimize a website for the sole reason of listing highly in the search engines is fundamentally flawed.  Here’s my reasoning:</p>

<p>Since,</p>

<ul>
<li>Optimizing a webpage using &#8220;black hat&#8221; methods are a temporary fix and will eventually result in being banned from search indexes – bad idea.</li>
<li>Optimizing a webpage for a particular keyword other than the true content of the page is deceptive and therefore a bad idea.</li>
<li>Optimizing for a particular keyword that will produce the biggest return on investment runs the risk for the keyword to not be the exact true content of the page – still bad idea.</li>
</ul>


<p>Therefore,</p>

<ul>
<li>Your content markup (HTML), writing style, and content organization should have one goal – providing the best experience for the end user.</li>
<li>Search engines have the stated goal of providing the best content on a particular topic to the end user.</li>
<li>In the long run, therefore, your site will perform well in search engines, not because it was search engine optimized, but because it is one of the best sites on the topic.</li>
</ul>


<p>Another new source of marketing / visitor power is social media marketing.  If you have properly optimized your site to deliver your content well, and that content has been optimized, people will want to let their friends know about your great resource.</p>

<p>Put simply, it’s time to stop SEOing our sites and <strong>start creating sites worth sharing</strong>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Install APC on Ubuntu]]></title>
    <link href="http://jacobwg.com/2012/01/02/install-apc-on-ubuntu/"/>
    <updated>2012-01-02T15:05:00-06:00</updated>
    <id>http://jacobwg.com/2012/01/02/install-apc-on-ubuntu</id>
    <content type="html"><![CDATA[<p>Installation of APC as of Ubuntu 10.04 is much simpler than in past releases of Ubuntu and only requires two terminal commands:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'>sudo apt-get install php-apc
</span><span class='line'>sudo /etc/init.d/apache2 restart
</span></code></pre></td></tr></table></div></figure>


<p>That’s it! Much simpler, isn’t it?</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Resize andLinux Disk]]></title>
    <link href="http://jacobwg.com/2012/01/01/resize-andlinux-disk/"/>
    <updated>2012-01-01T14:42:00-06:00</updated>
    <id>http://jacobwg.com/2012/01/01/resize-andlinux-disk</id>
    <content type="html"><![CDATA[<p>If you&#8217;ve ever wanted your andLinux disk to be bigger than 2GB (the space runs out pretty quickly), here&#8217;s how to do it. First, download <a href="http://jacobwg.com/wp-content/uploads/2010/06/toporesize-0.7.1.zip">TopoResize 0.7.1</a>.  This will allow you to create a new disk file. Unzip and run toporesize.bat.  You will be greeted by the following screen:</p>

<!-- more -->


<p><img src="http://getfile1.posterous.com/getfile/files.posterous.com/import-hskj-kkwz/AuxgrGyDxeBjqmDqEFzvdCFJemAhiaeBatilqolaheAjugHojtciIeojnqrt/media_httpfarm5static_FIopd.jpg.scaled980.jpg" alt="" /></p>

<p>Choose &#8220;create new.&#8221;  A file browser window will open.  Navigate to the Drives folder located at the andLinux install location.  By default, that location will be:</p>

<blockquote><p><code>C:\Program Files\andLinux\Drives\</code></p></blockquote>

<p>Give your new disk a name and click save.  I chose root.vdi as my new disk name. Next, drag the slider in the main TopoResize window to choose a disk size.  The value is in MB, so I tried to get as close to 10GB as possible (10240).  You won&#8217;t be able to get it exactly, but a rough estimate will do. Your screen will look something like this:</p>

<p><img src="http://getfile1.posterous.com/getfile/files.posterous.com/import-hskj-kkwz/kibxtDbpEEcpwduCdboqkkEgbIsytFinhqAfCCHeBiuohBzwGkHchrwdyivb/media_httpfarm5static_wJkka.jpg.scaled980.jpg" alt="" /></p>

<p>Click &#8220;Create file,&#8221; choose <em>ext3</em> for the drive format, and wait for it to finish. Next, be sure that andLinux is not running.  The easy way to do this is to navigate to the andLinux directory (which, again, is <code>C:\Program Files\andLinux\</code>) and double-click srvstop.bat. In the same directory, open settings.txt.  It will look like this:</p>

<p><img src="http://getfile5.posterous.com/getfile/files.posterous.com/import-hskj-kkwz/xuyFydsiyBcvFskFjrtbsnifoivmEzpmHrFpeiyawqyBIqpFyAioryopyjFn/media_httpfarm5static_FaEDd.jpg.scaled980.jpg" alt="" /></p>

<p>Create a new line under the <code>cobd1=...</code> line and add the following:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>cobd2=Drives\[your_new_image_name]</span></code></pre></td></tr></table></div></figure>


<p>So, for me, that would be:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>cobd2=Drives\root.vdi</span></code></pre></td></tr></table></div></figure>


<p>That will cause andLinux to mount your newly created disk file as a secondary disk.  Save the file, then run srvstart.bat to boot up the andLinux service. Run colinux-console-fltk.exe and login once you get to the prompt. Next, we will issue the following terminal commands to copy the entirety of the original disk to the new one.  Here they are:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'>mkdir /mnt/tmp
</span><span class='line'>mount /dev/cobd2 /mnt/tmp
</span><span class='line'>cp -axv / /mnt/tmp
</span><span class='line'>umount /mnt/tmp
</span><span class='line'>sudo reboot now
</span><span class='line'>sudo resize2fs /dev/cobd2
</span></code></pre></td></tr></table></div></figure>


<p>This will copy all of the files and will be verbose and print out all the filenames so that you have an indication of progress and will then unmount and shutdown. Open up the settings.txt file again.  This time, remove your newly added cobd2 line and change cobd0 to be your new disk image file. You can run the <code>df</code> command to verify your disk size. Run srvstart.bat.  You now have an expanded disk!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Hulu Filter – The Movie Filter Database]]></title>
    <link href="http://jacobwg.com/2011/12/03/hulu-filter-the-movie-filter-database/"/>
    <updated>2011-12-03T15:22:00-06:00</updated>
    <id>http://jacobwg.com/2011/12/03/hulu-filter-the-movie-filter-database</id>
    <content type="html"><![CDATA[<p>I just released the first version of my <a href="http://hulu.tmfdb.org">Hulu filtering bookmarklet</a> – check it out and let me know what you think! It automatically mutes sections of Hulu videos that contain profanity for a more “family-friendly” experience.</p>

<p>This is part of a broader movie filtering project that I’m currently calling “The Movie Filter Database” (or <a href="http://tmfdb.org">tmfdb.org</a>).</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Usability and Silverware]]></title>
    <link href="http://jacobwg.com/2011/11/07/usability-and-silverware/"/>
    <updated>2011-11-07T15:11:00-06:00</updated>
    <id>http://jacobwg.com/2011/11/07/usability-and-silverware</id>
    <content type="html"><![CDATA[<p>I have an interest in usability. The downside, of course, with an interest in usability is frustration when using products that are not as usable as possible.</p>

<p>For example, at the UT Dallas dining hall, there are three holders for silverware on a table after you exit the food area and enter the dining area.  Each holder is circular and has two levels of three “cups” each that hold silverware… they can rotate as well.  So, if that doesn’t make sense, it’s like if you took six cups and attached them together in sets of threes and attached the two sets to a rod that rotated.</p>

<p>Anyway, they have it set up where for each level, there is a cup for each type of silverware – forks, spoons, and knives.  The cups have a little sticker on them that is supposed to say what they contain, but is often incorrect.  So each holder has a total of two cups of each type of silverware, then there are three holders.  The individual levels can rotate, so you never know what type of silverware will be at a certain position.</p>

<p>A text representation would be something like this:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>F-S-K    S-K-F    K-F-S
</span><span class='line'>  |        |        |
</span><span class='line'>S-K-F    K-F-S    F-S-K
</span><span class='line'>  |        |        |
</span><span class='line'> / \      / \      / \
</span><span class='line'>-----    -----    -----</span></code></pre></td></tr></table></div></figure>


<p>So, each time you go to get silverware, you have to hunt through the holders to find all your required silverware.  As you can imagine, if more than two people try to get the silverware at the same time, it usually causes a &#8220;silverware-jam.&#8221;</p>

<p>So, I’ve seriously though of submitting a comment card suggesting that the silverware be allocated one type to one holder and large signs be placed in front of them indicating the type of silverware they hold:</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>F-F-F    S-S-S    K-K-K
</span><span class='line'>  |        |        |
</span><span class='line'>F-F-F    S-S-S    K-K-K
</span><span class='line'>  |        |        |
</span><span class='line'> / \      / \      / \
</span><span class='line'>-----    -----    -----
</span><span class='line'>Forks    Spoons   Knives</span></code></pre></td></tr></table></div></figure>


<p>That would eliminate the &#8220;hunting&#8221; part of the silverware-gathering experience as you could just grab one item from each holder rather than having to look through each one.</p>

<p>There’s a suggestion box in the dining hall. But&#8230; should I really submit a comment card about silverware usability?  Interesting…  But three times each day, I have the privilege of thinking about the usability (or lack thereof) of UTD’s system.</p>

<p>Hope that makes some sense!  I’m really a nerd (or usability geek or something), I guess&#8230; Perhaps sometime I’ll write a post about the design of the dining hall walkways – not exactly ideal either.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Yacov]]></title>
    <link href="http://jacobwg.com/2011/08/22/yacov/"/>
    <updated>2011-08-22T14:56:00-05:00</updated>
    <id>http://jacobwg.com/2011/08/22/yacov</id>
    <content type="html"><![CDATA[<blockquote><p>Yacov is Jacob as the Russians say.<br/>Yacov is webmaster so you better pay&#8230;<br/>&#8230;Attention cus Yacov is comin this way.<br/>Yacov is known for his photoshop,<br/>He&#8217;ll turn your hair into a crazy mop.<br/>I know Yacov is the man,<br/>Cus I&#8217;m team Yacov and his biggest fan</p><footer><strong>Ryan Thomas</strong> <cite><a href='http://deigratia4me.blogspot.com/'>deigratia4me.blogspot.com/&hellip;</a></cite></footer></blockquote>


<p>I purchased a new MacBook Pro this past week, so to test my image editing skills, I photoshopped an afro onto an image of two of my friends, <a href="http://desertcreekhoney.com">Blake Shook</a> and Mark Thomas.  <a href="http://deigratia4me.blogspot.com/">Ryan Thomas</a>, Mark&#8217;s brother and another of my good friends, wrote this poem about me (Mark visited the Ukraine lately and thus has taken to calling me Yacov).</p>

<p>Be sure to <a href="http://deigratia4me.blogspot.com/">check out</a> some of Ryan&#8217;s other (more serious) poems.  :)</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[GSoC 2011 Project Proposal - WordPress File Uploader]]></title>
    <link href="http://jacobwg.com/2011/03/30/gsoc-project-proposal/"/>
    <updated>2011-03-30T14:51:00-05:00</updated>
    <id>http://jacobwg.com/2011/03/30/gsoc-project-proposal</id>
    <content type="html"><![CDATA[<h2>Personal Details</h2>

<p><strong>Name:</strong> Jacob Gillespie</p>

<p><strong>Email:</strong> <a href="mailto:me%40jacobwg.com">me@jacobwg.com</a></p>

<p><strong>Personal Website:</strong> <a href="http://jacobwg.com">jacobwg.com</a></p>

<p><strong>Skype ID or GTalk:</strong> jacobwg7600 on Skype, jacobwg7600@gmail.com on GTalk (preferred)</p>

<p><strong>IRC nick:</strong> jacobwg</p>

<p><strong>Phone number:</strong> +1 (972) 369-6651</p>

<p><strong>School Name:</strong> <a href="http://utdallas.edu">University of Texas at Dallas</a></p>

<p><strong>Years completed:</strong> I will have finished my Freshman (first) year</p>

<p><strong>PHP Experience Level:</strong> Intermediate</p>

<p><strong>WordPress Experience Level:</strong> Plugin/Theme Developer (although only for internal projects)</p>

<h2>Project Description</h2>

<!-- more -->


<p><a href="http://blog.jacobwg.com/draft-gsoc-application/">Project Description on My Blog</a></p>

<p><strong>Describe your idea in detail:</strong></p>

<p>My proposed project is to upgrade WordPress’s multi-file uploader, integrating an existing open source project with additional more modern features while keeping the existing underlying APIs constant in order to not break compatibility with existing code and plugins.</p>

<p>Potential additional features would include, depending on browser support:</p>

<ul>
<li>Multiple file transports, starting with HTML5, with a fallback to Flash, then fallback to HTML4</li>
<li>Drag and drop uploading</li>
<li>On-the-fly image resizing</li>
<li>Hooks for in-browser image processing (so that a plugin could add pre-upload sepia tone, for example)</li>
</ul>


<p>My proposed project would consist of three stages:</p>

<ol>
<li>Researching and evaluating existing open source uploader projects in terms of how well they satisfy the requirements</li>
<li>Adapting, if necessary, the chosen uploader for WordPress integration</li>
<li>Performing the integration – writing backend PHP code and any required frontend glue code to integrate the uploader into WordPress</li>
</ol>


<p>The goal of this project is to improve the overall user experience of the file uploader, allowing for an uploader that “just works” and progressively enhances based on the user’s browser and environment. The revamped uploader should also “just work” for developers, keeping existing WordPress hooks intact.</p>

<p>In past projects, I have had the opportunity to research file uploaders, and thus have the following projects as potential targets for further research:</p>

<ol>
<li>Plupload -  (<a href="http://wordpress.org/extend/plugins/wplupload/">WordPress plugin</a>)</li>
<li>Uploadify -</li>
<li>Ajax Upload jQuery Plugin -</li>
<li>jQuery File Upload -</li>
<li>Some combination of swfupload (, )</li>
</ol>


<p>I have shared my draft proposal on wp-hackers, and thus far was provided with the link to WPlupload by Otto.</p>

<p><strong>Plugin, theme, or core:</strong></p>

<p>Due to the nature of the file uploader, this project is meant for core.</p>

<p><strong>Anticipated challenges:</strong></p>

<p>I have a few potential challenges, not necessarily anticipated ones: Cross-browser support / detection, maintaining the current code hooks.</p>

<p><strong>Potential mentors:</strong></p>

<p>Eric Mann (ericmann) has expressed via email his willingness to mentor this project.</p>

<h2>Schedule of Deliverables</h2>

<ul>
<li><strong>April 25 – May 23</strong> – Discuss approach with mentors, finalize my knowledge of the existing uploader system, continue research on existing open source projects</li>
<li><strong>May 23 – June 1</strong> – Complete research and choose the starter project(s)</li>
<li><strong>June 1 – 13</strong> – Make any required modifications to the uploader and/or write any required frontend glue code</li>
<li><strong>June 13 – July 15</strong> – Work on backend PHP code</li>
<li><strong>July 15 – August 1</strong> – Open time for completing frontend and backend code</li>
<li><strong>August 1 – August 22</strong> – Rigerous testing and bugfixing</li>
</ul>


<p>Obviously checks with mentors will be frequent and spread without.</p>

<p><strong>Other commitments:</strong></p>

<p>I will be unavailable from June 22-26 and July 1-5 as I will be volunteering at the <a href="http://www.joniandfriends.org/family-retreats/">Joni and Friends Family Retreat</a> camps.</p>

<h2>Open Source Development Experience</h2>

<p><strong>PHP Experience:</strong></p>

<p>I started learning programming at age ten and began learning PHP at age eleven, so I’ve been learning for almost eight years now. Most of my live PHP experience has been coding themes for WordPress, Joomla, Drupal, and Magento, although have written internal extensions for WordPress and Joomla. I would consider myself an intermediate PHP programmer, familiar with syntax and intermediate programming concepts – I am very familiar with OOP as well as a little bit of functional programming.</p>

<p>I also started learning frontend stuff around the same time, and have since worked mostly with jQuery on the Javascript side. I am proficient in HTML(5), JavaScript, and CSS.</p>

<p>While still being reviewed, I have written two PHP apps for the <a href="http://tonido.com">Tonido Personal Cloud</a> – a VNC remote desktop app and a µTorrent remote control. The µTorrent code is available on my GitHub page (), and the VNC app code is private on GitHub and available on request.</p>

<p>For that matter, I do have a few projects on GitHub, although most of what I have done has been with Ruby/Rails/Sinatra.</p>

<p><strong>WordPress Experience:</strong></p>

<p>I have been developing sites in WordPress for several years now, and have done a fair amount of work with theming and some personal plugin development. I have not contributed any plugins to the repository before and so here are a few core patches that I just finished (as jacobwg):</p>

<p><strong>Other Open Source/Free Software Experience:</strong></p>

<p>I have worked with Joomla, Drupal, Magento, Ruby on Rails, and Sinatra on a variety of other projects. I have a few small projects/forks at <a href="http://github.com/jacobwg">github.com/jacobwg</a>.</p>

<p>I wrote a basic CMS extension for the Spree ecommerce platform ()</p>

<h2>Work Experience</h2>

<h3>Texas Beekeepers Association</h3>

<p><a href="http://texasbeekeepers.org">texasbeekeepers.org</a></p>

<p>Sole webmaster since 2008, redesigned their static site using the Joomla CMS. We’ve since been through several updates / upgrades going from Joomla 1.0 to 1.5, with a WordPress-based version in progress. Involved both frontend programming and backend programming in PHP (mainly for the <a href="http://texasbeekeepers.org/clubs/">directory of beekeeping clubs</a>).</p>

<h3>Desert Creek Honey Co</h3>

<p><a href="http://desertcreekhoney.com">desertcreekhoney.com</a></p>

<p>Sole webmaster since 2007, the website was designed from scratch. Initially, we using Joomla, both versions 1.0 and 1.5, with the VirtueMart ecommerce extension. We’ve since switched to a WordPress website with an Ecwid-backed shopping cart (WordPress shopping cart in the works). Involved mostly frontend programming for the various themes we’ve had. Running on my client WordPress network.</p>

<p>I am also involved in helping run the SEO, Google AdWords campaigns for Desert Creek Honey.</p>

<h3>Collin County Hobby Beekeepers Association</h3>

<p><a href="http://cchba.org">cchba.org</a></p>

<p>Sole webmaster since 2009, the existing static website was redesigned with WordPress. Running on my client WordPress network.</p>

<h3>Oakley Family Apiaries</h3>

<p><a href="http://livehoneyeeremoval.com">livehoneybeeremoval.com</a></p>

<p>Sole webmaster, I redesigned their static site on WordPress in 2010, I have been involved in SEO work. Running on my client WordPress network.</p>

<h3>Other Projects</h3>

<p>I have worked on many personal projects and websites on the side that are more or less commercial:</p>

<h2>Academic Experience</h2>

<p><strong>Academic Institution:</strong> University of Texas at Dallas, Richardson, TX</p>

<p><strong>Current Program:</strong> BS in Computer Science, I will have finished my Freshman year</p>

<p><strong>Anticipated Graduation:</strong> 2014</p>

<p><strong>Academic Performance:</strong></p>

<ul>
<li><a href="http://collin.edu">Collin College</a> Dual-Credit (in high school) – COSC 1436 – Programming Fundamentals I, C++ (A grade)</li>
<li><a href="http://collin.edu">Collin College</a> Dual-Credit (in high school) – COSC 1437 – Programming Fundamentals II, C++ (A grade)</li>
<li>CS 3340 Computer Architecture (B grade)</li>
<li>CS 2336 Computer Science I (A+ grade, expected from current grades)</li>
</ul>


<p>I used a lot of my web design / webmastering work as credit for high school.</p>

<p><strong>GSoC for Credit:</strong> No, I am not using GSoC for credit</p>

<p><strong>References:</strong></p>

<p>No CS professors yet, but here are some work-related references:</p>

<ul>
<li>Jimmie Oakley of the Texas Beekeepers Association (treasurer@texasbeekeepers.org)</li>
<li>Blake Shook of Desert Creek Honey (sales@desertcreekhoney.com)</li>
</ul>


<h2>Why WordPress</h2>

<p><strong>You’re applying to work with WordPress during GSoC because:</strong></p>

<p>I love WordPress and consider it to be the best publishing platform out there. I have had many years of experience working with WordPress – most all my client sites run WordPress. Thus, I have a genuine desire to see WordPress improve. I have also experienced trouble with the existing file uploader in the past, so this is personally something I would love to see upgraded.</p>

<p><strong>After GSoC, you envision your involvement with WordPress will be:</strong></p>

<p>I most definitely can see myself becoming a core contributor as I continue building client sites with WordPress. I love how accessible the WordPress community and development team are, and would love to give time and code back.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[How to Set Windows 7 Taskbar Icons to Switch Windows]]></title>
    <link href="http://jacobwg.com/2010/06/25/how-to-set-windows-7-taskbar-icons-to-switch-windows/"/>
    <updated>2010-06-25T15:07:00-05:00</updated>
    <id>http://jacobwg.com/2010/06/25/how-to-set-windows-7-taskbar-icons-to-switch-windows</id>
    <content type="html"><![CDATA[<p>By default, clicking on a taskbar icon for a program with multiple windows shows the new Aero Peak thing (or what ever it’s called).  I, however, wanted the old behavior where it would bring up the last active window (and cycle through the windows on subsequent clicks).  If you want the same behavior, here’s how I did it:</p>

<ul>
<li>Type press WIN-r to open the run box</li>
<li>Type regedit</li>
<li>Locate the following registry location: <code>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced</code></li>
<li>Right-click and add a new 32-bit DWORD called “LastActiveClick”</li>
<li>Give it a value of 1</li>
<li>Reboot</li>
<li>Success!</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Restore GNOME Panel in Ubuntu]]></title>
    <link href="http://jacobwg.com/2010/06/17/restore-gnome-panel-in-ubuntu/"/>
    <updated>2010-06-17T18:46:00-05:00</updated>
    <id>http://jacobwg.com/2010/06/17/restore-gnome-panel-in-ubuntu</id>
    <content type="html"><![CDATA[<p>It&#8217;s fairly easy (if you need terminal access, press <code>ALT-F3</code> and enter <code>gnome-terminal</code>).</p>

<p>You can then copy and paste the following into the terminal (without the numbers):</p>

<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>gconftool-2 --shutdown
</span><span class='line'>gconftool-2 --recursive-unset /apps/panel
</span><span class='line'>rm -rf ~/.gconf/apps/panel
</span><span class='line'>pkill gnome-panel</span></code></pre></td></tr></table></div></figure>


<p>You should have now reset your GNOME panel configuration (both top and bottom panels).</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Star Wars Cast]]></title>
    <link href="http://jacobwg.com/2010/03/25/star-wars-cast/"/>
    <updated>2010-03-25T11:59:00-05:00</updated>
    <id>http://jacobwg.com/2010/03/25/star-wars-cast</id>
    <content type="html"><![CDATA[<p><img alt="Star Wars Cast Photo" height="811" src="http://posterous.com/getfile/files.posterous.com/jacobwg/wfyGAFGnxCdIACvJemIpoqoJIkrjhgGtdaiuGGdgpxDgiBDvhDhypbzqtbyl/media_httpcdntechicom_yyHoy.jpg.scaled980.jpg" width="600" /></p>
]]></content>
  </entry>
  
</feed>

