Behavior, Content, Money – 3 Things you should never give away for free!!!

BCmoney MobileTV

HTML5 Radio Tuner (powered by ShoutCast API)

Posted by bcmoney on June 30, 2013 in AJAX, Multimedia, PHP, Web Services, XML with 1 Comment

No Gravatar
Pioneer radio tuner 70s

Pioneer radio tuner 70s (Photo credit: Barrie Sutcliffe)

Since I wrote about Skeumorphs last month, I thought I’d include this piece I had worked on. This is an older idea I had that I’d done the initial design for but forgot (ahem… procrastinated) to do the coding for back when I had the idea. The general concept was to replicate the look of an old-school needles and knobs analog radio.

I’ve always sought to bring more humanity to the online content experience. If we have to be forced to sit in an office or stare into a screen for most of our waking lives, just to be considered “modern and relevant” and have a chance to compete in this global marketplace, then the experience might as well feel natural and familiar to our interactions with the real world. It might as well be a pleasant co-existence with technology, rather than a mechanical, robotic, in-human and uncomfortable one.

So enough of that esoteric philosophy nonsense and on to the interesting stuff. The concept is that I missed the radio dial on my grandfather’s old analog radio. As a child, I used to play with the knobs and enjoy tuning into many different stations. It was a long-range radio so on a good day in my teenage years, I could even tune into the Howard Stern show broadcast from New York and some of the more edgy french stations from Quebec. Even my grandfather’s gone digital now though, so I figured the fond memory of this technology from the past might as well too.

There were 5 main components to this project:
Read the rest of this entry »

FOAF and the Facebook Death Star

Posted by bcmoney on May 18, 2012 in E-Business, JSON, Semantic Web, Web Services, XML with 2 Comments

No Gravatar
An updated SVG of the FOAF logo...

The Facebook Death Star

Since the February confirmation of the Facebook IPO, Facebook has continued to stagnate in user-base yet as an organization it holds no punches as it attempts to grow internationally, and its stock price continues to soar as Class A shares finally open up to the average person (major investment firms had first dibs at the initial Class A shares released during the IPO). Facebook founder and owner Mark Zuckerberg maintains 58% control of the company through complete control of Class C shares and veto power over all Class B shares. This is indeed shaping up to be a new Galactic (global internet) Empire, similar to that sought by a young Annakin Skywalker in Revenge of the Sith. The new schematics for a seemingly unstoppable battle station would be the carefully-timed Facebook Timeline rollout along with Facebook Connect and OpenGraph protocol. So if one can draw vague parallels between Mark Zuckerberg and Darth Vader, who can play the role of the Emperor? An obvious choice would be early angel investor Petr Thiel of PayPal, but a more appropriate figure is Microsoft CEO Steve Ballmer, whose company owns approximately 2% of Facebook:

Symbolizing Facebook as the death star is hardly a new concept, just check out these previous references.

Enter the FOAF project and its RDF/XML data format for representing friendship connections in a social network, as well as personal interests and contact info. Although the FOAF file format is designed first of all to be machine readable, it is often desirable to be able to browse it as if it were a usual Web page.
Read the rest of this entry »

Sports Stats API feeds evaluated: ChalkGaming wins

Posted by bryan on December 7, 2011 in E-Business, Web Services, XML with 5 Comments

No Gravatar
Graph showing, by year, the average number of ...

Image via Wikipedia

Well, I’ve decided to give this one away in the title, since the good folks over at ChalkGaming helped me out quite a bit while consulting with a big client who wanted to integrate Sports Stats into their Online Newspaper properties.


Create a sports widget to display quality sports data (including: schedules, box scores, standings, betting odds, league news, trade and injury reports) for the top 6 big leagues (NHL, NBA, NFL, CFL, MLB, MLS) and ensure it is scalable to display as many other sports as possible. When thinking of how to solve this problem, I quickly checked out each of the major leagues’ sites for their terms of use to see if a quick scraping solution was practical (or even legal).

One possible solution would be to scrape the required data directly from each of the Big Leagues’ own website:



