<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Rhys Powell's Waste of Space</title>
 <link href="http://rpowell.me/atom.xml" rel="self"/>
 <link href="http://rpowell.me/"/>
 <updated>2013-03-19T23:49:51-07:00</updated>
 <id>http://rpowell.me/</id>
 <author>
   <name>Rhys Powell</name>
   <email>rhys@rpowell.me</email>
 </author>

 
 <entry>
   <title>HackAGong</title>
   <link href="http://rpowell.me/2012/11/26/hackagong.html"/>
   <updated>2012-11-26T00:00:00-08:00</updated>
   <id>http://rpowell.me/2012/11/26/hackagong</id>
   <content type="html">&lt;p&gt;So I&amp;rsquo;m going to tell you all today about how spending 30 hours in a hot room, hunched over a laptop is one of the best things I&amp;rsquo;ve ever done from a learning perspective.&lt;/p&gt;

&lt;p&gt;For the uninformed and uninitiated, &lt;a href=&quot;http://hackagong.com&quot;&gt;HackAGong&lt;/a&gt; is Wollongong&amp;rsquo;s first ever Hackathon, an event where teams of coders, designers and the occasional business types form teams to hack out a cool project over a weekend. I was pretty green going into it and not entirely sure what to expect, but in the end I teamed up with a &lt;a href=&quot;http://www.jordesign.com&quot;&gt;super talented designer&lt;/a&gt; who I&amp;rsquo;d never met before the morning of the event and went on to win desks at the StartPad over the summer.&lt;/p&gt;

&lt;p&gt;So with that in mind, I&amp;rsquo;d like to think I can offer up a few pieces of advice to anyone looking to compete in the future.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Design is everything&lt;/strong&gt; – I can&amp;rsquo;t overstate this enough, while our idea was good and well executed, it was design that put us in the lead. Simply adding some animation to the page made for a &lt;em&gt;much&lt;/em&gt; better demo and definitely got people interested. For all intents and purposes, your app is just an interface, make sure it&amp;rsquo;s a well designed one.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Don&amp;rsquo;t be too ambitious&lt;/strong&gt; – This applied even more to our two person team. What you really want is a simple idea that you can get working quickly and then put a ton of polish into. We initially toyed around with some more complicated ideas but decided to go for something simpler and were better off for it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Experiment&lt;/strong&gt; – Our entire project was built in &lt;a href=&quot;http://emberjs.com&quot;&gt;Ember.js&lt;/a&gt;, a framework that I&amp;rsquo;d only briefly toyed around with before the event. I used HackAGong as an excuse to play around with new tools, try things I wouldn&amp;rsquo;t do in a larger project, and as a result I learnt a ton.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Don&amp;rsquo;t take it too seriously&lt;/strong&gt; – Hackathons should be about fun first and foremost. My favourite projects of the night—&lt;a href=&quot;http://melon.im&quot;&gt;Melon.im&lt;/a&gt; and &lt;a href=&quot;http://godhowiwishiwasassexyas.brennanhatton.com&quot;&gt;The Towers&lt;/a&gt;—weren&amp;rsquo;t the ones that made for viable businesses or were the most technically impressive, they weren&amp;rsquo;t trying to be, that&amp;rsquo;s what I love about the hacker culture.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;So that&amp;rsquo;s what I&amp;rsquo;ve learnt from HackAGong, I had a ton of fun at the event and really urge everyone to participate next time around.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Asking Questions</title>
   <link href="http://rpowell.me/2012/10/30/asking-questions.html"/>
   <updated>2012-10-30T00:00:00-07:00</updated>
   <id>http://rpowell.me/2012/10/30/asking-questions</id>
   <content type="html">&lt;p&gt;If you ever spend much time around kids you&amp;rsquo;ll notice that they ask &lt;em&gt;a lot&lt;/em&gt; of questions, like a non-stop barrage of them. They&amp;rsquo;re not overly concerned with seeming more intelligent than they are, just curious. Contrast that to most adults you&amp;rsquo;ll meet: they&amp;rsquo;re reserved, quite, and frankly &lt;em&gt;afraid&lt;/em&gt; to ask questions.&lt;/p&gt;

