From the category archives:

Play

AdSense for Games: Only for the Big Players, For Now

by Joey deVilla on October 8, 2008

When I was Tucows’ Technical Evangelist, one of the areas the company was researching was casual gaming and the opportunities it presented. During the research phase, our casual games guy Scott Murff pointed out the difference between the ads on casual and hardcore game sites: while the ads on hardcore game sites were generally about other hardcore games, the ads on casual games sites were aimed at a broader audience, and many were aimed at women.

The next logical step is to take the ads on the page area surrounding casual games and and move them inside casual games, and it’s now possible with AdSense for Games, which makes it possible to insert AdSense advertising into Flash games. Here’s an example provided by the Inside AdSense blog, which shows gameplay and a “and now, a word from our sponsors” moment featuring an AdSense ad (the ad comes on at the 0:53 mark):

For the time being, your casual game will have to be a hit to qualify: it has to have half a million game plays a day and 80% of its traffic must come from the U.S. and U.K.. As with original recipe AdSense, it’s likely that the “long tail” crowd will eventually be admitted if AdSense for Games takes off.

For more details, see the Google In-Game Advertising page.

{ 0 comments }

Zero Punctuation on “Spore”: NOOOOOOOOOOOOOOOOOOOO

by Joey deVilla on September 17, 2008

Oh, how I enjoy Ben “Yahtzee” Croshaw’s game reviews in his video series Zero Punctuation. In this installment, he covers (and savages) Will Wright’s long-awaited game, Spore. Thankfully, he skips complaining about the DRM, which I heard plenty about already. After hearing his review, DRM sounds like the least of the game’s problems…

{ 0 comments }

“Penny Arcade” on the Seinfeld/Gates Ads for Windows

by Joey deVilla on September 15, 2008

I like Penny Arcade’s take on the current Seinfeld/Gates TV ads for Windows:

"Penny Arcade" comic on the Seinfeld/Gates TV spots
Click the comic to see it on its original page.

My favourite line from the article accompanying the comic: “Trying to associate Microsoft with “fun” is like trying to associate Satan with aromatherapy.” Mind you, I think they managed to pull it off with the XBox 360.

{ 0 comments }

Zero Punctuation’s Bang-On Review of “Too Human”

by Joey deVilla on September 11, 2008

Some of my coworkers at b5 were all hot-and-bothered about the demo for the XBox 360 game Too Human, so I decided to download it and give it a try. I played it and was generally less than impressed with both the gameplay and especially the storyline (like Assassin’s Creed, the story’s a rather clumsy mish-mash of swords-and-sorcery and sci-fi genres).

Ben “Yahtzee” Croshaw, the fast-trash-talking host of the excellent videogame review show Zero Punctuation agrees with me. He panned the game in his trademark fashion:

{ 0 comments }

Great Showdowns (of the 8-bit Era)

by Joey deVilla on August 17, 2008

Can you identify the ’80s-era games depicted in Scott Campbell’s piece, Great Showdowns (of the 8-bit Era)?

Great showdowns of the 8-bit era

{ 0 comments }

XBox on a REALLY Big Screen

by Joey deVilla on August 13, 2008

"Grand Theft Auto" on a movie screen

Here’s something for gamers who want to go big: the Cineplex chain of movie theatres in Canada is renting out downtime at 29 of its locations to people who want to play XBox 360 games on their giants screens. CDN$179 (US$169) gets you and 11 of your friends 2 hours’ worth of big screen time.

Here’s an excerpt from the CBC article:

Theatres will generally have about 12 to 24 hours of available downtime a week, mostly in the morning, she said. Many theatres are in “full grind” right now showing summer movies, but they should slow down and have more available time once school begins in September.

Theatres may also stay open late into the evening to accommodate groups, at the discretion of each manager.

