Predictive analytics for football play outcomes

30 April 2012 » Football, IBM, Writing

Inspired by the NFL playoffs in January, I wrote an invention disclosure on how to merge player statistics with current field conditions to yield a visual probability of how a play might turn out.

The end result I envisioned was that you could watch the game on television as a spectator (or in real time as a competing coach) to see what the outcome the system predicted at the start of a field goal or 3rd down pass, for example.

As a sports fan the technology adds value to what broadcasters currently provide with digital first down markers and 3D play analysis.

As a coach, you could confidently plan what your next play would be. If the likelihood of scoring a touchdown was high, you could more quickly decide whether to kick the extra point or go for a two-point conversion ahead of time.

Beyond American football, the technology could be applied to many other situations, such as ice hockey, as well as non athletic events.

  • Example Embodiment #1: Field Goal
    In the NFL, a place kicker lines up to attempt a field goal. Using statistical data about the player (his history of successful field goals from this distance in this stadium) as well as sensor or other real time data about conditions on the field, the system overlays a heat map onto the image on the television screen, showing solid orange where the kick is likely to go (and fading opacity farther away from the center based on the probability). This provides a good indication where the kick will end up, and whether it will be successful. (Figure 1)

    Figure 1: Likely outcome of field goal attempt in this context
    Example Embodiment #1: Field Goal

  • Example Embodiment #2: Pass Play
    In the NFL, a quarterback has his team lined up in a pass formation. Using statistical data about the player (his history of passes from this field position in this stadium) as well as sensor or other real time data about conditions on the field, the system overlays a heat map onto the image on the television screen, showing orange where the ball is likely to go (and fading opacity farther away from the center based on the probability) and yellow highlights the probable receiver. This provides a good indication where the pass will end up, or to which player he will pass. (Figure 2)

    Figure 2: Likely receiver of the pass and field position of the catch in this context
    Example Embodiment #2: Pass Play

  • Example Embodiment #3: Hockey shootout
    In the National Hockey League (NHL), a hockey game has goes into overtime and comes to a shootout to determine the winner. Using statistical data about the player (his history of one on one shots against this goalie in this venue) as well as sensor or other real time data about conditions on the ice, the system overlays a heat map onto the image on the television screen, showing orange where the puck is likely to go (and fading opacity farther away from the center based on the probability). This provides a good indication where the player will shoot.

IBM decided not to pursue a patent, but published the idea to protect the intellectual property. The full article is available behind a paywall at IP.com.

Would be interesting if this serves as prior art for any later invention that gets implemented.

Migrating PHP applications to DB2

08 March 2012 » DB2, developerWorks, MySQL, PHP, Writing, Zend

IBM developerWorks has just published the final part in our series on migrating a PHP application from MySQL to DB2.

Learn why to move a PHP application to DB2, how to plan the migration, how to execute it, how to support it, and how to handle potential risks based on the experience of an IBM intranet application case study. This four-part series shares lessons from a successful MySQL-to-DB2 migration for a mission-critical PHP intranet application used by 4,000 global users within IBM to support content production for ibm.com.

In addition to sharing our own experience, the series highlights the number of resources available to you to carry out your own migration.

Use the IBM Cloud to build your PHP apps

14 March 2011 » Cloud, DB2, developerWorks, New York PHP, PHP, Zend

IBM developerWorks just published an article I wrote about using the Development and Test Cloud to create PHP applications.

The tutorial covers some scenarios that make the cloud compelling for PHP developers and then takes the reader through the installation of Zend Server with DB2 on the IBM Cloud.

If the content looks familiar, you may have seen an earlier version in a print copy I handed out at New York PHP (PDF) late last year.

Speaking of the cloud and NYPHP, don’t forget to join us next week to look at an alternative way to use the cloud to develop PHP applications using Amazon and RightScale.

Move from MySQL to DB2 via the Cloud

24 November 2010 » Cloud, DB2, developerWorks, Linux, PHP, Zend

IBM developerWorks has just published the first article in a series that Mark Nusekabel, Yan Li Mu and I wrote about our experience migrating a large PHP and MySQL application to DB2.

In the four part series we look at preparation, switching databases, porting code, and finally deploying the application. This first installment covers the steps to plan and resources to consult when starting a migration project.

Along with the MySQL to DB2 migration Redbook, a key technology supplementing each step in the process is the IBM Smart Business Development and Test Cloud.

If you already have access to the Development and Test pilot, the PHP developer’s guide (PDF) can give you some tips for configuring Zend Server along with DB2 using virtual machines in that cloud.

The article series and the developer’s guide may also be useful to those who have a contract for the GA version of Development and Test.

Another option to evaluate DB2 for a migration is to use the Amazon EC2 AMIs pre-configured with IBM software individually.