&lt;p&gt;What&amp;rsquo;s the deal with that? It&amp;rsquo;s like at some point we decide we&amp;rsquo;ve learnt everything there is to know and simply ignore any evidence to the contrary. When confronted with something that we don&amp;rsquo;t know, our instinct is to feign intelligence, to act like we know what we&amp;rsquo;re talking about. &lt;em&gt;That&amp;rsquo;s incredibly harmful&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Honestly, that&amp;rsquo;s an untenable position for a software developer. Every day new platforms, frameworks and ideas come along that threaten to undermine all that we&amp;rsquo;ve learnt so far. Without the ability to keep asking questions—to keep learning—we&amp;rsquo;re likely to get left behind.&lt;/p&gt;

&lt;p&gt;So start asking questions, like a non-stop barrage of them. Because that&amp;rsquo;s how we &lt;em&gt;learn&lt;/em&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Rethinking the CSS Grid</title>
   <link href="http://rpowell.me/code/2012/08/02/rethinking-the-css-grid.html"/>
   <updated>2012-08-02T00:00:00-07:00</updated>
   <id>http://rpowell.me/code/2012/08/02/rethinking-the-css-grid</id>
   <content type="html">&lt;p&gt;I&amp;rsquo;m a big fan of the &lt;a href=&quot;http://sass-lang.com/&quot;&gt;Sass&lt;/a&gt; stylesheet languge. The addition of mixins, variables, inheritence, and flow control to CSS coupled with its simplified syntax make tasks that would have been difficult or impossible with regular CSS much simpler. I&amp;rsquo;m also a fan of CSS grids, from the complicated 16-column variety to the &lt;a href=&quot;https://github.com/samsoffes/grater&quot;&gt;simple two column responsive grid&lt;/a&gt; I use on this site. Recently I&amp;rsquo;ve been thinking about how these two technologies fit together, how Sass can make CSS grids work better, and in doing the responsive redesign of this site I think I&amp;rsquo;ve come up with a pretty good solution.&lt;/p&gt;

&lt;p&gt;Ideally when you&amp;rsquo;re building a site you want clear separation of duties between your HTML and CSS; the HTML handles the content and the CSS styles it. But with most CSS grids this line is blurred, HTML is littered with classes like &lt;code&gt;span6&lt;/code&gt; and &lt;code&gt;container&lt;/code&gt;, classes that deal with styling rather than content. Of course, when you&amp;rsquo;re writing straight CSS this is done to ensure reusability of grid styles across a project. But if you&amp;rsquo;re like me, you rarely work with straight CSS nowadays so it&amp;rsquo;s time to rethink this approach to grids.&lt;/p&gt;

&lt;p&gt;My new approach takes advantage of Sass&amp;rsquo;s mixins to add grid properties to HTML elements straight in the CSS. Here&amp;rsquo;s what my site&amp;rsquo;s &lt;code&gt;grid.sass&lt;/code&gt; file looks like right now:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;sass&quot;&gt;&lt;span class=&quot;c1&quot;&gt;// Grid styles, heavily derived from Grater&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// https://github.com/samsoffes/grater&lt;/span&gt;

