<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <id>tag:codebrawl.com,2005:/contests</id>
  <link rel="alternate" type="text/html" href="http://codebrawl.com"/>
  <link rel="self" type="application/atom+xml" href="http://codebrawl.com/contests.atom"/>
  <title>Codebrawl</title>
  <updated>2011-11-14T00:00:00Z</updated>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4ec117c6b1e6546fcd000001</id>
    <published>2011-11-14T13:32:16+00:00</published>
    <updated>2011-11-21T11:56:35+00:00</updated>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/content-aware-image-cropping-with-chunkypng"/>
    <title>Content-aware image cropping with ChunkyPNG</title>
    <content type="html">&lt;p&gt;Are you ready for another &lt;a href="https://github.com/wvanbergen/chunky_png"&gt;ChunkyPNG&lt;/a&gt; brawl? This week, the challenge is to build a cropping tool that knows which parts to cut off by looking at the contents of the image and deciding what the point of interest is.&lt;/p&gt;

&lt;p&gt;Here are the three images we’ll use. A &lt;a href="http://f.cl.ly/items/2F092x0i070N2Y1U2q2n/cat.png"&gt;cat&lt;/a&gt;, a &lt;a href="http://f.cl.ly/items/2s2k2z2l0S1t0m321r2P/dog.png"&gt;dog&lt;/a&gt; and some &lt;a href="http://f.cl.ly/items/1c0L422l320W0z3c3L0g/duck.png"&gt;ducks&lt;/a&gt;. You’ll have to crop all three of them and the resulting images should be 100 by 100 pixels. Your solution should use ChunkyPNG, but of course you can use additional gems if you think you’ll need them.&lt;/p&gt;

&lt;p&gt;How you solve this is entirely up to you, but solutions that need human input or are built only to support these images will get disqualified. Please be creative.&lt;/p&gt;

&lt;p&gt;When you’re done, throw your implementation, a &lt;code&gt;README&lt;/code&gt; and all three resulting images (please don’t include the input images) in a &lt;a href="https://gist.github.com"&gt;Gist&lt;/a&gt;. You can’t add images in the Gist web interface, so you’ll have to clone your Gist and add your output image using plain git. If you don’t know how, just &lt;a href="https://github.com/inbox/new/jeffkreeftmeijer"&gt;send me a message&lt;/a&gt; and I’ll help you out.&lt;/p&gt;

&lt;p&gt;You have one week to get your entry in, but we’ll add more time if necessary. I can’t wait to see how you solve this one. Good luck!&lt;/p&gt;

&lt;h2 id="prize"&gt;Prize&lt;/h2&gt;
&lt;p&gt;This week’s winner gets one month of free &lt;a href="http://github.com"&gt;Github&lt;/a&gt; Micro!&lt;/p&gt;
</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4ea55746b1e654643e000001</id>
    <published>2011-10-24T12:19:39+00:00</published>
    <updated>2011-10-31T12:43:02+00:00</updated>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/rspec-formatters-2"/>
    <title>RSpec formatters 2</title>
    <content type="html">&lt;p&gt;Our &lt;a href="http://codebrawl.com/contests/rspec-formatters"&gt;very first contest&lt;/a&gt; challenged the contestants to create new formatters for the RSpec testing library. After it closed, I received a lot of comments from people that missed the contest but would have loved to participate.&lt;/p&gt;

&lt;p&gt;We decided to do it again. The rules are the same as last time:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;This week, the challenge is to create your own formatter for RSpec 2. Your solution should solve a problem you’re facing with the existing formatters (like, I don’t know how long my specs are going to take or I don’t notice when my suite is done running) or you can do something completely crazy and funny. With rainbows, or something like that. Oh, and remember: You’re not limited to terminal output, do whatever you can think of.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A good starting point would be to check out the &lt;a href="https://github.com/rspec/rspec-core/tree/master/lib/rspec/core/formatters"&gt;existing formatters&lt;/a&gt;. Also, don’t forget to take a look at the entries in the &lt;a href="http://codebrawl.com/contests/rspec-formatters"&gt;previous RSpec formatters contest&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As always, when you’re done, put your solution in a &lt;a href="http://gist.github.com"&gt;Gist&lt;/a&gt;, including a &lt;code&gt;README&lt;/code&gt; file to explain what it does, how it works and why it should win. Of course, you’re encouraged to put a link to a demo video of your formatter in action in your Gist too.&lt;/p&gt;

