The Blog: Game Face
Game Face
“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
kairos provides time series storage using Redis or Mongo backends. As of the 0.3.0 release, we have implemented support for Gregorian data intervals (daily, weekly, monthly, yearly) and there is a new API for Timeseries.series(). Check the README for more details.
Contributor(s): Aaron Westendorf (GitHub, Twitter)
leaderboard
leaderboard allows you to build leaderboards using Redis. The leaderboard (Ruby), leaderboard-python and leaderboard-coffeescript libraries all saw updates this week. In leaderboard 3.1.0, we added support for a members_only option when making various leaderboard requests to only return the member data and not rank or score data. This same functionality was ported to leaderboard-coffeescript 1.1.0 and leaderboard-python 2.3.0.
Contributor(s): David Czarnecki (GitHub, Twitter) and Simon Zimmerman (GitHub).
torus
torus is a service implementing the Carbon protocol to store time series data using kairos and an HTTP server to query and analyze the data. With the 0.3.0 release, we upgrade to kairos 0.3.0 to add support for Gregorian dates and date ranges to “/series”, added support for UNIX timestamps or parsedatetime-compatible strings for ‘start’ and ‘end’ parameters to “/series” and added support for ‘steps’ parameter to “/series”.
Game Face
“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…
bnet_scraper
bnet_scraper is our Nokogiri-based scraper of Battle.net profiles. In 0.6.0, we added a GrandmasterScraper to pull all grandmasters by region, improved the portrait code as well as updating portrait names for anniversary.
Contributor(s): Andrew Nordman (GitHub, Twitter)
confirm-with-reveal
confirm-with-reveal is a replacement for window.confirm() using the Reveal modal popup plugin from Zurb Foundation. The latest release this week addresses form confirmation on submit, not on click. You can also check out the plugin in action on the project page.
Contributor(s): Jack Letourneau (GitHub, Twitter)
leaderboard_factory
leaderboard_factory is a gem to help you define and work with a bunch of leaderboards, from, e.g. an ActiveModel object. The latest release fixes the specs to work with the leaderboard 3.0+ gem.
Contributor(s): Matthew Wilson (GitHub, Twitter)
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 1.0.1 release fixes a regression in mustache layout handling.
Contributor(s): Matthew Wilson (GitHub, Twitter)
Game Face
“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…
activity_feed
activity_feed is our Ruby gem for storing and managing activity feeds in Redis. The 2.3.0 release adds a check_item?(…) method to see if an item is in an activity feed.
Contributor(s): David Czarnecki (GitHub, Twitter)
homebrew
homebrew is the “missing package manager for OS X”. We submitted a pull request that was integrated for adding Redis 2.6.13 support.
Contributor(s): David Czarnecki (GitHub, Twitter)
kairos
kairos provides time series storage using a Redis backend and, as of 0.2.0, MongoDB. The latest release is a major refactor, and with the new MongoDB backend, supports many more use cases. The 0.2.1 release also includes optimizations for processing multiple transforms on each data set query.
Contributor(s): Aaron Westendorf (GitHub, Twitter)
Game Face
“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…
confirm-with-reveal
confirm-with-reveal is a replacement for window.confirm() using the Reveal modal popup plugin from Zurb Foundation. See example jsFiddle for a demo.
Contributor(s): Jack Letourneau (GitHub, Twitter)
Ruby-MAPI-Wrapper
brightcove-api is a Ruby gem for interacting with the Brightcove Media API. This week we integrated a pull request to allow an UploadIO object to be passed to the post_io_streaming method.
Contributor(s): Mihail Szabolcs (GitHub)
Game Face
“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…
factory-worker
factory-worker is a node.js library that creates the Factory pattern for object stores. The 0.7.0 release integrates a pull request to allow inheritance from already-defined models in Factory.create. We also updated the jessie library as well as cleaning up the npm contact information.
Contributor(s): Joseph Kenneth (GitHub) and Andrew Nordman (GitHub, Twitter)
tassadar
tassadar is our fast Starcraft 2 replay parser written in pure Ruby. We will cut a new release soon, but we integrated a pull request to remove random <sp/> in player names that have clan tags.
Contributor(s): Robert Ross (GitHub)
Game Face
“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…
bnet_scraper
bnet_scraper is our Nokogiri-based scraper of Battle.net profiles. There are quite a few changes in the 0.5.0 release, most notably more “Heart of the Swarm” support. Be sure to check out the CHANGELOG for all the details on new functionality in this release.
Contributor(s): Andrew Nordman (GitHub, Twitter)
chai
chai provides a very easy to use api for mocking/stubbing your python objects, patterned after the Mocha library for Ruby. In 0.3.0, expectations have been improved on by not insisting that one knows how many times an expectation will be called unless explicitly set as well as assuming any arguments on an expectation unless explicitly set. Finally we fixed stubbing properties on an instance.
Contributor(s): Aaron Westendorf (GitHub, Twitter)
forecast.io
forecast-ruby is a forecast.io API wrapper in Ruby. The gem now uses Faraday to allow for swapping of the underlying HTTP library.
Contributor(s): Norbert Crombach (GitHub)
tassadar
tassadar is our fast Starcraft 2 replay parser written in pure Ruby. No release, but if you’re doing development, we did update things to use guard-rspec.
Contributor(s): Logan Koester (GitHub, Twitter)
torus
torus is a service implementing the Carbon protocol to store time series data using kairos and an HTTP server to query and analyze the data. As of 0.1.4, we have updated to kairos 0.1.5 with a bug fix for reading data from timeseries with relative time interval schemas. Aggregates can now cascade to other aggregates, with a simple failsafe on infinite loops.
Game Face
“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…
forecast-ruby
forecast-ruby is a forecast.io API wrapper in Ruby. forecast.io is the best weather service out there today and we’re happy to have helped bring the Ruby wrapper to life.
Contributor(s): David Czarnecki (GitHub, Twitter)
hipchat-rb
hipchat-rb is the official Ruby gem for interacting with the HipChat service. This past week a pull request was integrated to only send HipChat notifications on capistrano deploys if the –dry-run (-n) was not passed.
Contributor(s): David Czarnecki (GitHub, Twitter)
Game Face
“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…
chai
chai provides a very easy to use api for mocking/stubbing your python objects, patterned after the Mocha library for Ruby. The 0.2.4 release this week fixes a bug in stubs on types by preventing secondary initialization in addition to fixing global namespace manipulation on deeply nested chai subclasses. Finally, mock objects will report parameters and method name when raising UnexpectedCall.
Game Face
“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
kairos provides time series storage using a Redis backend. kairos is intended to replace RRD in situations where the scale of Redis is required, with as few dependencies on other packages as possible. A number of quick releases went out, but as of the 0.1.5 release, we fixed increment by integer on a Count series, added a Gauge type and fixed a bug turning relative interval definitions into integers for calculations in get() and series().
Contributor(s): Aaron Westendorf (GitHub, Twitter)
torus
torus is a service implementing the Carbon protocol to store time series data using kairos and an HTTP server to query and analyze the data. As of the 0.1.3 release this week, torus now has relative date and gauge type support, transforms in a schema to replace or suppress key/value pairs and fixing a bug reading data from timeseries with relative time interval schemas.
Contributor(s): Aaron Westendorf (GitHub, Twitter)
vcr
vcr allows you to “record your test suite’s HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.” We submitted a patch that was integrated to support the latest version of the typhoeus HTTP library.
Contributor(s): David Czarnecki (GitHub, Twitter)
Game Face
“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
kairos provides time series storage using a Redis backend. kairos is intended to replace RRD in situations where the scale of Redis is required, with as few dependencies on other packages as possible. In the 0.1.2 release, we added support for relative time in terms of hours, days, weeks, months and years, support for simple transforms and an API for generic transforms to support statistics packages.
Contributor(s): Aaron Westendorf (GitHub, Twitter)
torus
torus is a service implementing the Carbon protocol to store time series data using kairos and an HTTP server to query and analyze the data. It’s a new project and compared to traditional disk stores such as RRD and Whisper, torus adds:
- abstraction on top of kairos for histograms, input and output processing
- compact storage for sparse data points
- scaling with per-schema hosting and sharding
- non-buffering semantics for aggregate processing
- consistent hashing of timestamps for ease in interleaving and interpolation






