Perl
And Open Source In Olympic Judo

lancew@cpan.org

Lance Wicks

  • Perl Development Team Lead (CV-Library)
  • Judo coach
  • IT Team member European Judo Union
  • IT Team Member International Judo Federation
  • Administrator World Ranking List

CPAN - PRC

Friday,

11 August 2017

12:30

Overview

  • Introduction
  • Why give this talk
  • Open Source in my sport
  • Webservice::Judobase

Judo??

Japanese sport and martial art.

 

Summer Olympic Sport

 

Nederlands has a strong history.

 

Similar in ways to Perl.

Why give this talk?

You can have a big impact by writing software for sport.

 

I want your opinions/experiences

 

Ask you to get involved!

Open Source in Judo

  • Mix of open/closed source
  • Heavy use of open source
  • Lots of in-house dev
  • Gives lots of tools to Judo community
  • Not a lot of contribution back to the software community

 

Examples

Judo Notator
(Perl)

Used for academic research into the trends in Judo competitions

 

ncurses interface

 

2008

Ippon.org
(PHP)

Started in 2001, providing competition results in real time.

Now provides entire competition management system.

 

Given to all nations free

TV Graphics
(Electron)

NodeJS

UDP traffic from scoreboards

Data from DB

Green screen for live broadcast.

Judobase.org
(PHP + JS)

Central website

Athlete/team registration

Results, Videos, Statistics

 

API to all the data

Video Replay
(Electron + C)

Interfacing to BlackMagic video device, slow motion replay for referees (replacing commercial product)

 

Listens to scoreboards

Referee USB
(JS + HTML)

Spread rules information for education across the world.

 

Video clips

Video Cutting
(Node)

Using UDP packets from scoreboards, cut video for uploading to youtube.

 

* Command line only, hence no photo

Twitter Stream
(Perl + Node)

Collect tweets from hosepipe, curation by human, display on big screen and live stream.

 

Dancer2

Laptops
(Ubuntu Linux)

Given to every national governing body. Running Ubuntu and the Ippon.org software

Statistics
(Perl)

Get data from shared database and determine statistics for sports commission and researchers etc.

Video Download
(Perl)

Used for teams with low internet access. Full event videos or for specific nations or athletes.

Webservice::Judobase

https://github.com/lancew/Webservice-Judobase

use Webservice::Judobase;

my $srv = Webservice::Judobase->new;
my $event_id = $ARGV[0] || 1455;    # 2017 European Championships

my $contests = $srv->contests->competition( id => $event_id );

my %athletes;

say 'Team Nederlands';
say '---------------';

for ( @$contests ) {
    $athletes{$_->{person_white}}++
        if $_->{country_short_white} eq 'NED';
    $athletes{$_->{person_blue}}++
        if $_->{country_short_blue} eq 'NED';
}

say $_ for sort keys %athletes;
$ perl -I lib/ examples/nederlands.pl 
Team Nederlands
---------------
AUSMA Natascha
BERGSTRA Margriet
DE WIT Frank
KORREL Michael
MEYER Roy
SAVELKOULS Tessie
STEENHUIS Guusje
STEVENSON Karen
VAN DIJKE Sanne
VAN T END Noel
VAN T WESTENDE Sam
VERMEER Sanne

For release on CPAN DAY

Created to simplify data as more projects interact with API.

Perl wrapper to help with prototypes.

Research community using Perl or comfortable modifying scripts.

Audience Participation

Pick any sport

No Not Football

Pick any sport

What sports need?

  • Competition Information systems
  • Broadcast
    • Live stream (OBS?)
    • TV Graphics
  • CRM/Data management
  • Websites
  • Scoreboards
  • ODS (Olympic Data System)
  • More...

Get Involved

You are a developer... build something cool.

 

Help a sport, find something they need.

 

You may not get paid, but you might become part of your sport

Thank You

Any questions?