The problem with this of course, is that each site has a very different format (many custom parsers required to get and present the data) and vastly differing licensing terms (some allow data reuse and even encourage caching rather than straining their site, such as MLB). However, most don’t allow reproduction of their site in any form; meaning most would probably not allow scraping or caching sports stats and other data from their server onto your own server, so you could at best display the content in an iframe and be extremely limited in terms of display options for the end-user.


Read the rest of this entry »

Parser for XMLTV format and SchedulesDirect data

Posted by bcmoney on September 25, 2011 in JavaScript, PHP, Web Services, XML with 2 Comments

No Gravatar

Image via Wikipedia

For a long time now, I’ve been a paying customer of SchedulesDirect, and by that token their parent company Zap2it (now a Tribune Media Services company).

Recently, I’ve started publishing my own personal Electronic Programming Guide (EPG) here on BCmoney MobileTV in an accessible format:

One of the secondary goals of my MobileTV project has always been to be able to provide all XMLTV users a venue to easily access and conveniently plan/schedule their TV viewing via the web, on a variety devices (i.e. mobiles/tablets/desktop computers).

Soon I’ll be adding in a User Management feature that allows you to signup for SchedulesDirect and synch your account through BC$, and most importantly, protect your EPG and viewing data by your username and password (this is required to meet the SchedulesDirect usage terms and privacy policy).

I found that GET requests are not supported so technically the Tribune Web Service must still be following the SOAP 1.1 not SOAP 1.2 standard which specifies both GET and POST are acceptable as long as the SOAP request enveloppe is passed via URL.
Since that is not supported, you have to use POST and it also has to have the BASIC authentication information included in the header in the exact pattern:
Read the rest of this entry »

How to deploy an Apache Tiles project

Posted by bcmoney on August 22, 2011 in Java, XML with No Comments

No Gravatar

Apache Tiles is Java’s leading version of a widget container, built on the Portlet specification. In Java, portlets are similar in concept and serve almost the same functional purpose as widgets in the web world

Long before the release of the W3C’s Widget specification, most modern programming languages had already (predictably) evolved a system for plugins, extensions and/or the representation of widgets. One such platform (also happens to be a web platform) known for its high degree of modular design and use of separate templates to comprise a given view, is Apache Tiles.

I’ve accepted a new position at TeamSpace / TheREDspace in Halifax, NS; and, while I’m not at liberty to divulge much juicy information about their clients or the specific technology stacks they use, I can mention that Tiles is a great open source project on which some of their very popular (i.e. heavily trafficked) online services are currently running quite successfully. They are able to perform updates in near real-time with Continuous Integration build servers that push to an staging server where business owners and testers can then sign-off on a given release on a feature-by-feature basis. Usually, even with good deployment practices, you need to sign off on a whole release, but with this approach leveraging Apache Tiles, individual functionality within the release can be given a green, yellow or red light.

As a developer, that means the feedback is instantaneous, so for this new position, I’ve really had to up my game and taken the time to brush up on my understanding of portlets. I wish I could share more, I actually prepared a 30-page document summarizing all the steps in great detail but it can’t be shared and is the property of my employer. That said, in case someone wants to try to integrate Tiles to their own Java web projects, I’ll include some useful steps here for getting started with your first Tiles project:

SHORTCUT IF YOU’RE USING MAVEN Read the rest of this entry »

BC$ = Behavior, Content, Money

The goal of the BC$ project is to raise awareness and make changes with respect to the three pillars of information freedom - Behavior (pursuit of interests and passions), Content (sharing/exchanging ideas in various formats), Money (fairness and accessibility) - bringing to light the fact that:

1. We regularly hand over our browser histories, search histories and daily online activities to companies that want our money, or, to benefit from our use of their services with lucrative ad deals or sales of personal information.

2. We create and/or consume interesting content on their services, but we aren't adequately rewarded for our creative efforts or loyalty.

3. We pay money to be connected online (and possibly also over mobile), yet we lose both time and money by allowing companies to market to us with unsolicited advertisements, irrelevant product offers and unfairly structured service pricing plans.

  • Calendar

    • December 2023
      M T W T F S S
  • Archives