Or, if you’re interested in managing several instances or more complex configurations, RightScale and IBM have collaborated (PDF) to bridge the Amazon and IBM clouds.

So, if you’re considering a new relational backend for your application, the developerWorks migration series, the PHP developer’s guide for the IBM cloud, and the images within the Amazon and IBM clouds will give you a new set of tools to make evaluating the move and executing the switchover much easier.

Easter egg in the AIX InfoCenter

01 April 2010 » IBM, Potpourri, System administration

I had to double check the calendar when I first saw this gem in the AIX online documentation yesterday, but it was still March, not yet April first.

AIX 6.1 information > Commands > Categorical list of commands

Purpose: Starts the hunt the wumpus game.
Syntax: wump
Description: A wumpus is a creature living in a cave with many rooms interconnected by tunnels. You move among the rooms trying to shoot the wumpus with an arrow and trying to avoid being eaten by the wumpus or falling into bottomless pits.

As far as I can tell, this command is a hand-me-down from when the System V UNIX-based AIX incorporated bits from BSD.

I suppose this and the other games are still there for those customers using AIX on workstations (rather than bored sysadmins monitoring high-end servers… I hope).

Develop and test your apps on the IBM Cloud

I moved to a new position within IBM at the beginning of the year, joining the Enterprise Initiatives organization responsible for delivering IBM Smart Business Development and Test on the IBM Cloud.

Before I joined this team, Development and Test launched as a free public beta in 2009. Throughout 2010 we’ve incrementally improved the pilot and in the near future a generally available pay-per-use version will go live.

I’ll describe some of the features that Development and Test beta has now, highlight some usage scenarios that it can enable or improve, and along the way tell you where to learn more. As always, the standard disclaimer applies.

In a future post, I may put together step-by-step instructions on using the virtual machines on the IBM Cloud to:

  • Build PHP with an instance of DB2 as a way to illustrate how system administrators can evaluate the platform or practice configuration.
  • Verify that a sample Java EE application written for Tomcat works unmodified on WebSphere.

IBM Smart Business Development and Test on the IBM Cloud
Like many Cloud technologies, Development and Test aims to reduce the time and money spent by customers to procure, configure, and run IT infrastructure, platforms and software.

But the target of this particular system is to:

  • Give developers and testers hands-on access to IBM software in minutes rather than days or weeks.
  • Provide application developers with an environment to write and run their applications.
  • Allow usage to scale up or down depending on the phase of the project.

As a result, users will have more confidence in the quality of their work and are able to make better informed choices about its hosting environment when they deploy.

Feature overview
The Development and Test beta is a Web application that provides a dashboard for managing Cloud resources, a catalog of images to start with, and a set of APIs (Web service and command line) for accessing assets programmatically.

With it, you can:

  • Provision virtual servers
    An application developer can quickly start up an instance of a server OS, such as Red Hat Enterprise Linux, that is pre-configured with WebSphere or DB2, for example.

    With an operating system and middleware in place, the developer can try out the software setup or verify that their application works on that particular configuration.

  • Set up virtual development environments
    A developer can request a fully configured IDE instance, such as the Eclipse-based Rational Software Architect, and connect to it using a virtual desktop like FreeNX.

    Alternatively, the user can integrate with a hosted instance of Rational source control, automated testing, and project management software from the physical workstation they already use.

  • Save and extend configurations
    Once the team is satisfied with the product or system at a point in time, they can save a snapshot image of the configured instance.

    That image can then be used as a template from which to create new instances that can be shared with others. Those images can also be tagged as a test release or captured as a known good savepoint to build upon.

    Beyond the catalog of pre-configured IBM software stacks in the system now, IBM is working with partners to add third-party pre-configured packages on the Cloud.

In all cases, the user acquires the resources s/he needs right away without the need to find and run hardware or download, install and configure software.

This shortens project start time, reduces time spent on configuration trial and error, allows for more development iterations in the schedule given the same project length.

If you want to get a hands on introduction now, have a look at the developerWorks overview article or user guide (PDF).

Otherwise, if you want to hear my take how I think this particular Cloud platform can make life a whole lot easier for anyone involved in software development, read on.

New possibilities
Since this approach reduces much of the time and money to get hardware and set up software, several new possibilities and potential use cases come to mind.

Imagine the following scenarios that can be made possible or made much easier:

  • You are an innovator who needs a place to demo an early prototype to potential investors in order to justify further development.
  • You are a developer who has created an application on your laptop with a Personal or Express edition of IBM software and you want to see if it will run on a WebSphere and DB2 server to see if there are unexpected differences.
  • You are an independent software vendor who has verified your software on Tomcat (or PHP) and MySQL and wants to widen your potential customer base to include those customers who have an IBM infrastructure.
  • You are a committer to an open source project, and you want to replicate an issue reported by a user and and debug it using the configuration they have on their system.
  • You are a student who wants to build skills or experience hands on or do comparative research between operating systems and software vendors.
  • You are a standards body member, such as for ODF or Java EE, and want to see how a vendor implementation adheres to the specifications.
  • You are an author, you can make sure your readers have a copy of your sample code.
  • You are an instructor, you can make sure your students have an identical setup to reduce class prerequisite setup time.
  • You are a system administrator, and you want to test out an upgrade on an identical server before committing changes that are time-consuming or difficult to reverse on your own system.

