<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text" xml:lang="en">The Other Side -- Ryan Bright</title>
  
  <link type="text" href="http://www.ryanbright.me" rel="alternate" />
  <updated>2012-01-21T22:09:30-05:00</updated>
  <id>http://www.ryanbright.me</id>
  <author>
    <name>Ryan Bright</name>
  </author>
  <rights>Copyright (c) 2011 Ryan Bright</rights>
  
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/rbright/JspY" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="rbright/jspy" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <title>Self-Awareness through Measurement</title>
    <link href="http://www.ryanbright.me/2011/07/07/self-awareness-through-measurement/" />
    <updated>2011-07-07T12:49:27-04:00</updated>
    <id>http://www.ryanbright.me/2011/07/07/self-awareness-through-measurement/</id>
    <summary type="html">&lt;p&gt;Over the past few days, I’ve developed an addiction with the &lt;a href="http://quantifiedself.com/"&gt;self-tracking movement&lt;/a&gt; and have begun brainstorming various metrics that I’d like to start monitoring at a more granular level. These brainstorm sessions have generated an exceptionally long list, so I’m limiting myself for now until I’m able to optimize my methods.&lt;/p&gt;

&lt;p&gt;Since analysis is only as effective as the tools that are used to perform it, I’ve spent some time researching some good ones for the job(s) at hand. Here’s what I’ve come up with so far:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dailyburn.com/" title="DailyBurn" target="_blank"&gt;&lt;img src="/images/2011/07/dailyburn.png" alt="DailyBurn" class="alignright" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href="http://dailyburn.com/"&gt;DailyBurn&lt;/a&gt; provides a great set of tools for planning and tracking your workouts, meals, and overall health. I’ve added all of my favorite exercises to reflect my typical workout routines so that I can easily log my progress after I leave the gym each day. I’ve also been logging every serving of food that I eat to help me conquer the dreadful eating habits that I picked up during college. As an added bonus, DailyBurn sends me periodic emails to let me know which nutrients are lacking in my diet along with a long list of foods I can eat to supplement those nutrients. I highly recommend this one for anyone that wants to get into shape.&lt;/p&gt;

    &lt;p&gt;&lt;a href="http://mdlabs.se/sleepcycle/" title="Sleep Cycle" target="_blank"&gt;&lt;img src="/images/2011/07/sleepcycle.png" alt="Sleep Cycle" class="alignright" /&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href="http://mdlabs.se/sleepcycle/"&gt;Sleep Cycle&lt;/a&gt; is an innovative alarm clock that uses the iPhone’s accelerometer to determine what phase of sleep you’re in throughout the night and wake you up when you’re going to be least groggy. I’ve been able to crudely estimate the number of hours I’m in bed each night (not many), but this tool allows me to measure the quality of sleep that I’m getting so that I fully understand the reasoning behind my morning coffee rush. This one’s probably going to be difficult unless you’re sleeping solo or in a King-sized bed, so it may not be for everyone.&lt;/p&gt;

    &lt;figure&gt;
     &lt;img src="/images/2011/07/sleepgraph.png" alt="Wakoopa" class="aligncenter" /&gt;
     &lt;p&gt;Sleep graph from July 5-6&lt;/p&gt;
 &lt;/figure&gt;

    &lt;p&gt;&lt;a href="http://social.wakoopa.com/" title="Wakoopa" target="_blank"&gt;&lt;img src="/images/2011/07/wakoopa.png" alt="Wakoopa" class="alignright" /&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href="http://social.wakoopa.com/"&gt;Wakoopa&lt;/a&gt; provides insights into how you spend your time on your computer. It runs silently in the background of Mac OS X, Linux, and Windows and tracks the amount of time you actively use the various applications on your machine. At the end of each day, the website generates a usage report that allows you to visualize which categories you spend the most time on throughout the day. While I’ve become quite aware of my habits since I started using Wakoopa in 2007, it’s always helpful to know that I could spend a little less time using &lt;a href="http://adium.im/"&gt;Adium&lt;/a&gt;. :)&lt;/p&gt;

    &lt;figure&gt;
     &lt;img src="/images/2011/07/appusage.png" alt="Application usage" class="aligncenter" /&gt;
     &lt;p&gt;Usage breakdown for the week of June 20&lt;/p&gt;
 &lt;/figure&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Using pen and paper allows me to make quick notes about my workflow (and lack thereof) when I’m at the office. Each time I get distracted by &lt;a href="http://plus.google.com/"&gt;wonderful web goodies&lt;/a&gt;, I note the times that I lost and regained focus. Each time someone wanders into my cubicle to ask me a question, I note their times of arrival and departure. Hour long meetings? Noted. At the end of each day, I enter all of these times into Google Calendar so I can visualize my work day and better estimate my level of productivity. Today, I was only shooting 51.08% and really fell off the wagon after lunch. I’m hoping that continued analysis can help me determine my prime productivity hours throughout the day and also allow me to accurately measure and increase my capacity for &lt;a href="http://en.wikipedia.org/wiki/Scrum_(development)"&gt;SCRUM&lt;/a&gt; planning.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These tools work great on their own, but I’m currently working on a more centralized solution that will leverage the APIs of each service to display the information that I’m most interested in. Additionally, I plan to build a few simple tools to assist me in recording and displaying various metrics that are more difficult to automate.&lt;/p&gt;