&lt;h3 id="prize"&gt;Prize&lt;/h3&gt;
&lt;p&gt;This week’s winner gets to choose between $25 of &lt;a href="http://6sync.com"&gt;6sync&lt;/a&gt; hosting credit or one month of free &lt;a href="http://github.com"&gt;Github&lt;/a&gt; Micro!&lt;/p&gt;
</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e92bd22b1e6545530000001</id>
    <published>2011-10-10T09:51:27+00:00</published>
    <updated>2011-10-10T10:08:58+00:00</updated>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/methods-taking-multiple-blocks"/>
    <title>Methods taking multiple blocks</title>
    <content type="html">&lt;p&gt;Ruby makes it trivial to pass a block of code into our method calls.
But what do we do when a method needs two blocks of code or more?  For
example, a method might want some code to run if an action succeeds
and different code to run if it fails.&lt;/p&gt;

&lt;p&gt;What would it look like to pass multiple blocks in?  How would the
method access the blocks it wants for each task?  Do we need to worry
about making sure passing too many or unexpected blocks are errors?&lt;/p&gt;

&lt;p&gt;Let’s make use of Ruby’s ability to modify itself as needed to address
this problem.  Code up some system for the above that’s superior to
passing a &lt;code&gt;Hash&lt;/code&gt; full of &lt;code&gt;Proc&lt;/code&gt; objects.  Throw that code in a &lt;a href="https://gist.github.com"&gt;Gist&lt;/a&gt; and send it in as a solution.&lt;/p&gt;

&lt;h3 id="prize"&gt;Prize&lt;/h3&gt;
&lt;p&gt;This week’s winner will receive a copy of James’ &lt;a href="http://pragprog.com/book/fr_quiz/best-of-ruby-quiz"&gt;Best of Ruby Quiz&lt;/a&gt;, a collection of highlights from the first year of &lt;a href="http://www.rubyquiz.com"&gt;Ruby Quiz&lt;/a&gt; challenges, sponsored by &lt;a href="http://pragprog.com"&gt;the Pragmatic Programmers&lt;/a&gt;.&lt;/p&gt;
</content>
    <author>
      <name>James Edward Gray II</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e8073f8b1e6546c6c000002</id>
    <published>2011-09-26T12:49:52+00:00</published>
    <updated>2011-09-26T19:21:49+00:00</updated>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/command-line-todo-lists"/>
    <title>Command line TODO lists</title>
    <content type="html">&lt;p&gt;How many times did you try to use apps to write down your TODOs just to find that they are either slow or too complex for this simple task ? This week, I challenge you to write a simple but useful command line TODO app, implemented in Ruby and small enough to fit in a Gist.&lt;/p&gt;

&lt;p&gt;As minimum requirements it should allow users to create, destroy and list their TODOs. You can add a ton of features to improve the app – seriously, I’d love to see what you can come up with – but remember, usability is the main objective.&lt;/p&gt;

&lt;p&gt;Please put your entry in a Gist with a README including a brief description of the features and some examples of how it can be used. Of course, don’t be afraid to explain why your solution should win.&lt;/p&gt;

&lt;p&gt;You have a whole week to work on your solution, so what are you waiting for? Have fun!&lt;/p&gt;

&lt;h3 id="prize"&gt;Prize&lt;/h3&gt;
&lt;p&gt;This week’s winner gets to choose between $25 of &lt;a href="http://6sync.com"&gt;6sync&lt;/a&gt; hosting credit or one month of free &lt;a href="http://github.com"&gt;Github&lt;/a&gt; Micro!&lt;/p&gt;
</content>
    <author>
      <name>Roberto Decurnex</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e6e0f15b1e6545218000001</id>
    <published>2011-09-12T13:57:13+00:00</published>
    <updated>2011-09-12T17:45:35+00:00</updated>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/selective-color-with-chunkypng"/>
    <title>Selective color with ChunkyPNG</title>
    <content type="html">&lt;p&gt;Remember our last ChunkyPNG contest? We had a lot of entries, a lot of fun and a bunch of emails asking us to do it again, so here’s another one!&lt;/p&gt;

&lt;p&gt;You’ve probably seen images with the &lt;a href="http://en.wikipedia.org/wiki/Selective_color"&gt;selective color&lt;/a&gt; effect before, where the image is in black and white but there’s some element in there that’s colored. Some camera’s have this built in, but most are post-processed color pictures.&lt;/p&gt;

