Category Archives: software dev

Highcharts Treemap jsfiddle

I’ve been working with Highcharts a bit and they recently came out with a pretty cool Treemap chart. Here is a JSFiddle of a treemap that has a breadcrumb-style navigation (Treemap comes with a built-in navigation button, but it’s not super customizable). I built this one using BackboneJS.

http://jsfiddle.net/roblacy/4sb8vb1m/

The data comes from my cupcake post from last year and shows a breakdown of the number of free cupcakes that have ganache (instead of frosting) by day of the week each month.

If You Like Frosting, Go to Georgetown Cupcake on Monday

On a chilly Friday in March, my coworker, Bekah, wrapped up my team’s daily status meeting with our new ritual: she opened Georgetown Cupcake’s twitter feed for the secret flavor of the day. This cupcake would be given away, free, to the first 100 customers who ordered it by name. Running on just a cup of coffee, I waited to see if this could be a plausible snack to hold me over until lunch. “Chocolate Ganache Surpise,” Bekah read, as I shook my head and wandered back to my desk.

cupcakes

But wait, why was I turning down free cupcakes? Wouldn’t it be delicious? Well, yes, all of Georgetown’s offerings are superb, and they brew a solid cup of Illy coffee. During our early days of cupcake freeloading, I would have happily made the trip across the street. But by that point I had learned to skip ganache days.

Continue reading

Pit Game Engine

I recently wrote a game engine for the card game “Pit” and posted it to my Github.

Pit Deluxe (from Amazon.com page)

The Card Game

Pit is a commodities trading card game. It’s quite fun, and good for groups up to eight. Even though I only recently learned of it, the game has actually been around since 1904, when it was first sold by Parker Brothers. The game play involves trading cards with other players until you complete a set of nine of the same card, at which point you yell out (or ring the bell) and declare that you have cornered the market and won the round. Trading consists of yelling out offers and making deals to exchange cards (blind, and always for the same number of cards) with other players. It can be quite hectic, and is probably something like an actual commodities trading floor.

Wikipedia Page
Rules (I use the bull/bear variant)
Boardgame Geek Page
Buy from Amazon.com

Continue reading

My First Android App

I recently published my first app for the Android platform. My main goal was to get my feet wet with Android development, and the Assistant Coach app seemed like a fairly simple idea that, as far as I could tell, hadn’t been done before.

The whole process took me about a month, working part-time. I really enjoyed the process; the Android documentation is excellent, and the architecture is designed well. It had been a while since I did any Java development, but I fell back into it pretty easily (esp. thanks to Eclipse). I had a blast and am thinking about what to make next. Let me know if you have any ideas!

Assistant Coach Upcoming/Requested Features

Assistant Coach icon

Here is a list of features that have been requested and that I plan to add in a future version of Assistant Coach. Please feel free to contact me w/ any suggestions at all.

  • Data Import – the ability to edit a (text) file of profile data and import it into the application
  • Configure Kick-off Data – right now every kick-off is assumed to result in the opposing team having a first down on their own 30-yard line. This should be configurable in the next version of the app
  • Opponent EP – the data for expected points currently applies to both your team and your opponent’s team. This should actually be two separate sets of data
  • Opponent Profiles – (building on the item above) the specific opponent affects a team’s performance in punting, field goals, and on fourth down. The current way to deal with this is to edit a profile before each new game. In the future, perhaps I can find a way to save a base profile and then automatically adjust values for a given opponent. The opponent profile would be much simpler to edit than redoing the entire team profile.
  • Less Confusing Results Color Bars – the colored bars in the 4th Down Results screen may be slightly confusing because the range of possible values goes from -7.0 to +7.0 but is represented by bars that all have a “positive” thickness. Perhaps a better way to visually represent an EP value would be to have a center line with the bar extending to the left (negative) or right (positive).

Assistant Coach User Guide

Assistant Coach icon This user guide should help to clear up any questions about how to use the Assistant Coach application. The intended audience for the app is football coaches (mostly high school and small colleges) and perhaps football enthusiasts or statisticians (although the math here is very basic).

Below I will go through all of the screens in the application, explaining what each user input does, and what the effect will be.

Version Note: I’m in the process of publishing a new version of the Assistant Coach application. I’ve added new roster and field diagram features, and I have simplified the interface for the 4th Down Calculator. Previously it was set up for multiple team profiles, but I have removed that. The app will continue forward with only a single team profile. If you currently have multiple profiles, you should delete all but one. Otherwise the new version of the app will choose one at random and ignore the others. Sorry for the inconvenience, but I’m hoping that one profile is just fine for most purposes.

Note about the 4th Down Calculator: The calculations here represent expected, or average, outcomes. The data come from, and will be most useful in, scenarios in the early-middle stages when the game clock is still not a factor. Many adjustments need to be made as time starts to run out (in either half). The calculations might still be helpful as a general guide, but it won’t adjust for factors such as being down by 4 points with one minute left in the game (when a field goal would be essentially useless) and so on.

Continue reading