&lt;p&gt;Next up on my self-tracking list:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;How strong is the correlation between my mood, diet, exercise, and sleep quality?&lt;/li&gt;
  &lt;li&gt;How do my blood pressure and heart rate change as my diet changes?&lt;/li&gt;
  &lt;li&gt;How does listening to music affect my overall productivity at work?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stay tuned!&lt;/p&gt;

</summary>
  </entry>
  
  <entry>
    <title>Blogging with Jekyll and Git</title>
    <link href="http://www.ryanbright.me/2011/06/26/blogging-with-jekyll-and-git/" />
    <updated>2011-06-26T11:09:04-04:00</updated>
    <id>http://www.ryanbright.me/2011/06/26/blogging-with-jekyll-and-git/</id>
    <summary type="html">&lt;script src="/js/syntaxhighlighter/shCore.js"&gt;&lt;/script&gt;

&lt;script src="/js/syntaxhighlighter/shBrushBash.js"&gt;&lt;/script&gt;

&lt;p&gt;&lt;a href="http://jekyllrb.com/" title="Jekyll"&gt;&lt;img src="/images/2011/06/jekyll.png" alt="Jekyll" class="alignleft" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In recent years, social media like &lt;a href="http://www.twitter.com/" title="Twitter"&gt;Twitter&lt;/a&gt; and &lt;a href="http://www.facebook.com/" title="Facebook"&gt;Facebook&lt;/a&gt; have allowed me to communicate my ideas in small, palatable bites of information. This format was revolutionary (no pun intended) for the conflicts in &lt;a href="http://mashable.com/2011/02/01/egypt-twitter-infographic/" title="How Egyptians Used Twitter During the January Crisis"&gt;Egypt&lt;/a&gt; and &lt;a href="http://www.time.com/time/world/article/0,8599,1905125,00.html" title="Iran Protests: Twitter, the Medium of the Movement"&gt;Iran&lt;/a&gt;, and it’s allowed me to bitch about traffic and my university with stunning efficiency. Though, there are still times when I’d like to convey a longer or more complex message to the handful of people that might stumble upon my web presence. While &lt;a href="http://www.tumblr.com/" title="Tumblr"&gt;Tumblr&lt;/a&gt; has served as a happy medium for some, I don’t feel that we’ve fully eluded the need for traditional, robust blogging platforms like WordPress and TypePad.&lt;/p&gt;

