The Blog

Posts from May 2012

May 25

Game Face

By David Czarnecki

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our Agora Games GitHub account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…

bracket_tree

bracket_tree is a bracketing system built around the BracketTree Data Specification, which uses a three-section data structure built on top of JSON to convey the visual representation, progression logic, and seed mapping in a serializable format. For more information on the data specification, please read the BracketTree Data Specification.

BracketTree builds upon the specification by providing Ruby classes for programmatically generating templates for brackets and generating brackets from those templates. It also contains a number of common bracket template types like Single Elimination and Double Elimination, with the ability to put your own extensions on their logic and representation.

Contributor(s): Andrew Nordman (GitHub, Twitter)

kairos

kairos provides time series storage using a Redis backend. It’s still under development and this week, version 0.0.7 was released which fixes an issue handling an interval without data.

Contributor(s): Aaron Westendorf (GitHub, Twitter)

oembedr

oembedr is our Lightweight, Flexible OEmbed Consumer Library. At least we think it’s all those things. This week we added speakerdeck.com as an OEmbed endpoint. We’ll get a new release out soon enough.

Contributor(s): David Czarnecki (GitHub, Twitter)

redis-namespace

redis-namespace is a gem which can be used to namespace Redis keys. However, the configuration of the current release’s gemspec is incompatible with the 3.0.0 release of the redis gem. One of our engineers submitted a pull request to test compatibility under the latest redis gem and the current stable and forthcoming release of the Redis server. And hey, it looks like that pull request was integrated and is available in the redis-namespace 1.2.0 release.

Contributor(s): David Czarnecki (GitHub, Twitter)

streak-python

streak-python is a port of the streak Ruby gem, which is a library for calculating win/loss streak using Redis. streak-python is available on PyPI for inclusion as a library in your own Python applications.

Contributor(s): David Czarnecki (GitHub, Twitter)

vines

vines is an XMPP chat server for Ruby. It can use a number of different storage backends such as CouchDB, MongoDB, or Redis, to store its internal data. We’ve been playing around with Riak internally and figured this would be a chance to contribute some Riak code back to the community, so a pull request was opened to add a Riak storage adapter.

Contributor(s): David Czarnecki (GitHub, Twitter)

May 18

Game Face

By David Czarnecki

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our Agora Games GitHub account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…

brightcove-api

The brightcove-api gem was one of the first gems we released after building out MLG.tv and is now a part of the Brightcove Open Source projects on GitHub. We still actively maintain the library. No functional changes this week, but we did do a conversion from Test::Unit to RSpec.

Contributor(s): David Czarnecki (GitHub, Twitter)

*coffeescript-streak and streak *

coffeescript-streak and streak both got an update this week. streak was originally developed as a way to collect win/loss streaks using Redis. The update to the libraries this week slightly alters the way the keys are namespaced in Redis. Not a huge change, but one that brings some consistency to how we’ve namespaced keys in Redis in other libraries.

Contributor(s): David Czarnecki (GitHub, Twitter)

GWFSelect-for-jQuery-UI

The GWFSelect-for-jQuery-UI project is a jQuery UI widget that provides a Google WebFont selector. It got an update this week wherein it lazily loads the font list from Google’s servers when it is first required by a widget.

Contributor(s): Jack Letourneau (GitHub, Twitter)

haigha

haigha, our simple to use client library for interacting with AMQP brokers saw numerous updates this week. The major update was the integration of support for publisher confirms. This functionality gives “clients a lightweight way of keeping track of which messages have been processed by the broker and which would need re-publishing in case of broker shutdown or network failure.”

Contributor(s): Aaron Westendorf (GitHub, Twitter) and Stephen Sugden (GitHub)

stache

stache is our Rails 3.x compatible Mustache/Handlebars Template Handler, with support for partials and a couple extra niceties to make sharing the raw templates with client-side javascript a little easier. The 0.9.x updates are basically a release candidate before we trim our facial hair and declare 1.0. Support for handlebars was added in addition to using Rails' own template resolution system to find partials. The public API changed slightly, but the README has all the information on the changes you’ll need to make in your application(s) using stache.

Contributor(s): Matthew Wilson (GitHub, Twitter) and ayaya (GitHub)

May 11

Game Face

By David Czarnecki

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our Agora Games GitHub account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…

coffeescript-streak

coffeescript-streak is a port of the streak Ruby gem which handles calculating win/loss streaks. It uses Redis as its backend for collecting the data. It has also been uploaded to the npm registry.

Contributor(s): David Czarnecki (GitHub, Twitter)

haigha

haigha, our client library for interacting with AMQP brokers saw an update to 0.5.1 this past week. You can review the CHANGELOG in full. FYI, the rabbitmq-extensions branch of haigha, currently in-development is laying the foundation for publisher confirms.

Contributor(s): Aaron Westendorf (GitHub, Twitter)

May 4

Game Face

By David Czarnecki

“Game Face” will be our weekly round-up of our internal and external open source work here at Agora Games. Internal open source refers to our public projects that you can find over at our Agora Games GitHub account. External open source work refers to projects that we contribute to in off-hours and may or may not have anything to do with video games because we’re swell folks like that. Pretty simple right? Here goes…

kairos

GitHub user, Greg Banks, submitted a patch to kairos, our Python library that provides time series storage using a Redis backend, to add Python 2.6 support. Thanks Greg!

Contributor(s): Greg Banks (GitHub)

tassadar

We finally got around to pushing a gem of tassadar, our pure Ruby library for parsing Starcraft 2 replay files. The 0.0.2 update converts serialized strings ASCII-8BIT => UTF-8. This was the source of serious encoding problems in replay parsing. Version 1.0 will be out in the next week or so.

Contributor(s): Andrew Nordman (GitHub, Twitter)