&lt;p&gt;We’re not going to use fancy camera’s or expensive photo editing tools. We’re programmers, so we should be able to build a tool that does this for us.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://gist.github.com/raw/7addc24b123aad374832/96656b5a75287f8ca8beac523f1d32eee4030aa5/output.png" alt="Crayons for the ChunkyPNG contest" /&gt;&lt;/p&gt;

&lt;p&gt;Here’s the image we’ll be working with. Choose one color – bonus points if you choose the yellow or one of the blue ones – and create a black and white image with only one of the crayons in color using ChunkyPNG.&lt;/p&gt;

&lt;p&gt;Remember, the crayons have a range of colors, they’re not just yellow, for example. It might be a good idea to check out some other color scheme than plain old RGB to support that.&lt;/p&gt;

&lt;p&gt;Please put your entry in a &lt;a href="https://gist.github.com"&gt;Gist&lt;/a&gt; with the resulting image, like &lt;a href="https://gist.github.com/7addc24b123aad374832"&gt;this example&lt;/a&gt;. Please don’t include the input image and &lt;em&gt;don’t&lt;/em&gt; fork the example Gist. You can’t add images in the Gist web interface, so you’ll have to clone your Gist and add yout output image using git. If you don’t know how, just &lt;a href="https://github.com/inbox/new/jeffkreeftmeijer"&gt;send me a message&lt;/a&gt; and I’ll help you out.&lt;/p&gt;

&lt;p&gt;You have one week to get your entry in, so I’m sure you can make something awesome! Good luck!&lt;/p&gt;

&lt;h3 id="prize"&gt;Prize&lt;/h3&gt;

&lt;p&gt;This week’s winner can choose between $25 of &lt;a href="http://6sync.com"&gt;6sync&lt;/a&gt; hosting credit or one month of free &lt;a href="http://github.com"&gt;Github&lt;/a&gt; Micro!&lt;/p&gt;
</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e5b8ff1b1e65442cf000001</id>
    <published>2011-08-29T13:14:29+00:00</published>
    <updated>2011-08-29T14:07:34+00:00</updated>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/key-value-stores"/>
    <title>Key/value stores</title>
    <content type="html">&lt;p&gt;This week, the challenge is to write the best key/value storage backend you can think of. It has to be persistent and the goal is for it to be capable of &lt;code&gt;SET&lt;/code&gt;, &lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;KEYS&lt;/code&gt; and &lt;code&gt;DELETE&lt;/code&gt; operations, but it’s okay if you don’t have time to implement all of them. We prefer great code over lots of code.&lt;/p&gt;

&lt;p&gt;You may implement it as a web service, CLI, Arduino serial adapter… You choose your environment. In the end, I think it would be funny to see lots of funky solutions.&lt;/p&gt;

&lt;p&gt;To submit an entry, just put your work in a Gist and include a README to explain what it does and how it works (with code samples!). You have one week to enter, so good luck and have fun!&lt;/p&gt;

&lt;h3 id="prize"&gt;Prize&lt;/h3&gt;
&lt;p&gt;Once again, &lt;a href="http://6sync.com"&gt;6sync&lt;/a&gt; is offering $25 worth of credit for their hosting platform to this week’s winner!&lt;/p&gt;
</content>
    <author>
      <name>Lukas Rieder</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e4ead48b1e6546777000001</id>
    <published>2011-08-19T18:40:10+00:00</published>
    <updated>2011-08-19T18:42:28+00:00</updated>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/whyday-2011"/>
    <title>Whyday 2011</title>
    <content type="html">&lt;p&gt;Happy &lt;a href="http://whyday.org/"&gt;Whyday&lt;/a&gt;! We’re doing a last minute contest that will end next Monday. This weekend, put your best practices away and celebrate Why’s contributions to our unique culture. Create something wonderful. If you’re still looking for something to build, check out some of the example ideas on the &lt;a href="http://whyday.org/"&gt;Whyday website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Go wild! Put your work in a Gist and include a &lt;code&gt;README&lt;/code&gt; explaining what it does and how it works. Again, you only have until Monday, so get started as soon as you can!&lt;/p&gt;

&lt;p&gt;Happy hacking!&lt;/p&gt;

&lt;h2 id="prize"&gt;Prize&lt;/h2&gt;

&lt;p&gt;This week’s winner will receive a code for $25 worth of credit for the &lt;a href="http://6sync.com"&gt;6sync&lt;/a&gt; hosting platform!&lt;/p&gt;
</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e48fbc4b1e65464d3000001</id>
    <published>2011-08-15T11:02:28+00:00</published>
    <updated>2011-08-18T06:50:38+00:00</updated>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/ruby-diffs"/>
    <title>Ruby diffs</title>
    <content type="html">&lt;p&gt;Diffs are a great way to inspect changes to files or send them around, but have you ever wondered how they work?&lt;/p&gt;