&lt;p&gt;But I don’t want to use WordPress. I may dabble in the art of spewing my thoughts and opinions on the Internet, but let’s face it – I’m a programmer. For me to write paragraphs of content that may never be read by another human being, my platform needs to be covered in peanut butter to hide the fact that I’m generating content written in human-readable language. Enter &lt;a href="http://www.github.com/mojombo/jekyll" title="Jekyll"&gt;Jekyll&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Jekyll is a static site generator that allows me to build my blog using the tools that are already a part of my daily workflow – &lt;a href="http://code.google.com/p/macvim/" title="MacVim"&gt;MacVim&lt;/a&gt;, &lt;a href="http://git-scm.com/" title="Git"&gt;Git&lt;/a&gt;, and &lt;a href="http://www.ruby-lang.org/en/" title="Git"&gt;Ruby&lt;/a&gt;. All markup, styling, and extensions are written using my own tools, so I can be sure that the only &lt;a href="http://www.asp.net/" title="Microsoft ASP.NET"&gt;spaghetti code&lt;/a&gt; being generated on my pages will be something that I have written myself. Additionally, I’m able to manage the content on my blog by tossing it all into a Git repository that can be pushed to my server. There’s nothing quite like “git reset –hard” to crumple a sheet of digital paper, eh?&lt;/p&gt;

&lt;p&gt;Many people have written about how to migrate &lt;a href="http://vitobotta.com/how-to-migrate-from-wordpress-to-jekyll/#converting-to-markdown"&gt;from WordPress to Jekyll&lt;/a&gt;, so I won’t bother trying to oust these great tutorials. However, if you’d like to integrate Git into your Jekyll workflow, I’ve provided a simple shell script to help you get started. The script is executed each time a push is made to the remote repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; I’m assuming that you’ve installed the Jekyll gem on your server along with all of its dependencies. Additionally, you might want to &lt;a href="http://progit.org/book/ch4-8.html" title="Gitolite"&gt;setup Gitolite&lt;/a&gt; to simplify management of your repositories.&lt;/p&gt;

&lt;pre class="brush: bash"&gt;
#!/bin/sh
# File: $HOME/repositories/ryanbright.me.git/hooks/post-receive
export GEM_HOME=/usr/local/rvm/gems/ruby-1.9.2-p290

GIT_REPO=$HOME/repositories/ryanbright.me.git
TMP=/tmp/ryanbright.me
PUBLIC_HTML=/srv/www/ryanbright.me/public_html
JEKYLL=/usr/local/rvm/gems/ruby-1.9.2-p290/bin/jekyll