&lt;span class=&quot;nt&quot;&gt;body&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$large-container-width&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;auto&lt;/span&gt;

  &lt;span class=&quot;k&quot;&gt;@media&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;{$&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;small-media-query&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$small-container-width&lt;/span&gt;

&lt;span class=&quot;nf&quot;&gt;=split&lt;/span&gt;
  &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;div&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;header&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;section&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;footer&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;nav&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$column-width&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;em&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;:first-child&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;left&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;:last-child&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;right&lt;/span&gt;

  &lt;span class=&quot;c1&quot;&gt;// Clearfix&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;zoom&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;

  &lt;span class=&quot;k&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;:before&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;:after&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;table&lt;/span&gt;

  &lt;span class=&quot;k&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;:after&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;clear&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;both&lt;/span&gt;

  &lt;span class=&quot;k&quot;&gt;@media&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;{$&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;small-media-query&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;margin-bottom&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;em&lt;/span&gt;

    &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;div&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;header&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;section&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;footer&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;nav&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;none&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;!important&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;auto&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;em&lt;/span&gt;


&lt;span class=&quot;nc&quot;&gt;.split&lt;/span&gt;
  &lt;span class=&quot;nd&quot;&gt;+split&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;As you can see, the grid styles are implemented as a Sass mixin, I also define a &lt;code&gt;.split&lt;/code&gt; class for purposes such as displaying images side by side in a post but this is rarely used.&lt;/p&gt;

&lt;p&gt;Now when I want to apply grid properties to a part of my site, I can simply use code like the following:&lt;/p&gt;

&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;sass&quot;&gt;&lt;span class=&quot;nt&quot;&gt;body&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;header&lt;/span&gt;
    &lt;span class=&quot;nd&quot;&gt;+split&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;This allows me to keep ugly grid classes out of my HTML and still get all the benefit of reusable grid styles. I really liked how easy this was to implement on my site&amp;rsquo;s redesign and I think I&amp;rsquo;ll use this technique in all my personal projects going forward.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Digg's Braindead Redesign</title>
   <link href="http://rpowell.me/2012/08/01/diggs-braindead-redesign.html"/>
   <updated>2012-08-01T00:00:00-07:00</updated>
   <id>http://rpowell.me/2012/08/01/diggs-braindead-redesign</id>
   <content type="html">&lt;p&gt;&lt;a href=&quot;http://digg.com&quot;&gt;Digg&lt;/a&gt; relaunched today amidst some fanfare with a completely rebuilt site, brand new iPhone app and complete repositioning of their brand. Overall it&amp;rsquo;s a pretty nice upgrade and I wish them all the best in the future—Reddit and its ilk have gotten pretty bad over the past few years for actually finding interesting content. But there&amp;rsquo;s one aspect of the relaunch that bugs me a bit, something that&amp;rsquo;s by no means unique to Digg; the layout of its homepage.&lt;/p&gt;

&lt;p&gt;Digg, like many other recent websites, has chosen to make its homepage layout some bizarre hybrid between Flipboard and Pinterest resulting in a jumbled mess of content that&amp;rsquo;s hard to sensibly navigate. There&amp;rsquo;s no clear discernible order to anything on the page, just a bunch of haphazard columns. The difference is best illustrated with a diagram:&lt;/p&gt;

&lt;div class=&quot;split&quot;&gt;
    &lt;div&gt;
        &lt;img src=&quot;/images/posts/digg/regular.png&quot; alt=&quot;Home sweet home&quot; /&gt;
    &lt;/div&gt;
    &lt;div&gt;
        &lt;img src=&quot;/images/posts/digg/crazy.png&quot; alt=&quot;The wild, wild west&quot; /&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;As you can see on a regular web page the reading order is clear, your eyes read through one article and then move down to the next. But in this new Pinterest-inpsired design there&amp;rsquo;s no obvious order to the post, your eyes dart around, trying to comprehend the clustercuss that is this design and the website&amp;rsquo;s functionality suffers for it.&lt;/p&gt;

&lt;p&gt;I don&amp;rsquo;t mean to damn anything that isn&amp;rsquo;t a simple top to bottom layout, Flipboard for example does a wonderful job of presenting well laid out content. It just doesn&amp;rsquo;t work as well with a scrolling webpage as it does with a paginated app. It&amp;rsquo;s a symptom of people blindly taking inspiration from sites they find aesthetically appealing without considering how appropriate said designs are for their own software.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>My First App</title>
   <link href="http://rpowell.me/2012/06/30/my-first-app.html"/>
   <updated>2012-06-30T00:00:00-07:00</updated>
   <id>http://rpowell.me/2012/06/30/my-first-app</id>
   <content type="html">&lt;p&gt;I&amp;rsquo;ve historically not been the best at shipping things; I get partway through a project and my mind wanders to something else. But as we all know &lt;em&gt;real artists ship&lt;/em&gt; and as I fell victim to my own procrastination I realised I hadn&amp;rsquo;t shipped anything substantial in far too long. So I got my stuff together and learnt how to make iPhone apps.&lt;/p&gt;

&lt;p&gt;Over the past month or so I&amp;rsquo;ve scoured docs, bugged people on IRC channels and fought my own desire to simply sit around playing SimCity to actually ship something. With that in mind I&amp;rsquo;d like to announce my first app: Parked for iPhone. You can learn more about the app over at its &lt;a href=&quot;http://rpowell.me/projects/parked&quot;&gt;project page&lt;/a&gt; but the short version is that it helps you find your car and remember to do so before your parking ticket runs out.&lt;/p&gt;

&lt;p&gt;There&amp;rsquo;s a lot I still want to do with the app but I feel I&amp;rsquo;ve produced a fairly solid 1.0 and I hope you&amp;rsquo;ll agree. For something like a week I&amp;rsquo;ve been telling myself this app isn&amp;rsquo;t good enough to release, but in that week I took a break from development and just allowed myself to relax and—upon looking at the app with fresh eyes—I&amp;rsquo;m now pretty happy with it.&lt;/p&gt;

&lt;p&gt;I think this is something we run into a lot with the things we make, we get to close to our projects, approaching them with a magnifying glass and critiquing every little detail, we lose sight of the bigger picture. So many times I&amp;rsquo;ve gotten stuck in this mindset, seeing every bit of messy code and every imperfect asset; it demotivates me and it&amp;rsquo;s why a lot of my projects fail. These things that I work on end up gathering dust on my hard drive and never reaching their users simply because I&amp;rsquo;m unhappy with the codebase or unsure about the UX design.&lt;/p&gt;

&lt;p&gt;But for this project I did away with that perfectionist mindset, I looked at my project from the outside and realised that despite its imperfections it was worth shipping. Maybe the next time you&amp;rsquo;re changing some code because it isn&amp;rsquo;t DRY enough you should step back, take a look at your project and ask if you can ship it anyway. Code can be refactored later, UIs rearranged, but shipping comes first.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The New Site</title>
   <link href="http://rpowell.me/2011/11/21/new-site.html"/>
   <updated>2011-11-21T00:00:00-08:00</updated>
   <id>http://rpowell.me/2011/11/21/new-site</id>
   <content type="html">&lt;p&gt;I&amp;rsquo;ve been thinking for a while that I should probably set up a personal site, somewhere where I could post things I&amp;rsquo;ve written, things I&amp;rsquo;ve worked on, you get the picture. So here we are, a brand spanking new site with a clean, no-fuss design, I&amp;rsquo;m really happy with it.&lt;/p&gt;

&lt;p&gt;Now, I&amp;rsquo;m no designer, but thanks to some great open source projects and useful, free services I&amp;rsquo;ve managed to knock together something respectable. What you&amp;rsquo;re looking at is a static HTML page generated by &lt;a href=&quot;http://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; and served up by &lt;a href=&quot;http://pages.github.com/&quot;&gt;GitHub Pages&lt;/a&gt;. In fact, the whole thing is open source, just &lt;a href=&quot;https://github.com/FrogBot/frogbot.github.com&quot;&gt;take a look&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I thought I&amp;rsquo;d share the process of designing and building this site in the hope that others may find it useful, so that&amp;rsquo;s what I&amp;rsquo;m doing here.&lt;/p&gt;

&lt;h2&gt;The Starting Point&lt;/h2&gt;

&lt;p&gt;Now the first thing I had to do was come up with some basic idea of how I wanted the site to look, feel and function.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;d been experimenting with Twitter&amp;rsquo;s &lt;a href=&quot;http://twitter.github.com/bootstrap/&quot;&gt;Bootstrap&lt;/a&gt; framework and decided to use that as the base for my site. Bootstrap gave me a rigid grid to work with and really let me prototype freely during the early stages of designing the site. It also provides some nice default typography styles which I&amp;rsquo;m using pretty much as-is to make my articles look great.&lt;/p&gt;

&lt;p&gt;I did make a few changes however, I dropped the grid column count down to 12 resulting in a site that&amp;rsquo;s only 700 pixels wide. I also set the base font size to 16 pixels with a line height of 24 pixels. The result of all this is a design which is much more pleasant to read off.&lt;/p&gt;

&lt;p&gt;Now early design looked &lt;a href=&quot;/images/new-site/old-design-one.png&quot;&gt;quite&lt;/a&gt; &lt;a href=&quot;/images/new-site/old-design-two.png&quot;&gt;different&lt;/a&gt; but I&amp;rsquo;m quite happy with what I settled on in the end. With a rough idea of the design in my head, I began to think about how I was going to build it.&lt;/p&gt;

&lt;h2&gt;Derailed&lt;/h2&gt;

&lt;p&gt;Now, my initial idea for this site&amp;rsquo;s implementation was to build a CMS in Ruby on Rails, simply put this was a &lt;em&gt;bad idea&lt;/em&gt; for several reasons.&lt;/p&gt;

&lt;p&gt;Firstly, this was my first big project in Rails and I was in no way experienced enough to build something as complex as I was imagining. The more I worked on the project, the more its scope expanded and the more I came up against my own limitations and lack of experience. In the end, I had a hard to maintain, buggy piece of software that really wasn&amp;rsquo;t all that useful.&lt;/p&gt;

&lt;p&gt;I was adding features upon features upon features, the feature creep was spiralling out of control. The app was growing more and more complex, what I really needed to do was step back and look at what I really needed, what I couldn&amp;rsquo;t do without and just build that. But that&amp;rsquo;s not what I did, and I ended up with a piece of software that was unfocused and poorly thought out as a result.&lt;/p&gt;

&lt;p&gt;Lastly, it really didn&amp;rsquo;t fit in that well with my writing workflow. When I get an idea for a post I&amp;rsquo;ll usually throw it into an &amp;ldquo;ideas&amp;rdquo; note in &lt;a href=&quot;http://brettterpstra.com/project/nvalt/&quot;&gt;NValt&lt;/a&gt;, eventually getting it&amp;rsquo;s own note where I start fleshing out the idea. Finally I&amp;rsquo;ll start a new Markdown document in my &amp;lsquo;writing&amp;rsquo; folder where I&amp;rsquo;ll write the full article. With my Rails app, I could copy this Markdown source into the app, but if I made any edits, I&amp;rsquo;d have to manually keep my local copy in sync. I tend to do a lot of editing after I put a post up so this was going to be a massive pain.&lt;/p&gt;

&lt;p&gt;So for those reasons, I had to drop the Rails app and look for something else, something simpler and more attuned to my personal needs.&lt;/p&gt;

&lt;h2&gt;Jekyll &amp;amp; GitHub Pages&lt;/h2&gt;

&lt;p&gt;I&amp;rsquo;d heard about Jekyll before, a Ruby gem that generates static sites based on template data and a directory of Markdown files, but never really payed much attention to it. But I&amp;rsquo;d been learning more and more about &lt;a href=&quot;http://pages.github.com/&quot;&gt;GitHub Pages&lt;/a&gt; and seriously considering it for hosting my site. My initial plan was to use &lt;a href=&quot;http://www.heroku.com/&quot;&gt;Heroku&lt;/a&gt; but as a student I don&amp;rsquo;t make a lot of money and I couldn&amp;rsquo;t justify another monthly expense.&lt;/p&gt;

&lt;p&gt;So I started playing around with GitHub pages and this involved learning Jekyll. I really quite liked what I saw of Jekyll and, after only a few hours of playing with it, decided to use it for my site. I really like the way Jekyll lets me simply symlink my site&amp;rsquo;s &lt;code&gt;_posts&lt;/code&gt; directory within my &amp;lsquo;writing&amp;rsquo; folder, it makes it a lot easier to keep my posts up to date and fits in great with my writing workflow.&lt;/p&gt;

&lt;p&gt;All in all, it&amp;rsquo;s just way easier to do most things with Jekyll than it would have been to implement those features into my own Rails based CMS.&lt;/p&gt;

&lt;h2&gt;The Logo&lt;/h2&gt;

&lt;p&gt;I knew from the start that I wanted to call my site &lt;em&gt;A Waste of Space&lt;/em&gt;, and I wanted a cool logo to go with it. It seemed only fitting that the logo would have something to do with space, so I found an &lt;a href=&quot;http://nssdc.gsfc.nasa.gov/image/planetary/saturn/saturn.jpg&quot;&gt;image of Saturn&lt;/a&gt;, converted it to grayscale and played with the levels a bit. The result was alright but not great, and it needed to be great.&lt;/p&gt;

&lt;p&gt;I tried to make a vector logo based off of that image, but as I said before I&amp;rsquo;m no designer and the results were less than great. In the end, a friend of mine offered to draw it up for me, and the end result was just perfect.&lt;/p&gt;

&lt;p&gt;I went to embed it in the page, and it all looked pretty good, I made a point of scaling down a large image for the logo so it would look good if readers zoomed in, but this caused a problem. iOS devices, as it turns out, do little to no antialiasing on scaled images. So I had a problem, it was looking like I&amp;rsquo;d have to scale the image down and just deal with pixellation when users zoomed.&lt;/p&gt;

&lt;p&gt;But I came up with a better solution, that little logo you see at the top left of this page isn&amp;rsquo;t actually an image. What you&amp;rsquo;re seeing is SVG data embedded directly into the site&amp;rsquo;s HTML, this forces iOS devices to draw an antialiased image at every zoom level and looks great no matter how much you zoom in, just give it a try.&lt;/p&gt;

&lt;p&gt;This comes with its own set of problems that I&amp;rsquo;m currently working on fixing, for instance, the Opera browser and Android 2.x devices currently don&amp;rsquo;t render it, but I&amp;rsquo;m looking into providing an image fallback for those cases.&lt;/p&gt;

&lt;h2&gt;No Comment&lt;/h2&gt;

&lt;p&gt;I&amp;rsquo;ve neglected to add any sort of commenting features to this site, and that&amp;rsquo;s been done very deliberately. I feel that every comment section I&amp;rsquo;ve ever seen devolves into inane arguments or self promotion and I don&amp;rsquo;t want any of that on my site.&lt;/p&gt;

&lt;p&gt;Of course, if anyone likes my articles, they&amp;rsquo;re free to contact me, my email is featured prominently on this site&amp;rsquo;s home page and links to my Google+ and Twitter accounts are in the footer. I feel that if someone really wanted to give me feedback, sending me an email wouldn&amp;rsquo;t be much of a barrier.&lt;/p&gt;

&lt;p&gt;There&amp;rsquo;s also sites like Hacker News and Reddit that people can post my articles to if they want a more public forum for their thoughts and a way to read the thoughts of others. I feel that both of these solutions are preferable to having a list of comments at the bottom of each of my posts.&lt;/p&gt;

&lt;h2&gt;Finishing Up&lt;/h2&gt;

&lt;p&gt;I&amp;rsquo;m really happy with how the new site turned out, the design isn&amp;rsquo;t particularly memorable, but I&amp;rsquo;m totally fine with that. The blend of simplicity and minimalism, clarity and utility is exactly what I was aiming for when I started this project.&lt;/p&gt;

&lt;p&gt;I wanted a content focused design and that&amp;rsquo;s what I feel I&amp;rsquo;ve achieved here, I couldn&amp;rsquo;t be happier.&lt;/p&gt;

&lt;p&gt;If you have any comments, feel free to contact me via &lt;a href=&quot;mailto:rhys@rpowell.me&quot;&gt;email&lt;/a&gt; or on &lt;a href=&quot;http://twitter.com/FrogBawt&quot;&gt;Twitter&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The Joy of Text</title>
   <link href="http://rpowell.me/2011/11/11/joy-of-text.html"/>
   <updated>2011-11-11T00:00:00-08:00</updated>
   <id>http://rpowell.me/2011/11/11/joy-of-text</id>
   <content type="html">&lt;p&gt;There&amp;rsquo;s something to be said for the simple plain text file, over the past 40 years or so computing has changed immensely, yet the plain text file has stood still. This simple, enduring means of conveying information is one of the most flexible tools in computing.&lt;/p&gt;

&lt;h2&gt;A Little Background&lt;/h2&gt;

&lt;p&gt;Let me tell you a story about a program called &lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft_OneNote&quot;&gt;Microsoft OneNote&lt;/a&gt;, a note taking tool from Microsoft that&amp;rsquo;s been bundled with new copies of Office for the past few years. Now, I&amp;rsquo;m not going to beat on OneNote, in fact I think it&amp;rsquo;s a pretty good program from a utility and usability format, but it has one major flaw which I&amp;rsquo;ll get to in a minute.&lt;/p&gt;

&lt;p&gt;Now I really liked OneNote back when I used to use it, it was a great note taking tool and I used it for a lot of my subject notes in high school. It allowed me to easily organise notes, diagrams and other clippings into freeform &amp;lsquo;notebooks&amp;rsquo; and served as a pretty good organisational tool, it was a really neat piece of software. To achieve all this cool functionality, it stored all the user&amp;rsquo;s data in a proprietary &lt;code&gt;.one&lt;/code&gt; format. A weird mix of XML and image files globbed together into a single binary file.&lt;/p&gt;

&lt;p&gt;Now, this worked fine for a while, I was the only one editing these files and I didn&amp;rsquo;t have to worry about using them on other platforms because I only used Windows. Everything worked fine for a long time, but then a big change happened.&lt;/p&gt;

&lt;h3&gt;Changing Platforms&lt;/h3&gt;

&lt;p&gt;I&amp;rsquo;d been getting really into web development with &lt;a href=&quot;http://rubyonrails.org/&quot;&gt;Ruby on Rails&lt;/a&gt;, which really doesn&amp;rsquo;t work that well on Windows. I&amp;rsquo;d been dual booting Windows 7 and &lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu Linux&lt;/a&gt; (eventually switching to &lt;a href=&quot;http://www.archlinux.org/&quot;&gt;Arch Linux&lt;/a&gt;). I coded in Linux and did pretty much everything else in Windows, it worked &lt;em&gt;okay&lt;/em&gt;, but it was hardly ideal.&lt;/p&gt;

&lt;p&gt;Also around this time I participated in a &lt;a href=&quot;http://www.computing.unsw.edu.au/progcomp/&quot;&gt;local university&amp;rsquo;s programming competition&lt;/a&gt;, we made it into the finals and had to bring our own computer along. The only laptop our team had between us was my friend&amp;rsquo;s MacBook Pro, so we used that. I like it, I mean I &lt;em&gt;really&lt;/em&gt; liked it, so much so that I started saving for my own and later that year picked up the MacBook Pro that I&amp;rsquo;m writing this post on.&lt;/p&gt;

&lt;p&gt;Which brings us back to OneNote. As it turns out, there&amp;rsquo;s no version of OneNote for OS X, so I had no way of reading all those notes I&amp;rsquo;d spent untold hours compiling. Needless to say I was a little pissed off, I&amp;rsquo;d been burned for the first time by proprietary formats and I wasn&amp;rsquo;t going to let it happen again.&lt;/p&gt;

&lt;h2&gt;Plain Text&lt;/h2&gt;

&lt;p&gt;That brings us back to my original point about, pretty much every computer on earth can read plain text. It&amp;rsquo;s also a really flexible format, you can express a lot in plain text. But you&amp;rsquo;re probably shaking your head at this point thinking &amp;ldquo;you must be joking, plain text can&amp;rsquo;t be formatted at all, it&amp;rsquo;s utterly primitive!&amp;rdquo; Hopefully this post will change your mind about that.&lt;/p&gt;

&lt;h3&gt;Why Use Plain Text?&lt;/h3&gt;

&lt;p&gt;Plain text files have a lot of benefits over other formats, chiefly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;They&amp;rsquo;re portable&lt;/strong&gt;, with few exceptions every computer on earth is capable of reading plain text files.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;They&amp;rsquo;re tiny&lt;/strong&gt;, the size of most text files can be measured in bytes, there&amp;rsquo;s no bloated headers or storage formats here.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;You can probably already edit them&lt;/strong&gt;, every computer I&amp;rsquo;ve ever had has built in tools for working with text files, no software to install and pay for.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;They&amp;rsquo;re durable&lt;/strong&gt;, 40 years from now, you&amp;rsquo;ll still be able to open and edit your text files with ease, which is more than can be said for the latest incarnation of the &lt;code&gt;.doc&lt;/code&gt; format.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;So now you know &lt;em&gt;why&lt;/em&gt; using plain text is a good idea, let&amp;rsquo;s look at the how.&lt;/p&gt;

&lt;h3&gt;Tools for Working With Plain Text&lt;/h3&gt;

&lt;p&gt;Now plain text is only as useful as the tools you use with it. On it&amp;rsquo;s own plain text can be fairly primitive, but there&amp;rsquo;s a lot you can do to really make the most of this format.&lt;/p&gt;

&lt;h4&gt;Markdown&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://daringfireball.net/projects/markdown&quot;&gt;Markdown&lt;/a&gt; is the plain text formatting syntax invented by John Gruber of &lt;a href=&quot;http://daringfireball.net/&quot;&gt;Daring Fireball&lt;/a&gt;. What&amp;rsquo;s that mean exactly? Well the basic idea is that you use a certain formatting style when writing your text files which allows you to apply formatting to otherwise unformatted text files. Here&amp;rsquo;s an example of some of the stuff you can do with Markdown&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# This is a heading #

You can format text with *italics* and make it **bold**.

You can do bulleted list:

+ One
+ Two
+ Three
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;As you can see, even without converting this text to HTML, a Word document or some other format, it&amp;rsquo;s already pretty readable as-is. That&amp;rsquo;s one of the great things about Markdown, it takes conventions that people already used in plain text emails and bulletin board systems and makes them convention.&lt;/p&gt;

&lt;h4&gt;NValt&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;http://cdn2.brettterpstra.com/wp-content/uploads/2011/01/nvALT2.0Screenshot.jpg?9d7bd4&quot; alt=&quot;NVAlt, a lightning fast, lightweight note taking tool&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://brettterpstra.com/project/nvalt/&quot;&gt;NValt&lt;/a&gt; is a super fast note taking tool for Mac OS X with built in support for Markdown. I have literally hundreds of notes managed by NValt, all of which are stored as plain text files on my computer. It allows me to show a Markdown preview for any of my notes and offers a metric ton of other features like fullscreen support, full text search and custom colour schemes and fonts.&lt;/p&gt;

&lt;h4&gt;Simplenote&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://simplenoteapp.com/&quot;&gt;Simplenote&lt;/a&gt; is an iOS app and website that allows you to store plain text notes in the cloud. It has a some very cool features including the ability to reverse changes to notes. It also integrates effortlessly with NValt allowing me to access notes made on my Mac from my iOS devices and vice versa.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Limits</title>
   <link href="http://rpowell.me/2011/10/09/limits.html"/>
   <updated>2011-10-09T00:00:00-07:00</updated>
   <id>http://rpowell.me/2011/10/09/limits</id>
   <content type="html">&lt;p&gt;In writing &lt;em&gt;The Cat in the Hat&lt;/em&gt;, Dr. Seuss was tasked with creating a book composed solely of the 348 words that his friend William Ellsworth Spaulding believed they should developmentally know. Out of these he made use of 223 words on the list and only 13 that were not. Soon following this, Seuss was challenged by Random House, his publisher, to create a book using a vocabulary of only 50 words, betting hime $50 that he couldn&amp;rsquo;t do it. Seuss won the bet, publishing the bizarre, delightful and somewhat repetitve &lt;em&gt;Green Eggs and Ham&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Lego has long touted that with six standard two-by-four stud Lego bricks, you can create somewhere in the vicinity of ten-million different combinations, quite an impressive number to say the least. But this is an understatement, in his academic paper entitled &lt;a href=&quot;http://www.math.ku.dk/~eilers/lego.html&quot;&gt;&lt;em&gt;A LEGO Counting problem&lt;/em&gt;&lt;/a&gt;, it&amp;rsquo;s author Søren Eilers proves mathematically that the number of possible combinations is closer to ninety-five-million.&lt;/p&gt;

&lt;p&gt;In both of these cases, tools  which were considered limiting were taken far beyond their perceived capabilities. Perhaps clearly defined boundaries and limitations were what allowed this to happen?&lt;/p&gt;

&lt;p&gt;I recently picked up the iPad, it&amp;rsquo;s a curiously limited device. One app a time, full screen, no way to check twitter while I write, no way to switch rapidly between twenty chats and web pages, no distractions. The iPad, more than any device I&amp;rsquo;ve used, is defined more by what&amp;rsquo;s missing than what isn&amp;rsquo;t. Yet these missing features are no problem, for many they make the device desirable.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;m sitting here, typing on glass, music softly playing, nothing else to distract and detract from the simple act of putting words on a screen, and you know what? It&amp;rsquo;s bliss.&lt;/p&gt;

&lt;p&gt;Limitation breeds creativity.&lt;/p&gt;
</content>
 </entry>
 
 
</feed>