developer, designer, consultant

portfolio

Wasted on Steam - an analytic tool for the Steam platform

Stamped: 09 Jul 2011 | Show comments

Wasted on Steam

I was always curious...

Steam has existed for about 8 years now, and I was always curious how much time and money I've wasted spent with the service. I created a webapp to calculate how many hours have been spent as well as an approximate cost of an account's worth. There are gaps in steam's data, so it's not entirely accurate, but it's a good estimate. Go on, check it out! http://wastedonsteam.com

What's it made out of?

It's built using Rails 3.1, which was the other main motivator for creating this - testing out the new assets pipeline in Rails 3.1. It's hosted on heroku, uses gruff to make simple price graphs, nokogiri to update the data, the money class to store the prices, and delayed_job to push all the updating into the background.

The gemfile is below:

gem 'rails', '3.1.0.rc4'
gem 'sass'
gem 'coffee-script'
gem 'uglifier'
gem 'attempt'
gem 'gruff', :require => false
gem 'rmagick', :require => false
gem 'nokogiri', '1.4.4'
gem 'sprockets', '> 2.0.0.beta.2'
gem 'compass', :git => "https://github.com/chriseppstein/compass.git"
gem 'jquery-rails'
gem 'money'
gem 'steam-prices', :git => "https://github.com/scottkf/steam-prices.git"
gem 'linguistics'
gem 'redcarpet'
gem 'kaminari'
gem 'devise'
gem 'dalli'
gem 'delayed_job'

group :production do
    gem 'hirefire'
end
tags: steam, rails, portfolio

Integrating and maintaining a calendar of events within the Symphony CMS

Stamped: 03 May 2011 | Show comments

Calendar XSLT Utility

Symphony doesn't easily offer a way to integrate a calendar of events into an existing setup, so I've come up with an XSLT Utility to make it a little easier.

After having to revisit a calendar of events and kind of hacking my way through it originally, I've come up with another way to incorporate an event calendar more easily into an existing site. A very simple example is hosted here. The source is available at github. If you have any issues, please discuss them at github or at the Symphony forums: http://symphony-cms.com/discuss/thread/66262/.

Requirements:

  1. Nils' Date and Time Field Extension - Because it uses a nice interface and allows for easier management of events; make sure to take the experimental branch.
  2. This event I created, found on github, placed in your workspace/events folder.
  3. A section to handle all the events with a single Date & Time field, it must contain at least one other field, like name, description, etc. But you can have as many as you like. They will all be displayed, and can be disabled by using CSS display:none; on the <li>. For example, if we had a field called description it would be produced as <li class="description">, so .description { display: none; } would get rid of it.
  4. Attach the event to whatever page you want to display the calendar on.
  5. Attach a data-source pulling whatever events you wish, you can limit it by date to reduce the amount of entries, but do not change the grouping.
  6. Finally, in the page you wish to drop the calendar in, the php xmlns must be added to the <stylesheet> tag, and the function to generate the calendar must be used. An example page would look like is below. The second parameter next to the function is the name of the data source. The third is an optional path to link to the event by id so you provide the root path (if none is provided it will just be listed as text). The fourth is an optional class to provide the table with, the default is calendar.
      <?xml version="1.0" encoding="UTF-8"?>
        <xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:php="http://php.net/xsl">

        <xsl:import href="../utilities/master.xsl"/>

        <xsl:template match="/data">

        <h1><xsl:value-of select="$page-title"/></h1>
        <xsl:value-of select="php:function('generate_calendar', 
          calendar-main-events, concat($root,'/calendar/event'), 
          'calendar')" disable-output-escaping="yes"/><br />
        </xsl:template>
        </xsl:stylesheet>

Bugs/features:

  1. It's not possible to have a date field in the same section you plan to use for the events, it conflicts with a date time field.
  2. If you have two calendars on the same page, when you switch months/years, it will switch them on both calendars.

You can download it at my Github repo.

tags: symphony, symphony extension, portfolio

Keep Flippin' website v3

Stamped: 15 Jun 2009 | Show comments

keep flippin picture

New Hotness (updated)

I've recently changed the Schedule page, and a hidden, non-publicly page, to use a Rails Application as a 'data-source' to provide the Schedule of classes, as well as other stuff on that non-public page. This was done in an effort to help ease the transition between the software that Keep Flippin' currently uses to manage itself, and the new software I will be writing. More will follow in the coming months!

Old and Busted (original)

Below this is all tech-talk. To summarize, I used new stuff to make the site better, make it quicker, and more responsive. This is what I made.

The new keep flippin website is built using compass for the CSS (this is amazing), symphony, some extensions I created, SASS, XSLT and GitHub to keep track of everything.

tags: keep flippin, portfolio, symphony

Uploading multiple files with Symphony CMS

Stamped: 01 Jun 2009 | Show comments

Mass Upload Utility

Many CMS' don't offer a way to manage picture galleries easily, and neither does symphony out of the box. But, after playing with symphony some, I decided that I liked it and the next project I would do would be with symphony.

So I created a plugin (in symphony: extension) that allows you to upload multiple files, and create entries (in this example, gallery items, or rows in the database, etc) to allow you to accomplish this easily.

You can download it at my Github repo.

tags: symphony, symphony extension, portfolio

dr lorne s. stitsky

Stamped: 28 May 2008 | Show comments

picture of drstitsky.com

I recently finished a web site for Dr. Lorne L. Stitsky, for his personal practice. His slogan is, "putting the care back into healthcare... one house call at a time". It's not just a marketing ploy either, he actually makes housecalls. I designed and developed the site, it uses Mephisto as a backend and Lightbox for the gallery.

Update: the site is pending a redesign to match Dr Stitsky's new theme. The website was created before he had a theme set in mind.

tags: mephisto, portfolio
recent entries
Rails — A faster way for next and previous links on a post, article, or any model
The awkward things Siri says
Node.js — Getting oAuth Up and Running Using Express.js and Mongoose
Node.js — Getting oAuth Up and Running Using Express.js, Railway.js and Mongoose
Migrating from Rails 3.1 RC4 to RC5 using Heroku's Cedar Stack (also compass, unicorn, and sendgrid)
Random Freeze Fix for GTX 460 in 10.6 (osx86)
Wasted on Steam - an analytic tool for the Steam platform
Rails 3.1 — SQL logging to STDOUT during testing (with rspec, test::unit, or cucumber)
Rails 3.1 — Using ERB/HAML/etc within a Coffeescript JS file
Rails 3.1 — 'load_missing_contant': Expected ... to define ... (LoadError)
View the entire archive of articles