&lt;p&gt;This week’s challenge is to create a diff tool in Ruby. Your tool has to be able to find the difference in two strings and output a diff string from them. You should be able to apply this diff to another string too. Your diff doesn’t have to be human readable – we prefer it to be tiny –, but it would be awesome if it is. Don’t worry if your diff is a bit bigger than what your system’s diff tool produces, a tool like this can become pretty complicated very fast.&lt;/p&gt;

&lt;p&gt;Of course, you can’t use any of the diff tools already on your system and your entry should be small enough to fit in a Gist. Also, don’t forget to include a &lt;code&gt;README&lt;/code&gt;, explaining exactly how your tool works (with code examples).&lt;/p&gt;

&lt;p&gt;Remember, it’s a change too if you move a line around in a multiline string, for example. Be sure your tool understands things like that and also include examples of those edge cases in your &lt;code&gt;README&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;As always, you have one week to get your entry in, so that should be enough to build something amazing. Good luck!&lt;/p&gt;

&lt;h3 id="prize"&gt;Prize&lt;/h3&gt;

&lt;p&gt;This week’s winner will receive a code for $25 worth of credit for the &lt;a href="http://6sync.com"&gt;6sync&lt;/a&gt; hosting platform!&lt;/p&gt;
</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e36aa2db1e6547e42000001</id>
    <published>2011-08-01T13:30:16+00:00</published>
    <updated>2011-08-02T22:29:48+00:00</updated>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/tools-for-travis"/>
    <title>Tools for Travis</title>
    <content type="html">&lt;p&gt;&lt;a href="http://travis-ci.org/"&gt;Travis&lt;/a&gt; is an open source and distributed build system for the community. They’re doing continuous integration a lot of great open source projects, including &lt;a href="http://weblog.rubyonrails.org/2011/7/27/rails-now-tested-on-travis-ci"&gt;Ruby on Rails&lt;/a&gt; recently. Since there’s a bunch of great data in there, this week’s challenge is to do something great with Travis.&lt;/p&gt;

&lt;p&gt;You can build anything you like, from CI monitors to command line interfaces showing you data from your projects. You’re probably going to need to fetch data from Travis, so be sure to check out the &lt;a href="http://about.travis-ci.org/docs/dev/api/"&gt;API documentation&lt;/a&gt;. We’ll keep this one open-ended, since the goal is to help the Travis team out a bit. If you’re building a web interface, be sure to use something small, like &lt;a href="http://www.sinatrarb.com/"&gt;Sinatra&lt;/a&gt;. Remember, your entry should fit into a gist. If you run into any issues along the way, just hop into #travis on Freenode and the team will be happy to help you out.&lt;/p&gt;

&lt;p&gt;Remember to keep your entry small, write nice code and include a &lt;code&gt;README&lt;/code&gt; explaining what your project does, which problem it solves and how it works. If you’re building a web interface, be sure to include screenshots in there.&lt;/p&gt;

&lt;p&gt;We’re still working on a special prize for this week, so you’ll have to wait for some more to get to know what it is.&lt;/p&gt;

&lt;p&gt;As always, you have one week to enter, so go build something awesome. Good luck!&lt;/p&gt;

&lt;h3 id="prize"&gt;Prize&lt;/h3&gt;

&lt;p&gt;This week’s winner will receive a code for $25 worth of credit for the &lt;a href="http://6sync.com"&gt;6sync&lt;/a&gt; hosting platform!&lt;/p&gt;

&lt;p&gt;&lt;span id="submitter"&gt;Oh, and this contest description was written by Jeff Kreeftmeijer, on behalf of Sven.&lt;/span&gt;&lt;/p&gt;
</content>
    <author>
      <name>Sven Fuchs</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e240143b1e65454a7000001</id>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/terminal-admin"/>
    <title>Terminal admin</title>
    <content type="html">&lt;p&gt;Codebrawl doesn’t have a proper admin panel, so I tend to do content changes in the database directly using &lt;code&gt;script/rails console&lt;/code&gt;. This gives me a lot of freedom, since I can do anything without having to build features for it in my admin panel first. Also, if Codebrawl had an admin panel, I’m absolutely sure I would have to dive into the console to do stuff every once in a while.&lt;/p&gt;