rm -Rf $TMP
rm -Rf $PUBLIC_HTML/*
git clone $GIT_REPO $TMP
$JEKYLL --no-auto $TMP $PUBLIC_HTML
chmod -R 755 $PUBLIC_HTML/*
rm -Rf $TMP

exit
&lt;/pre&gt;

&lt;p&gt;I’m looking forward to digging more into Jekyll throughout the coming weeks, but I’m happy to have my blog up and running for now – WordPress free. If you’re in the market for a lightweight, customizable blogging system, give Jekyll a try!&lt;/p&gt;

&lt;script src="/js/syntaxhighlighter/shLoad.js"&gt;&lt;/script&gt;

</summary>
  </entry>
  
  <entry>
    <title>Algorithms Revisited: Fibonacci Sequence</title>
    <link href="http://www.ryanbright.me/2010/08/15/algorithms-revisited-fibonacci-sequence/" />
    <updated>2010-08-15T21:58:13-04:00</updated>
    <id>http://www.ryanbright.me/2010/08/15/algorithms-revisited-fibonacci-sequence/</id>
    <summary type="html">&lt;script src="/js/syntaxhighlighter/shCore.js"&gt;&lt;/script&gt;

&lt;script src="/js/syntaxhighlighter/shBrushRuby.js"&gt;&lt;/script&gt;

&lt;p&gt;With another school semester on the horizon, I’ve been reviewing old course material to refresh my memory. Since a lot of this material is useful when devising algorithms, I’m going to spend the next few weeks revisiting some of the more interesting concepts. First up is the &lt;a href="http://en.wikipedia.org/wiki/Fibonacci_number" title="Fibonacci numbers"&gt;Fibonacci sequence&lt;/a&gt;. This is the sequence F(n) = F(n-2) + F(n-1) where F(0) = 0 and F(1) = 1.&lt;/p&gt;

&lt;p&gt;If we wish to determine a given Fibonacci number n, there are several approaches we can take. The approaches I’ll cover here involve recursion, iteration, Binet’s formula, and matrix form. Each of the following examples assumes that the algorithm is handling a positive integer, and all were validated with Ruby 1.8.7.&lt;/p&gt;

&lt;h4 id="recursion"&gt;Recursion&lt;/h4&gt;

&lt;pre class="brush: ruby"&gt;
def F(n)
  return n if n == 0 or n == 1
  return F(n - 2) + F(n - 1)
end
&lt;/pre&gt;

&lt;p&gt;This naive solution uses &lt;a href="http://en.wikipedia.org/wiki/Recursion" title="Recursion"&gt;recursion&lt;/a&gt; to calculate the value of a Fibonacci number and runs in &lt;a href="http://en.wikipedia.org/wiki/Time%20complexity#Exponential_time" title="Exponential time"&gt;exponential time&lt;/a&gt;. While the solution is viable for small values of n, the algorithm’s lack of memory will cause the execution to take significantly longer for larger values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; Find the fifth Fibonacci number.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/2010/08/fib_naive.png" alt="Fibonacci (Naive)" title="Fibonacci (Naive)" /&gt;&lt;/p&gt;

&lt;p&gt;As you can see, there is a lot of redundancy in this algorithm because we do not store each Fibonacci number as it is calculated. This deficiency can be alleviated by using an &lt;a href="http://en.wikipedia.org/wiki/Iteration" title="Iteration"&gt;iterative approach&lt;/a&gt; to hold the value of each Fibonacci number as long as it is needed by a subsequent calculation.&lt;/p&gt;

&lt;h4 id="iteration"&gt;Iteration&lt;/h4&gt;

&lt;pre class="brush: ruby"&gt;
def F(n)
  return n if n == 0 or n == 1
  f = Array[0, 1]
  (n - 1).times { f[0], f[1] = f[1], f[0] + f[1] }
  return f[1]
end
&lt;/pre&gt;

&lt;p&gt;As mentioned before, this approach will only store a Fibonacci number for as long as it is required by a subsequent calculation. Since a Fibonacci number is the sum of the two Fibonacci numbers before it, these are the only two values that we need to remember. Using this approach allows us to efficiently determine a Fibonacci number in &lt;a href="http://en.wikipedia.org/wiki/Time%20complexity#Linear_time" title="Linear time"&gt;linear time&lt;/a&gt; while optimizing memory usage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; Find the fifth Fibonacci number.&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/2010/08/fib_memo.png" alt="Fibonacci (Memoization)" title="Fibonacci (Memoization)" /&gt;&lt;/p&gt;

&lt;h4 id="binets-formula"&gt;Binet’s Formula&lt;/h4&gt;

&lt;pre class="brush: ruby"&gt;
PHI = (1 + Math.sqrt(5)) / 2

def F(n)
  return ((PHI ** n - (-1 / PHI) ** n) / Math.sqrt(5)).to_i
end
&lt;/pre&gt;

&lt;p&gt;Depending on the desired accuracy level, a Fibonacci number can be approximated in &lt;a href="http://en.wikipedia.org/wiki/Time%20complexity#Constant_time"&gt;constant time&lt;/a&gt; using &lt;a href="http://en.wikipedia.org/wiki/Fibonacci_number#Relation_to_the_golden_ratio"&gt;Binet’s formula&lt;/a&gt;. The formula provides exact values of F(n) for “reasonable” values of n, but the tests I conducted using my Ruby scripts for Binet’s formula and iteration show a deviation at n = 72. Since a linear algorithm executing to n = 72 in linear time will execute in approximately the same time as an algorithm in constant time on modern hardware, there’s little benefit to using Binet’s formula for solving this problem.&lt;/p&gt;

&lt;h4 id="matrix"&gt;Matrix&lt;/h4&gt;

&lt;pre class="brush: ruby"&gt;
require 'matrix'

M = Matrix[[0, 1], [1, 1]]

def F(n)
  return n if n == 0 or n == 1
  lower_right(M ** (n - 1))
end

def lower_right(matrix)
  return matrix[matrix.row_size - 1, matrix.column_size - 1]
end
&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; After reading a few of the &lt;a href="http://www.reddit.com/r/programming/comments/d1kxc/algorithms_revisited_fibonacci_sequence"&gt;comments on Reddit&lt;/a&gt;, I decided to add the matrix form solution to the list of approaches for this problem. The &lt;a href="http://en.wikipedia.org/wiki/Fibonacci%20number#Matrix_form"&gt;Wikipedia article&lt;/a&gt; contains a better explanation of the theory than I could ever provide, so I’ll just explain how the above algorithm works.&lt;/p&gt;

&lt;p&gt;To perform exponentiation of a matrix, we can continuously multiply the matrix by itself. This is accomplished by using the following formula:&lt;/p&gt;

&lt;p&gt;&lt;img src="/images/2010/08/matrix_mult.png" alt="Matrix multiplication" title="Matrix multiplication" /&gt;&lt;/p&gt;

&lt;p&gt;Using this formula with the original matrix M = [[0,1], [1,1]], we can calculate the matrix for F(5) where the lower right value is the Fibonacci number.&lt;/p&gt;

&lt;p&gt;This algorithm will execute in &lt;del&gt;logarithmic time&lt;/del&gt; linear time, providing us with an efficient and accurate method for calculating Fibonacci numbers.&lt;/p&gt;

&lt;p&gt;I hope my tutorial for finding any number of the Fibonacci sequence has been helpful! I’m looking forward to diving into more topics in the coming weeks, so stay tuned for more algorithmic goodness!&lt;/p&gt;

&lt;script src="/js/syntaxhighlighter/shLoad.js"&gt;&lt;/script&gt;

</summary>
  </entry>
  
  <entry>
    <title>Buildycrunken #1: Hocus Focus</title>
    <link href="http://www.ryanbright.me/2009/11/05/buildycrunken-1-hocus-focus/" />
    <updated>2009-11-05T16:54:21-05:00</updated>
    <id>http://www.ryanbright.me/2009/11/05/buildycrunken-1-hocus-focus/</id>
    <summary type="html">&lt;p&gt;&lt;a href="http://www.collexion.net/" title="Collexion"&gt;&lt;img src="images/2009/11/collexion.png" alt="Collexion" class="alignleft" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just as Newton and Leibniz contributed separately to the development of differential and integral calculus, the brilliant minds at &lt;a href="http://www.collexion.net/" title="Collexion"&gt;Collexion&lt;/a&gt; began planning their first &lt;a href="http://workatjelly.com/" title="Jelly"&gt;Jelly&lt;/a&gt; not long before I expressed the need for one in my recent article. Buildycrunken will cater to software developers, writers, artists, students, and anyone else that desires to spend his or her late nights surrounded by creative, entertaining individuals. The first event will start at 9:00pm on November 6 and last until 9:00am the following morning, posing a challenge to those passionate about their work to gauge the limits of that passion with sleep deprivation and unhealthy quantities of caffeine. For those interested in attending, the madness will begin at &lt;a href="http://www.thirdstreetstuff.com/" title="Third Street Stuff"&gt;Third Street Stuff&lt;/a&gt; at 9:00pm on November 6. I hope to see you there!&lt;/p&gt;

</summary>
  </entry>
  
  <entry>
    <title>I'd Like Some Jelly with my Coworking</title>
    <link href="http://www.ryanbright.me/2009/10/30/id-like-some-jelly-with-my-coworking/" />
    <updated>2009-10-30T22:51:57-04:00</updated>
    <id>http://www.ryanbright.me/2009/10/30/id-like-some-jelly-with-my-coworking/</id>
    <summary type="html">&lt;p&gt;&lt;a href="http://www.workatjelly.com/" title="Jelly"&gt;&lt;img src="/images/2009/10/jelly.png" alt="Jelly" class="alignleft" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since I started working at &lt;a href="http://www.awesomeinc.org/" title="Awesome Inc."&gt;Awesome Inc.&lt;/a&gt; in June, I’ve fallen in love with the concept of creative individuals coming together within a single &lt;a href="http://en.wikipedia.org/wiki/Coworking" title="Coworking"&gt;coworking space&lt;/a&gt; to share ideas and collaborate on projects. Our particular environment contains a coworking space, art studio, engineering workshop, and &lt;a href="http://www.premieredancelex.com/" title="Premiere Dance of Lexington"&gt;dance studio&lt;/a&gt;, and each component provides a unique contribution to the space’s creative vibe. However, this style of workspace has its pitfalls, as many creative, independent professionals are reluctant to invest the money required to experience working in such an environment. While not founded for this particular purpose, &lt;a href="http://workatjelly.com/" title="Jelly"&gt;Jelly&lt;/a&gt; provides an intermediate solution to those professionals wishing to transcend the boundaries of home offices and coffee shops without shelling out the fee associated with most coworking environments.&lt;/p&gt;

&lt;p&gt;What is Jelly?&lt;/p&gt;

&lt;p&gt;From the &lt;a href="http://workatjelly.com/" title="Jelly"&gt;Jelly website&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Jelly is a casual working event. It’s taken place in over a hundred cities where people have come together (in a person’s home, a coffee shop, or an office) to work for the day. We provide chairs and sofas, wireless internet, and interesting people to talk to, collaborate with, and bounce ideas off of.&lt;/p&gt;

  &lt;p&gt;You bring a laptop (or whatever you need to get your work done) and a friendly disposition.&lt;/p&gt;

  &lt;p&gt;We see a lot of designers, developers, and internet types, but we’ve also had musicians, cooks, sound designers, tea sommeliers, product designers, photographers, writers, and more.&lt;/p&gt;

  &lt;p&gt;Some of us are entrepreneurs or freelancers. Others work in an office most of the time, but work at Jelly for fresh ideas and a change of pace.&lt;/p&gt;

  &lt;p&gt;No matter what you do or what you create, you’re welcome to come to Jelly and share your talent and learn from others.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Companies such as Amazon, Hewlett-Packard, Lexmark, and IBM have had longstanding presences in Lexington, and the city also has the students and faculty of the University of Kentucky at its disposal. However, a majority of the city’s innovators are sprinkled among these institutions with few opportunities to collaborate and share ideas. Coworking spaces like &lt;a href="http://www.awesomeinc.org/" title="Awesome Inc."&gt;Awesome Inc.&lt;/a&gt; and &lt;a href="http://collexion.net/" title="Collexion"&gt;Collexion&lt;/a&gt; provide outlets for their target audiences, but what about individuals in other niches or those that don’t want to pay? Coffee shops and libraries are open environments, but this openness permits saturation by those that have no interest in collaborating.&lt;/p&gt;

&lt;p&gt;Hosting a biweekly Jelly would be a unique method for facilitating a more cohesive Lexington while also bringing individuals together for at least one common purpose - collaboration. Such an effort has the potential to lead to even greater innovations for our community, and it could be an initial step toward the greater unification of our city’s most brilliant minds.&lt;/p&gt;

&lt;p&gt;For more thoughts on the pursuit of office avoidance, &lt;a href="http://www.geekpreneur.com/" title="Geekpreneur"&gt;Geekpreneur&lt;/a&gt; has an interesting article discussing &lt;a href="http://www.geekpreneur.com/alternatives-to-cafes-and-co-working" title="Alternatives to cafes and coworking"&gt;alternatives to cafes and coworking&lt;/a&gt;.&lt;/p&gt;

</summary>
  </entry>
  
  <entry>
    <title>5 Resources for Refining Your Programming Skills</title>
    <link href="http://www.ryanbright.me/2009/10/29/5-resources-for-refining-your-programming-skills/" />
    <updated>2009-10-29T10:19:36-04:00</updated>
    <id>http://www.ryanbright.me/2009/10/29/5-resources-for-refining-your-programming-skills/</id>
    <summary type="html">&lt;p&gt;As a software developer, I often find that it’s easy to become immersed in my current projects without ever stopping to sharpen the tools in my developer toolbox. Learning to approach problems through a variety of methods is a valuable skill in developing elegant, efficient solutions. I’ve compiled a short list of websites featuring problem sets, competitions, and unique solution requirements to act as a resource for those programmers looking to get a little more out of their code. I hope it’s useful!&lt;/p&gt;

&lt;p&gt;&lt;a href="" title="Code Chef" target="_blank"&gt;&lt;img src="/images/2009/10/codechef.png" alt="Code Chef" class="alignleft" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. &lt;a href="http://www.codechef.com/" title="Code Chef"&gt;Code Chef&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CodeChef holds monthly competitions in both India and the United States, and each consists of 6-8 problems of varying difficulty levels. These contests encourage participants to write elegant code by placing restrictions on the execution time and source code file size for each problem. Due to the restriction on execution time, most participants use compiled languages for their solutions. However, solutions from a wide range of languages are accepted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Many&lt;/p&gt;

&lt;p&gt;&lt;a href="" title="Code Golf" target="_blank"&gt;&lt;img src="/images/2009/10/codegolf.png" alt="Code Golf" class="alignleft" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. &lt;a href="http://codegolf.com/" title="Code Golf"&gt;Code Golf&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Code Golf offers a unique approach to solving puzzles, as its objective is to generate solutions in the least number of keystrokes. This criteria challenges programmers to develop  efficient solutions and requires that they develop both their problem-solving abilities and programming knowledge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Python, Perl, PHP, Ruby&lt;/p&gt;

&lt;p&gt;&lt;a href="" title="Facebook Engineering Puzzles" target="_blank"&gt;&lt;img src="/images/2009/10/facebook.png" alt="Facebook Engineering Puzzles" class="alignleft" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. &lt;a href="http://www.facebook.com/careers/puzzles.php" title="Facebook Engineering Puzzles"&gt;Facebook Engineering Puzzles&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The crew at Facebook has quite a few interesting puzzles to help satisfy your appetite. In fact, they’ve cleverly labeled the difficulties as hors d’oeuvre, snack, meal, and buffet to suppress your hunger as you develop your solutions. There’s also a Facebook application that allows you to show off your progress on your profile!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; C/C++, Java, Python, Perl, PHP, Ruby, Haskell, Erlang, OCaml&lt;/p&gt;

&lt;p&gt;&lt;a href="" title="Project Euler" target="_blank"&gt;&lt;img src="/images/2009/10/projecteuler.png" alt="Project Euler" class="alignleft" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. &lt;a href="http://projecteuler.net/" title="Project Euler"&gt;Project Euler&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Project Euler presents a series of mathematical and computer programming puzzles with varying difficulty levels. To allow more developers to participate, the problems are designed in a “chain” style so that easier puzzles will introduce concepts that are useful in harder ones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Any&lt;/p&gt;

&lt;p&gt;&lt;a href="" title="UVa Online Judge" target="_blank"&gt;&lt;img src="/images/2009/10/uvaonlinejudge.png" alt="UVa Online Judge" class="alignleft" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. &lt;a href="http://uva.onlinejudge.org/" title="UVa Online Judge"&gt;UVa Online Judge&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The UVa Online Judge website features a robust set of problems along with periodic contests to gauge the skill level of participants.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages:&lt;/strong&gt; Varies by Contest&lt;/p&gt;

</summary>
  </entry>
  
  <entry>
    <title>The Fun Theory</title>
    <link href="http://www.ryanbright.me/2009/10/23/the-fun-theory/" />
    <updated>2009-10-23T23:55:12-04:00</updated>
    <id>http://www.ryanbright.me/2009/10/23/the-fun-theory/</id>
    <summary type="html">&lt;p&gt;The innovative engineers of Volkswagen recently launched a project designed to tackle societal issues by developing entertaining products that alter human behavior. &lt;a href="http://thefuntheory.com/" title="The Fun Theory"&gt;The Fun Theory&lt;/a&gt; has already developed approaches for countering the issues of &lt;a href="http://thefuntheory.com/piano-staircase" title="Piano Staircase"&gt;obesity&lt;/a&gt;, &lt;a href="http://thefuntheory.com/worlds-deepest-bin" title="World's Deepest Bin"&gt;waste disposal&lt;/a&gt;, and &lt;a href="http://thefuntheory.com/bottle-bank-arcade-machine" title="Bottle Bank Arcade Machine"&gt;glass recycling&lt;/a&gt;, and I’m eagerly anticipating their next product release. Furthermore, I’d love to see some similar projects pop up here in Lexington!&lt;/p&gt;

</summary>
  </entry>
  
  <entry>
    <title>TechStars 2009 Recap</title>
    <link href="http://www.ryanbright.me/2009/08/16/techstars-2009-recap/" />
    <updated>2009-08-16T22:01:00-04:00</updated>
    <id>http://www.ryanbright.me/2009/08/16/techstars-2009-recap/</id>
    <summary type="html">&lt;p&gt;&lt;a href="http://www.techstars.org/" title="TechStars" target="_blank"&gt;&lt;img src="/images/2009/08/techstars.png" alt="TechStars" class="alignleft" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As fate would have it, I’ve found myself without quality air conditioning on a day when such an amenity is quite necessary. Gazing around the &lt;a href="http://www.commongroundsoflexington.com/" title="Common Grounds Coffee House"&gt;coffee house&lt;/a&gt; currently sheltering me from heat-induced migraines and an endless battle with perspiration, I’ve become quite fascinated with each of the faces illuminated by laptop screens and smart phones. Essentially the entire customer base is bridged to the outside world by a technological medium, and each of us is vigorously using our respective bridge for some unique (or &lt;a href="http://twitter.com/" title="Twitter"&gt;not so unique&lt;/a&gt;) purpose. While some may consider this accessibility a plague to humanity, those of us that cradle our electronic devices like newborn children have learned to appreciate the possibilities presented by the rapid advancements in technology seen through recent years. In order to keep the innovation flowing, it’s imperative that brilliant, new ideas be nurtured and given the opportunity to flourish. Last week, the &lt;a href="http://www.awesomeinc.org/" title="Awesome Inc."&gt;Awesome Inc.&lt;/a&gt; team traveled to Boulder, Colorado to learn more about an organization that is doing just that.&lt;/p&gt;

&lt;p&gt;From the &lt;a href="http://www.techstars.org/" title="Tech Stars"&gt;TechStars website&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;TechStars is a mentorship-driven seed stage investment fund. Each year we run a summer-long program in Boulder, Colorado and Cambridge, Massachusetts. We’re very selective - each year hundreds of companies apply to the program and we only take about ten per city. These companies get up to $18,000 in seed funding, a summer of intensive top-notch mentorship, and the chance to pitch to angel investors and venture capitalists at the end of the summer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In summary, TechStars accepts twenty companies out of roughly five-hundred applicants and provides those companies with &lt;a href="http://en.wikipedia.org/wiki/Seed_money" title="Seed money"&gt;seed funding&lt;/a&gt; and mentorship during a three-month summer bootcamp. After an intensive preparation, each company pitches its idea to investors and &lt;a href="http://en.wikipedia.org/wiki/Venture_capital" title="Venture capital"&gt;venture capitalists&lt;/a&gt; in an attempt to raise the funding necessary to make its aspirations a reality. In past years, the organization has aided projects like &lt;a href="http://intensedebate.com/" title="Intense Debate"&gt;IntenseDebate&lt;/a&gt;, &lt;a href="http://socialthing.com/" title="Social thing"&gt;Socialthing!&lt;/a&gt;, &lt;a href="http://brightkite.com/" title="Bright kite"&gt;Brightkite&lt;/a&gt;, and &lt;a href="http://www.dailyburn.com/" title="Daily burn"&gt;Gyminee&lt;/a&gt; obtain the knowledge and resources necessary to take their projects to the level that they are at today. We had the pleasure of sitting through this year’s pitch day to see some of the up-and-coming projects designed to take the world by storm. Here is the list of companies that presented.&lt;/p&gt;

&lt;p&gt;Out of those ideas presented, my favorites were &lt;a href="http://www.nextbigsound.com/" title="Next Big Sound"&gt;Next Big Sound&lt;/a&gt;, &lt;a href="http://www.takecomics.com/" title="Take Comics"&gt;Take Comics&lt;/a&gt;, &lt;a href="http://www.spryplanner.com/" title="Spry Planner"&gt;Spry&lt;/a&gt;, and &lt;a href="http://www.reteltechnologies.com/" title="ReTel Technologies"&gt;ReTel&lt;/a&gt;, but I find each of the ten to be highly useful to its targeted audience. I hope to see each of these projects thrive within the next few years and pave the way for future innovations. Keep doing what you’re doing, TechStars! The world needs &lt;a href="http://ycombinator.com/" title="YCombinator"&gt;more organizations like you&lt;/a&gt;!&lt;/p&gt;

</summary>
  </entry>
  
</feed>

