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

BCmoney MobileTV

FOAF and the Facebook Death Star

Posted by bcmoney on May 18, 2012 in E-Business, JSON, Semantic Web, Web Services, XML with No 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 3 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.

Requirement

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:

 

Problem

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.

Solution

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 1 Comment


No Gravatar
EPG

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:
BC$ EPG

 

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
Quick-start-3

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.

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 my clients or their technologies, 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.

For this new position, I’ve taken the time to brush up on my understanding of portlets and am including some useful steps here for getting started with your first Tiles project:

SHORTCUT IF YOU’RE USING MAVEN

  1. Point your POM to the MAVEN repository:
      <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-extras</artifactId>
        <version>2.2.2</version>
      </dependency>

 

MANUAL LIBRARY LOADING

  1. Download project: http://tiles.apache.org/download.html
  2. Unzip to your project directory (or a common one if you plan to reuse it alot)
  3. Start a new project in your IDE or create a new directory/folder with a “libs” sub-directiory/sub- folder, or something similar
  4. Add the tiles-extra.jar file to your project’s BUILD Path
    (depends on IDE but assuming you know how, if not right-click on the project, if you still can’t figure out, try a search engine)

After following either the Maven or Manual setup, you should be ready to go with your first Tiles project.

 

 

JS Transformer

Posted by bryan on December 8, 2010 in AJAX, HTML, JavaScript, XML with No Comments


No Gravatar
Megan Fox and Shia Labeouf promoting Transform...
Image via Wikipedia

The official release of one of the most useful (yet hackish, and randomly pieced together from the interweb) code snippets I’ve ever made. I’m calling this useful little piece of code “JS Transformer”, since Transformers are cool again thanks to Shia LaBeouf.

NOTE:
KEEP IN MIND THE SAME-ORIGIN POLICY OF MOST BROWSERS… you’ll probably have to use a server-side proxy to make this more useful (i.e. proxy.php, proxy.jsp, proxy.asp, etc… a topic I’ve covered before)

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.

  • Archives

  • Switch to our mobile site