&lt;p&gt;Of course, there are some problems with the console when trying to quickly edit a record. Finding the right one requires you to type a query:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;c = Contest.first(:conditions =&amp;gt; {:name =&amp;gt; 'Terminal Admin'})
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Also, editing a field requires you to fill in the whole value every time:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;c.update_attribute(:description =&amp;gt; 'Codebrawl doesn't have a proper...')
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The challenge for this week is to think of something that makes this easier and faster. Tackle one problem (like finding records, for example) the best you can, but don’t try to build a complete terminal admin. The idea is to combine good ideas into one project we can keep working on.&lt;/p&gt;

&lt;p&gt;Create a solution you can &lt;code&gt;require&lt;/code&gt; into the console. It needs to hook into your ORM of choice (Codebrawl uses &lt;a href="http://mongoid.org/"&gt;Mongoid&lt;/a&gt;, but you can build something for another ORM if you want), like in this &lt;a href="https://gist.github.com/20f87f56f2e6a3e3241f"&gt;example Gist&lt;/a&gt;. Also, don’t forget to add a &lt;code&gt;REAME&lt;/code&gt; file explaining how it works.&lt;/p&gt;

&lt;p&gt;No shirt, no shoes, no weapons. You have one week to get your entry in. Good luck!&lt;/p&gt;

&lt;h3 id="prize"&gt;Prize&lt;/h3&gt;

&lt;p&gt;This week’s winner will receive a code for $25 worth of credit for the &lt;a href="http://6sync.com"&gt;6sync&lt;/a&gt; hosting platform!&lt;/p&gt;
</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e1aeb48b1e6546879000001</id>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/james-your-very-own-voice-commanded-servant"/>
    <title>James: your very own voice commanded servant</title>
    <content type="html">&lt;p&gt;This week, we’ll have some fun with &lt;a href="http://www.macruby.org/"&gt;MacRuby&lt;/a&gt;. &lt;a href="https://github.com/floere/james"&gt;James&lt;/a&gt; is a “Voice commanded servant for OSX” you can write dialogs for. Here’s a &lt;a href="http://www.youtube.com/watch?v=SdEJ8dLYhUA"&gt;lightning talk&lt;/a&gt; by Florian Hanke, James’ creator. &lt;/p&gt;

&lt;p&gt;For example, you could set up a time dialog to ask James what time it is:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;&amp;lt; James, what time is it?
&amp;gt;&amp;gt; It is currently 10:15.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Of course, that’s a pretty simple example. This week’s challenge is to write the most useful or fun dialog for James. You can do about anything, like asking James to do API requests, reboot your machine, run your tests, or whatever you can think of. A simple dialog is enough, but please remember to keep the code nice and understandable.&lt;/p&gt;

&lt;p&gt;Haven’t used MacRuby before? Just really easy to install using the &lt;a href="http://www.macruby.org/downloads.html"&gt;binary installer&lt;/a&gt;. Be sure to check out James’ &lt;a href="https://github.com/floere/james#readme"&gt;README&lt;/a&gt; and have a look through its &lt;a href="https://github.com/floere/james/tree/master/examples"&gt;example directory&lt;/a&gt; to get up and running. If you have any questions, &lt;a href="https://github.com/floere"&gt;Florian&lt;/a&gt; is here to help.&lt;/p&gt;

&lt;p&gt;As always, put your solution in a &lt;a href="https://gist.github.com"&gt;Gist&lt;/a&gt; and you have one week to get your entry in. Good luck!&lt;/p&gt;

&lt;h3 id="prize"&gt;Prize&lt;/h3&gt;

&lt;p&gt;This week’s winner will receive a code for $15 worth of credit for the &lt;a href="http://6sync.com"&gt;6sync&lt;/a&gt; hosting platform!&lt;/p&gt;
</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e1187a5b1e6546510000001</id>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/ruby-testing-libraries"/>
    <title>Ruby testing libraries</title>
    <content type="html">&lt;p&gt;There are a lot of Ruby testing libraries out there and you probably use one of them every day, so it’s about time we dive in to see how they work. This week, the challenge is to create your very own testing library.&lt;/p&gt;

&lt;p&gt;Your library should be as tiny as possible – it should be a single file –, but it should have one unique feature you’ve been missing while working with other testing libraries. Of course, it should have a great name and a &lt;code&gt;README&lt;/code&gt;, explaining how it works (with code examples) and why it’s awesome.&lt;/p&gt;

&lt;p&gt;As always, put the whole thing in a &lt;a href="https://gist.github.com"&gt;Gist&lt;/a&gt;. You can turn it into a gem in a full repository after the contest’s voting period is over. You have one week to get your entry in, so be sure to make something awesome. Good luck!&lt;/p&gt;
</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4e079665b1e654707e000002</id>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/pixelizing-images-with-chunkypng"/>
    <title>Pixelizing images with ChunkyPNG</title>
    <content type="html">&lt;p&gt;Ever heard of &lt;a href="https://github.com/wvanbergen/chunky_png"&gt;ChunkyPNG&lt;/a&gt;? It’s an amazing PNG manipulation library that is easy and fun to use. This week’s challenge is to &lt;a href="http://en.wikipedia.org/wiki/Pixelation"&gt;pixelize&lt;/a&gt; the image below, so your resulting image is built up from blocks of 10 by 10 pixels. Remember: you can’t change the size of the image.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://gist.github.com/raw/5dace61b37de19a56637/032f70a3023e37a7dc1fe4a619cd8c4f970d1677/output.png" alt="The contest's input image. It has a tapir." /&gt;&lt;/p&gt;

&lt;p&gt;If you’ve never used ChunkyPNG before, check out the &lt;a href="https://github.com/wvanbergen/chunky_png/wiki/_pages"&gt;wiki&lt;/a&gt;, you can find some great examples in there.&lt;/p&gt;

&lt;p&gt;Again, put your solution in a &lt;a href="https://gist.github.com"&gt;Gist&lt;/a&gt;, together with your resulting image, like this &lt;a href="https://gist.github.com/5dace61b37de19a56637"&gt;example&lt;/a&gt; (please don’t include the input image and &lt;em&gt;don’t&lt;/em&gt; fork the example gist). You can’t add images using Gist’s web interface, so you’ll have to clone your Gist and add it using git.&lt;/p&gt;

&lt;p&gt;Like last week, you have a week to get your entry in, so I’m sure you have enough time to write a great implementation. Good luck!&lt;/p&gt;

</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
  <entry>
    <id>tag:codebrawl.com,2005:Contest/4dffacd6b1e6540646000002</id>
    <link rel="alternate" type="text/html" href="http://codebrawl.com/contests/rspec-formatters"/>
    <title>RSpec formatters</title>
    <content type="html">&lt;p&gt;&lt;a href="http://relishapp.com/rspec"&gt;RSpec&lt;/a&gt; has a bunch of formatters you can use when running your tests. The default is the &lt;a href="https://github.com/rspec/rspec-core/blob/master/lib/rspec/core/formatters/progress_formatter.rb"&gt;“progress” formatter&lt;/a&gt;, which prints out a green dot for every spec tat passes and a red “F” for every spec that fails. There are more, like the &lt;a href="https://github.com/rspec/rspec-core/blob/master/lib/rspec/core/formatters/documentation_formatter.rb"&gt;“documentation”&lt;/a&gt; and &lt;a href="https://github.com/rspec/rspec-core/blob/master/lib/rspec/core/formatters/html_formatter.rb"&gt;“html”&lt;/a&gt; formatters.&lt;/p&gt;

&lt;p&gt;This week, the challenge is to create your own formatter for RSpec 2. Your solution should solve a problem you’re facing with the existing formatters (like, I don’t know how long my specs are going to take or I don’t notice when my suite is done running) or you can do something completely crazy and funny. With rainbows, or something like that. Oh, and remember: You’re not limited to terminal output, do whatever you can think of.&lt;/p&gt;

&lt;p&gt;Creating an RSpec formatter is quite straightforward. Be sure to check out the &lt;a href="https://github.com/rspec/rspec-core/tree/master/lib/rspec/core/formatters"&gt;existing formatters&lt;/a&gt;, since you’re probably going to extend one of those. For more information, you can check out the &lt;a href="https://github.com/jeffkreeftmeijer/fuubar"&gt;Fuubar&lt;/a&gt; source.&lt;/p&gt;

&lt;p&gt;When you’re done, put your solution in a &lt;a href="https://gist.github.com"&gt;Gist&lt;/a&gt;, including a &lt;code&gt;README.(markdown|textile)&lt;/code&gt; file to explain what it does, how it works and why it should win. Of course, you’re encouraged to put a link to a demo video of your formatter in action in your Gist too.&lt;/p&gt;

&lt;p&gt;You have a week to enter, so that should be enough to think of something great. Good luck!&lt;/p&gt;
</content>
    <author>
      <name>Jeff Kreeftmeijer</name>
    </author>
  </entry>
</feed>