Sound interesting?
The Development and Test on the IBM Cloud beta is available to use for free right now. In the coming weeks, a paid, stable and supported version will be available that charges on a usage basis.

If you want to take it for a spin, have a look at the developerWorks overview article or user guide (PDF) in order to get started with the beta. The support page offers forums, FAQs and getting started videos.

You may also want to follow the new developerWorks section and join the user community to learn more about this platform in particular and Cloud computing in general.

If you’re interested in the upcoming paid version check out the data sheet (PDF) on the IBM Middleware Services page. This video also makes a compelling introduction.

Enjoy, and don’t forget to check back here in the coming weeks to see those step-by-step PHP/DB2 and Tomcat/WebSphere tutorials.

Updated draft MySQL to DB2 migration guide

05 November 2009 » DB2, IBM, MySQL, PHP, Writing

Update: The final Redbook has now been published.

Whei-Jen Chen and Angela Carlson have prepared an updated and more comprehensive draft of the venerable MySQL to DB2 Conversion Guide to cover migrations from MySQL 5.1 to DB2 9.7.

The original version of this IBM Redbook published five years ago looked at migrating database applications from MySQL 4.0 to DB2 8.1.

Chapter 6 of Developing PHP Applications for IBM Data Servers extended the first edition three years ago by showing the changes required to migrate from MySQL 5.0 using the PHP mysql_* and improved mysqli_* extensions to DB2 8.2 using the Unified ODBC (odbc_*), the new IBM DB2 driver (db2_*) and PDO_IBM.

This new draft edition is still undergoing review – I’ve already sent along some comments and contributions from my field notes – and the authors are still accepting suggestions and reviews before they produce the finalized version.

So have a look a the draft, and get your comments to the authors. Otherwise, if you think it’s perfect as is, you can just rate it 5 stars all around. :)

WebSphere sMash at New York PHP April 28th

Next Tuesday night we’re excited to have WebSphere guru Roland Barcia introduce the latest PHP and Web 2.0 capabilities in IBM’s WebSphere sMash environment (built on Project Zero) to the New York PHP community:

IBM WebSphere sMash is a platform for developing and running agile Web applications using scripting languages and Web 2.0 technologies such as RESTful Web services, JavaScript Object Notation, and Atom and RSS feeds.

It supports the Groovy language, familiar to Java programmers, and PHP for access to thousands of PHP applications and libraries,and the huge PHP developer community.

IBM WebSphere sMash is focused on significant improvement in time-to-value for Situational Applications and Mashups.

Partners and community have found that by combining PHP applications and libraries with new code written in PHP or Groovy for the IBM WebSphere sMash platform, they can achieve significant reduction in development time for Situational Applications and Mashups.

We cover an overview of the PHP support in IBM WebSphere sMash and the support for generating new PHP code before exploring more detailed scenarios demonstrating PHP applications being extended, integrated and mashed up.

The presentation comes on the heels of the latest WebSphere sMash v1.1.0.1 release that includes PHP performance improvements and the new PHP to Groovy bridge (call Groovy classes from PHP).

Here’s a little background on how sMash relates to Project Zero (you can find more info on the about page):

  • Project Zero experimental builds (latest are named LeMans and Sebring). Includes the latest/greatest functional enhancements, tools, and bug fixes that haven’t yet made it into the generally available product. No-charge for development and limited deployments. Support via the Project Zero community.
  • WebSphere sMash Developer Edition – includes tooling as well as the stable, production-ready runtime. No-charge for development and limited deployments. Support via the Project Zero community.
  • WebSphere sMash – same stable, production-ready runtime as WebSphere sMash Developer Edition, but warranted & licensed for full production deployments. Available for purchase from IBM. Support available via the Project Zero community and 24x7x365 voice & electronic IBM support included with each new license purchase.

On a personal level, I’m excited to learn more about the PHP capabilities at this meeting first hand. I had a chance to work with sMash recently on an internal situational application. It used Groovy however, not PHP.

There’s also a slew of articles on developerWorks to learn about writing apps for sMash. In particular, Introducing IBM WebSphere sMash, Part 1: Build RESTful services for your Web application is a good place to start.

Back to the NYPHP meeting, please make sure you RSVP at least 24 hours in advance, by 6pm ET on Monday, April 27th for the meeting Tuesday night.

Hope to see you there!

Next page »