“If they wanted to book a four-hour window, we could certainly go later in the evening,” [Pat Marshall, Cineplex's vice-president of communications] said. “If the theatre manager has the staffing, they could go till two in the morning.”

The wife is a big Rock Band aficionado. Maybe I could book something for her birthday…

{ 2 comments }

Internet Memes Timeline

by Joey deVilla on August 7, 2008

Internet Meme Timeline

Feeling nostalgic for “Ate My Balls”, “I Kiss You” or “All Your Base are Belong to Us”? The Internet Memes Timeline’s got the cure for that.

{ 1 comment }

Sayonara, Cassettes

by Joey deVilla on August 6, 2008

Pictured below is the death spasm of a recording format: the compact cassette (a.k.a. “cassette tape”), sitting on the bargain shelf at a drugstore somewhere in the U.S., its price reduced so that it’s one of the cheapest items in the store. Even gum is probably more expensive:

Maxell cassette tapes on sale
Photo courtesy of Miss Fipi Lele.

Here’s another death spasm: an invitation for a farewell party for the cassette held by the book publishing company Hachette, pictured below. Audiobooks were the cassette’s last domain, but in the age of the iPod and phones that double as MP3 players, they had become obsolete:

Hachette\'s invitation to a farewell party for the compact cassette
Image from the New York Times.
Click it to see the source story.


In the first half of the 1980s, the music formats available to a teenager were vinyl records and cassette tape (formally known in the industry as “compact cassette”). CDs hit the market in late 1982, but the first pressings were mostly of classical music and cost anywhere from $20 - $35, well out of the reach of most teenagers (remember, these are 1980s dollars!).

Vinyl was far cheaper: if you were smart and shopped downtown (as opposed to the record stores in the malls, where the prices were $2 - $5 higher), domestic albums sold for about $8 - $12 and imports, special releases and double albums went for about $12 - $18. They didn’t have the signal-to-noise ratio that CDs had, but on a good turntable on a half-decent sound system, you got better sound than a lot of downsampled MP3s playing on the budget speakers that came free with your computer.

Diagram showing the internals of a compact cassette
The internals of a compact cassette.

At the bottom of the hi-fi spectrum is the compact cassette. A clunky storage medium, it was often “hissy”, with a signal-to-noise ratio equivalent to listening to a jazz band in a small club while sitting near the air conditioner. The tape was prone to stretching from the stresses involved in both normal playback and more so with fast-forwarding and rewinding, especially in the case of the C120 (120 minute) cassette, whose tape had to be made thinner so that its reel would still fit inside the shell. Finally, there was its mechanical nature: it had actual moving parts whose quality would have a direct impact on your sound. A cheap shell, a wobbly reel, a misaligned guide roller or any combination thereof could make it sound worse.

In spite of all these disadvantages, it became an incredibly popular format. Cassettes were portable and handled jostling well, which made them perfect for car audio and the Walkman. They also represented the first time that most people could create what we now take for granted in the age of digital audio: the customized playlist in the form of the mix tape. If you were dating in the ’80s, making a mix tape was an important courtship ritual:

\"Breakup Girl\" on mix tapes
From the Breakup Girl comic, Mixed Messages.
Click the image to read the full comic.

Mix tapes didn’t make everyone happy: the record companies became quite concerned about people passing around copies of their music or making copies of their music for their car or Walkman and put up some campaigns to stop home taping, including the infamous “Home Taping is Killing Music” promotion:

Home taping is killing music
History proved this was a lie.

By the way, it turned out to be a lie, as the music industry boomed as home taping blossomed, and home taping for personal use is not illegal; it’s fair use.

For a while, sales of albums in cassette form surpassed those on vinyl or CD. The lesson to be learned from this is the same one that the MP3 format taught us: in spite of what the audiophiles will tell you, versatility and convenience trumps sound quality.

In the days before MP3s and MySpace, before CD-burning was available to the masses, the cassette was the only economical way for a small band to get their music into their audience’s hands. A number of bands got their start this way; one famous local example was the Barenaked Ladies’ “Yellow Tape”, pictured below, which many fans say featured better performances than those on the CD that followed after they got the record deal:

The Barenaked Ladies\' \"Yellow Tape\"
Now a collector’s item.

Finally there’s a way I used cassettes that you may have never encountered: as a storage medium for computer data. Back in the late 70s and early 80s, before 5 1/4″ floppy drives became cheap and ubiquitous, it was the preferred way to store your home computer’s programs and data. Even the original IBM PC used them:

Commodore \"datasette\" cassette recorder and \"computer\" cassettes
Slow but reliable: cassette tapes as computer data storage medium. Some synthesizers of the era also used cassette tape for data storage.

(Somewhere in my parents’ basement sits a pile of cassettes holding my high school programming assignments written on Waterloo Structured BASIC for the Commodore PET. I’m curious to see what the programs I wrote back then look like.)


I don’t miss the cassette: I rather like a world where my music is in digital form and moves frictionlessly from my iPod to my computer to my USB key and across the net (and sometimes onto my camera chip when there’s no other place to store it). I haven’t owned a cassette player in about 8 years — come to think of it, I don’t even own a stand-alone CD Player anymore. Still, I feel I should pay tribute to that clunky mechanical piece of tech that served me so well in my youth.

Maybe I’ll pick up that USB key that comes in mix tape-inspired packaging:

\"Mix Tape\" USB key

{ 3 comments }

RubyFringe: Day 1 Notes, Part 1

by Joey deVilla on July 20, 2008

Here’s the first of my notes from RubyFringe, the non-corporate, almost-non-sponsored, edgy Ruby-but-not-Rails conference organized by the folks at Unspace and held in Toronto (a.k.a. “Accordion City”) on July 18th - 20th, 2008. I’ve read on a lot of blogs that people have been calling it “the best Ruby conference ever” — I might go so far to say that it’s the best tech conference I’ve been to.

This first set of notes covers the following presentations:

  • Adhearsion (Jay Phillips)
  • Deployment Monoculture / Scaling Ruby Down (Dan Grigsby)
  • Rockstar Memcaching (Tobias Lutke)
  • Living on the Edge (Yehuda Katz)
  • Testing is Overrated (Luke Francl)

Adhearsion (Jay Phillips)

From the RubyFringe program booklet:

Jay Phillips will talk about what’s been changing in the Adhearsion and VoIP scene and how people with virtually no VoIP experience can use Ruby and Adhearsion to write their first application in this generally foreign world of technology. If you’re building a Rails web application, with Adhearsion you could consider leveraging voice as a new, cutting-edge feature of it. If you’re a cowboy hacker with more personal ambitions, Jay will also talk about fun hacker projects and how you can go about implementing them. The world of voice is certainly a growing market and it can’t hurt to know a little about the technology!

- "Voice development on the fringe"
- "There's opportunity in the fringe"
- "Web development has this problem...it's saturated with innovation"
- Rails integration is a one-liner
- Asterisk's config file: complex and looooooong, app-specific config syntax
- Adhearsion's config: Ruby

Q&A
- Does it scale? Yes
- Asterisk breaks down at about 130 simul calls -- new box after that

Deployment Monoculture / Scaling Ruby Down (Dan Grigsby)

From the RubyFringe program booklet:

Most conversations about scaling Ruby web apps are pointed in the wrong direction. Instead of talking about whether Ruby can scale up — I think we all agree it can — I’d like to see it scale down.

As an entrpreneur, I launch dozens of ideas before I pick the one to turn into a startup. The Rails-inspired approach of deploying long running instances of the runtime, one or more per app, doesn’t scale down to support even a few side-by-side applications.

Instead of reflexively arguing that EC2 is cheap enough, this talk will challenge some base assumptions, take a hint and some inspiration from Google App Engine, and suggest another angle for deploying Ruby-based web apps.

- The programmer/entrepreneur lifestyle
    - Attractive
    - Hits the "sweet spot" -- lets you be who you are
    - It's all about controlling your own destiny
- The trick is to find opportunities to build stuff and match it with people who
  want that stuff

- Barrel research
    - It's a way of looking at markets and opportunities
    - Think of all the markets and opportunities out there as the volume
      within a barrel
    - Think of anything released into the market as a rock dropped into the
      barrel
    - The size of the rock in the barrel represents the size of the
      corresponding project or opportunity
    - Big rocks represent big projects taken on by big organizations
    - There are plenty of gaps between the big rocks, which can be filled in
      by smaller stones, representing smaller projects executed by smaller teams
    - It's fractal -- there are smaller gaps between the smaller stones, which
      can be filled in with sand, which represents even smaller projects by
      even smaller teams.

- The ideal team size these days: about 3
- Our current tools allow us to create well-crafted stuff with a small team
- Consider icanhascheezburger.com -- employs 9 people
- "Happy end of the Mythical Man-Month"
- If you're a hacker and have good hacker friends, you can do well

- With this in mind, what ideas should you implement?
    - "Late-bound ideas"
    - You want to make multiple, small, narrowly-focused bets
    - Act darwinistically -- take on a number of projects and cull those
      that aren't "fit to survive"

- Psychology and "Free"
    - Cheap is not free
    - Worry about spending money
    - Small psychological inputs can have a very large impact
    - Treat non-free things as dependencies -- try to get rid of them
    - Eliminating non-free things is part of a larger process:
      eliminating inefficiencies
    - If a customer is worth $100 -- Google will try to charge me $99 for it
    - Whoever your potential customer is, there'll always be someone out there
      who's going to spend more money than you trying to land that customer

- Disproportional Reward
    - This part of the talk is going to be all about market hacks,
      "fuzzing the market" and getting a result that is disproportionately
      greater than the time/effort/money you put in
    - They're all tech-driven: does not require you to be a salesperson
    - These approaches are tech- and marketing-based

    1. Breaking into the walled garden
        - PayMe.com was Pepsi to PayPal's Coke, with about 10% market share
        - We realized that auction buyers would be the big adopters of
          systems like ours, so we approached eBay who wouldn't take our ads
          because of an exclusive agreement
        - We found out that eBay had relationship with LinkExchange -- they sold
          a lot of ads in eBay
        - We bought out LinkExchange ads, many of which ended up appearing on
          eBay pages as per their arrangement, effectively doing an end run
          around eBay's refusal, getting out ads on their pages against their
          wishes
        - Exploiting this non-obvious relationship made our company successful

    2. Baby's Mamma
        - The parenting market has a strong geographic component: new parents
          tend to clump together in the same neighbourhoods
        - Certain postal codes are parent-rich
        - Going after parents? Find out where new schools are being built --
          that's where they are
        - School websites post which of their teachers are going on maternity
          leave -- send their colleagues coupons!
        - Take a page from the stalker book: use readily-available demographic
          information, sych as driver's licence registration, voter info
          registration
        - Do analysis on that information
        - Look for info that ties them to a specific demographic -- consider
          names that belong to specific generations, like "Hildegarde"
        - Use Freedom of Information Act requests
            - For example, Nate's dad gets an National Science Founation
              database of people who just got funding and uses it
              to cold call them
            - Often, he would be the first person to inform them that they
              got the funding, making him the bearer of good news and thus
              more likely to make the sale

    3. Tai Chi Marketing
        - I wrote a script to auto-fill contact forms that I knew would lead to
          my getting called by a telesales person
        - I got calls from telesales people, whose jobs are tough
        - I'd explain that I wasn't likely to buy what they were selling, but
          told them that I have a product that would make their job easier;
          could they introduce me to their boss?"
        - End result: an inbound sales call was redirected and turned into a
          sale to them
        - Making emotional connection with people is key

    "At this point in the list, we're now approaching that fine line that
    separates an entrepreneur from a criminal

    4. Dorm Spam
        - My first job: selling white box computers at dorms, a la Michael Dell
        - My major cost: shipping flyers
        - So I used the inter-campus mail system to send the flyers

    5. Tragedy of the Commons for Fun and Profit
    - This was in the era of desktop-based file-sharing clients like Scour,
      Kazaa and eDonkey
    - Shared a lot of windows media files with the names of popular videos and
      movies
    - .WMV files back then could include an instruction to pop open a browser
      window pointing to a specific URL when the file was played
    - We used this as advertising

Don't short this stuff:
- As programmers, we have a tendency to bury ourselves in coding when things
  get tough
- Some problems can't be solved with tech
- Learn about handling people

Rockstar Memcaching (Tobias Lutke)

From the RubyFringe program booklet:

Memcached is what makes the web fast. It’s also the simplest thing ever: you put a little memory aside for it, you put some keys in, you get them out at a later time.

So why the hell do all of you geniuses use it wrong? I’ll teach you how to tackle your performance issues using memcached once and for all.

- "I'm here to present the most boring talk of the entire conference"
- Memcached: "like a hash with Alzheimer's"
- Originally for LJ ("which is about people cutting themselves)
- Lots of people use memcache

- How does memcached work?
- Talking to servers
    - Simple protocol: get, set, delete
- What do you store in it?
- Object caches
    - after save to database, save it to cache
- Expiry options
    - flush_all: the nuclear option
    - :expires_in
    - use an observer -- delete an activity after saves
- Unique ID lookup

Living on the Edge (Yehuda Katz)

From the Rubyfringe program booklet:

Ruby is growing up quickly, and a number of Ruby’s mainstays are falling by the wayside. I’m talking about classics like Rails, Rake, Rdoc and much much more. This talk will help you squeeze even more developer productivity out of the latest edge tools that will be the mainstays a year from now. Of course, living on the edge is a dangerous game, so I’ll cover how to sanely keep abreast of the latest and greatest without having to spend all your time keeping your tool chain up and running.

I intend to cover Merb and DataMapper (briefly, as they are rapidly reaching escape velocity from the Land of Edge), Thor, YARD, basis and Johnson. I will also cover other edge tools that are released between time of printing and Rubyfringe. Rock on!

1. Merb
- Not really edge anymore, but still worth playing with
- Monolithic-ness not everything it's cracked up to be
- Merb lets you pick and choose
- Large community
- Stats: "I don't have numbers, but this is real!"
- You probably want to use Merb off edge
- Sake:
    - Does all the work cloning multiple git repositories

2. DataMapper
- NonSQL things
- Hard to get set up
- You should be using Github -- see github.org
    - "It's pretty much where Ruby edge is at"

3. Sake
- Lets us set up tasks

4. Thor
- Rake + Sake + Optparse

5. YARD
- Bigger than just an RDoc replacement

6. Johnson
- Rhino for Ruby
- A full Ruby-JavaScript bridge
- Lots of support for JavaScript expressions
- What's it for?
    - Server-side JS
    - Templates that work on client and server
    - Browserless tsting, potential
    - Optimizing Ruby?

Testing is Overrated (Luke Francl)

From the RubyFringe program booklet:

Develper-driven testing is probably the most influential software development technique of the last 10 - 15 years. There’s no question that it has improved the practice of building software. And in a dynamic language like Ruby, it’s hard to get by without it. But is it really the best way to find defects? Or is the emphasis on testing and test coverage barking up the wrong tree?

- Testing is a programmer's solution to the problem of bugs
- Coding's what we do, so why not make the solution out of code?

- What's wrong with this?

    1. Testing is hard
        - Developers tend to write clean tests describing the normal execution
        - Tend not to write "dirty" tests, which check non-normal cases, such as
          out-of-bounds conditions, bad data, various error states
        - Mature orgs write more dirty tests

    2. You can't test code that's not there

    3. Tests have bugs
        - A number of studies have shown that tests are just as likely to have bugs
          as the code they're testing
        - Who tests the tests?
        - There's also the matter of developers who comment out tests
          just in order to "get stuff done"

    4. Developer testing isn't very good at finding defects

- Complements to developer testing

    1. Manual testing
        - A good tester is worth his/her weight in gold
        - A good tester I know is not only good at explaining how the bug
          occurred, but also very thorough about providing info about it,
          including the stack trace
        - Have testers do it rather than programmers --
          besides, programmers hate it
        - Testers are also responsible for verifying fixes -- don't take the
          programmer's word that the bug has been fixed, confirm it!

    2. Code reviews
        - A good measure of code quality is the number of "WTFs per minute"
          during the code review
        - The polite code review definition of "WTF" is "What is this function?"
        - There are sociological considerations for code reviews -- you are,
          after all, leaving your creation (and by extension, you)
          open to criticism
        - Try to find bugs, not rip your collegaues to shreds
        - Code reviews can motivate you to code better
        - Can code reviews make better developers? Possibly:
          consider Robert Glass' argument that reading code
          can help make you a better developer

    3. Usability testing
    - Fun and easy
    - Jeff Atwood: Usability test failure is the ultimate unit test failure
    - The cheap way to do usability testing is to follow the model of
      Steve "Don't Make Me Think" Krug's "Lost our lease" usability lab:
      the testing computer and a camera, with you following the user
      through your application

- "Don't get me wrong: I write tests, I'm just not fanatical about it"

{ 4 comments }

A study of 106 major U.S. airports and 800 business travelers says that 12,000 laptops are lost in airports each week. Less than a third are recovered, and nearly half the travelers say their laptops contain some confidential business information. Most are lost either at security checkpoints or departure gates. How over 600,000 laptops get lost at airports each year is a mystery to me; after my passport and wallet, my laptop is the thing I guard the most when flying.

{ 0 comments }