SlideShare uma empresa Scribd logo
1 de 22
A Free Software Radio
Station Automation System
About Me & my projects
● Board Chair of the Neighborhood Network – which operates
WCRS-LP
● Over 20 years of experience with Linux, Free Software and
computing
● Recent graduate of Ohio State with a degree in computer
science
● Full-time stay at home dad and part-time coder
Why Free Software Matters for
Community Media
● Minimizing dependence upon external entities
● Free as in beer – low budgets benefits from low
overhead
● Ability to customize to meet custom needs –
can’t rely upon paid staff
● Helps if the software is usable and maintainable
by non-experts
What did we use before LibreTime
● WinAmp
● RadioLogik
● Airtime – a promising web based app but
limited in terms of automation
LibreTime Origin Story
● Airtime – a project of
SourceFabric – formerly
CampCaster
● Airtime code license is
switched to AGPLv3
● Submitted my first PR
● Airtime.pro is launched
Discussions with SourceFabric
● The airtime.pro code is available under a
branch of github called saas-dev
● Attempt to get saas-dev working to contribute to
next 3.0 version of Airtime
● Communicate with project lead and developer
about contributing
● Saas-dev branch is deleted from github and
email asking about this is ignored
LibreTime is born
● Eeebcaster – a demo of the saas-dev branch
released as a zip file – all git history is lost
● The C4 – collective code construction contract
from ZeroMQ – Peter Hintjens
● Making everything visible on GitHub – finding a
fork that was made before the branch was
deleted and releasing as a new project – couldn’t
properly “fork” Airtime – it becomes a new
project
Post-Fork: it’s your baby now
● All the bugs you can document – also means
someone needs to fix them
● Planning for the future
● End user support
● Community drama – disagreements and sloppy
contributions
LibreTime for Users
● Time for a demo of how LibreTime works from
the point of view of a end-user
Calendar
● Show the calendar and the concept of shows
Tracks
● Uploading and scheduling
Users
● How libreTime allows various roles etc and the
ownership of users over various shows
Live Streaming
● Launch Mixxx and broadcast over the existing
stream using a per-show authentication
Podcasts, Smartblocks and
Automatic Playlists
● Yes we can digest RSS and use it to feed tracks
● The notion of the playlist, the smartblock and the
automatic playlist explained
● A discussion of the SQL orientated “language” of
the smartblock and how this can be a cognitive
challenge for end users
● How I first took the plug as a developer for
LibreTime
Widgets and Radio Page
● We have a player widget – sometimes it uses
flash
● We have a calendar that you can embed via a
iframe
● There is a radio page that provides both of
these and a front-end for the actual stream
LibreTime: behind the scenes
● Icecast2: serves the stream
● Liquidsoap: OCAML based media scripting
environment – feeds Icecast stream
● Python: integrates liquidsoap with the web site
● RabbitMQ: queue based messaging interface
● PHP & Postgresql + Propel ORM: creates the website
that end users interact
● Javascript – lots of jQuery, Angular & too much custom
code
LibreTime: a developer perspective
● Zend 1 MVC – EOL in 2016 – still no clear path
forward in 2018
● Jquery plugins that were all hacked in various
ways thus breaking the ability to upgrade to a
new version
● Tests – some tests but not much coverage
Dive Into LibreTime
● A brief walk through of the codebase showing
how the various PHP functions are linked
together and how much of a pain it can be to
add new features
The Future of LibreTime
● Technical Debt: how to build the future when
the foundation is shaky
● Complete overhaul or incremental approach
● Rebuild one part at a time ?
● How to deal with taking over partially completed
work by people who are no longer involved
LibreTime: Community
● There is an obvious need for LibreTime as new
users come on-line every day looking for a
web-based way to run a “radio” station
● Contributions from around the globe:
developers in Austria, UK, Mexico, Brazil
LibreTime: a work in progress
● Seeking grants to fund development: The
Neighborhood Network received a grant from the
Greater Columbus Arts Council to fund
improvements to LibreTime
● Creating a Open Collective to create an
accountable body to manage funds as a project
● How do you get everyone on board when people
are contributing in their free time and have
differing levels of availability
Questions ?
● Website: http://LibreTime.org
● My email – robbt@azone.org
● My github: https://github.com/robbt
● LibreTime repo:
http://github.com/libretime/libretime

Mais conteúdo relacionado

Mais procurados

Python Pune October Meetup 2015
Python Pune October Meetup 2015Python Pune October Meetup 2015
Python Pune October Meetup 2015Abhijeet Kasurde
 
The state of Jenkins pipelines or do I still need freestyle jobs
The state of Jenkins pipelines or do I still need freestyle jobsThe state of Jenkins pipelines or do I still need freestyle jobs
The state of Jenkins pipelines or do I still need freestyle jobsAndrey Devyatkin
 
Jumping in Jakarta Open Source Project Everything nobody tells you
Jumping in Jakarta Open Source Project  Everything nobody tells youJumping in Jakarta Open Source Project  Everything nobody tells you
Jumping in Jakarta Open Source Project Everything nobody tells youRoan Brasil Monteiro
 
Open Source Integration Engines
Open Source Integration Engines Open Source Integration Engines
Open Source Integration Engines gregorlenz
 
Creating an api from design to security.
Creating an api from design to security.Creating an api from design to security.
Creating an api from design to security.Roan Brasil Monteiro
 
Improving your code design using Java
Improving your code design using JavaImproving your code design using Java
Improving your code design using JavaRoan Brasil Monteiro
 
Code:Nation Tech Stack
Code:Nation Tech StackCode:Nation Tech Stack
Code:Nation Tech StackElton Minetto
 
How to approach building GUIs using PyQT
How to approach building GUIs using PyQTHow to approach building GUIs using PyQT
How to approach building GUIs using PyQTJerlyn Manohar
 
Front end microservices: architectures and solution
Front end microservices: architectures and solutionFront end microservices: architectures and solution
Front end microservices: architectures and solutionMikhail Kuznetcov
 
Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!Iván López Martín
 
Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...Aurélien Pupier
 
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)Ross McDonald
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous IntegrationGabriel Araujo
 
Bootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroBootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroEPAM
 
Lightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docsLightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docsMichaelPritchard21
 

Mais procurados (20)

Python Pune October Meetup 2015
Python Pune October Meetup 2015Python Pune October Meetup 2015
Python Pune October Meetup 2015
 
The state of Jenkins pipelines or do I still need freestyle jobs
The state of Jenkins pipelines or do I still need freestyle jobsThe state of Jenkins pipelines or do I still need freestyle jobs
The state of Jenkins pipelines or do I still need freestyle jobs
 
Cassovary
CassovaryCassovary
Cassovary
 
Jumping in Jakarta Open Source Project Everything nobody tells you
Jumping in Jakarta Open Source Project  Everything nobody tells youJumping in Jakarta Open Source Project  Everything nobody tells you
Jumping in Jakarta Open Source Project Everything nobody tells you
 
Open Source Integration Engines
Open Source Integration Engines Open Source Integration Engines
Open Source Integration Engines
 
Creating an api from design to security.
Creating an api from design to security.Creating an api from design to security.
Creating an api from design to security.
 
Improving your code design using Java
Improving your code design using JavaImproving your code design using Java
Improving your code design using Java
 
Kshitij
KshitijKshitij
Kshitij
 
Berlin AWS meetup: here.com on AWS
Berlin AWS meetup: here.com on AWSBerlin AWS meetup: here.com on AWS
Berlin AWS meetup: here.com on AWS
 
Code:Nation Tech Stack
Code:Nation Tech StackCode:Nation Tech Stack
Code:Nation Tech Stack
 
How to approach building GUIs using PyQT
How to approach building GUIs using PyQTHow to approach building GUIs using PyQT
How to approach building GUIs using PyQT
 
Front end microservices: architectures and solution
Front end microservices: architectures and solutionFront end microservices: architectures and solution
Front end microservices: architectures and solution
 
Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!
 
Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...
 
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
 
MuleSoft MuleSoft Meetup - Shared Flows
MuleSoft MuleSoft Meetup -  Shared FlowsMuleSoft MuleSoft Meetup -  Shared Flows
MuleSoft MuleSoft Meetup - Shared Flows
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous Integration
 
Bootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroBootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to Hero
 
Lightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docsLightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docs
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 

Semelhante a LibreTime: a web-based automation system for radio - presentation at Ohio Linux Fest 2018

[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...WSO2
 
State of NuPIC
State of NuPICState of NuPIC
State of NuPICNumenta
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4aspyker
 
Leading an open source project as a startup
Leading an open source project as a startupLeading an open source project as a startup
Leading an open source project as a startupNicolas Garnier
 
Leading An Open Source Project As A Startup
Leading An Open Source Project As A StartupLeading An Open Source Project As A Startup
Leading An Open Source Project As A StartupMailjet
 
Language Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to ProductionLanguage Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to ProductionKinoma
 
React for non techies
React for non techiesReact for non techies
React for non techiesAmy Crimmens
 
React for Non Techies
React for Non TechiesReact for Non Techies
React for Non TechiesJack Hoy
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectIgalia
 
Beyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionBeyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionC4Media
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoSzczepan Faber
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How Nikhil Agrawal
 
Open Source and Cloud - The Two Great Tastes...
Open Source and Cloud - The Two Great Tastes...Open Source and Cloud - The Two Great Tastes...
Open Source and Cloud - The Two Great Tastes...John Mark Walker
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsHenry Saputra
 
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery Fadi Nicolas Zahhar
 
Simple Web Services with PHP
Simple Web Services with PHPSimple Web Services with PHP
Simple Web Services with PHPJohn Paul Ada
 
Global Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastGlobal Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastSammy Fung
 

Semelhante a LibreTime: a web-based automation system for radio - presentation at Ohio Linux Fest 2018 (20)

[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
 
State of NuPIC
State of NuPICState of NuPIC
State of NuPIC
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
Leading an open source project as a startup
Leading an open source project as a startupLeading an open source project as a startup
Leading an open source project as a startup
 
Leading An Open Source Project As A Startup
Leading An Open Source Project As A StartupLeading An Open Source Project As A Startup
Leading An Open Source Project As A Startup
 
Language Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to ProductionLanguage Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to Production
 
React for non techies
React for non techiesReact for non techies
React for non techies
 
React for Non Techies
React for Non TechiesReact for Non Techies
React for Non Techies
 
React for non techies
React for non techiesReact for non techies
React for non techies
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium project
 
Beyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionBeyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in Production
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How
 
Open Source and Cloud - The Two Great Tastes...
Open Source and Cloud - The Two Great Tastes...Open Source and Cloud - The Two Great Tastes...
Open Source and Cloud - The Two Great Tastes...
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making Profits
 
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
 
Simple Web Services with PHP
Simple Web Services with PHPSimple Web Services with PHP
Simple Web Services with PHP
 
Global Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastGlobal Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 Forecast
 

Último

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

LibreTime: a web-based automation system for radio - presentation at Ohio Linux Fest 2018

  • 1. A Free Software Radio Station Automation System
  • 2. About Me & my projects ● Board Chair of the Neighborhood Network – which operates WCRS-LP ● Over 20 years of experience with Linux, Free Software and computing ● Recent graduate of Ohio State with a degree in computer science ● Full-time stay at home dad and part-time coder
  • 3. Why Free Software Matters for Community Media ● Minimizing dependence upon external entities ● Free as in beer – low budgets benefits from low overhead ● Ability to customize to meet custom needs – can’t rely upon paid staff ● Helps if the software is usable and maintainable by non-experts
  • 4. What did we use before LibreTime ● WinAmp ● RadioLogik ● Airtime – a promising web based app but limited in terms of automation
  • 5. LibreTime Origin Story ● Airtime – a project of SourceFabric – formerly CampCaster ● Airtime code license is switched to AGPLv3 ● Submitted my first PR ● Airtime.pro is launched
  • 6. Discussions with SourceFabric ● The airtime.pro code is available under a branch of github called saas-dev ● Attempt to get saas-dev working to contribute to next 3.0 version of Airtime ● Communicate with project lead and developer about contributing ● Saas-dev branch is deleted from github and email asking about this is ignored
  • 7. LibreTime is born ● Eeebcaster – a demo of the saas-dev branch released as a zip file – all git history is lost ● The C4 – collective code construction contract from ZeroMQ – Peter Hintjens ● Making everything visible on GitHub – finding a fork that was made before the branch was deleted and releasing as a new project – couldn’t properly “fork” Airtime – it becomes a new project
  • 8. Post-Fork: it’s your baby now ● All the bugs you can document – also means someone needs to fix them ● Planning for the future ● End user support ● Community drama – disagreements and sloppy contributions
  • 9. LibreTime for Users ● Time for a demo of how LibreTime works from the point of view of a end-user
  • 10. Calendar ● Show the calendar and the concept of shows
  • 12. Users ● How libreTime allows various roles etc and the ownership of users over various shows
  • 13. Live Streaming ● Launch Mixxx and broadcast over the existing stream using a per-show authentication
  • 14. Podcasts, Smartblocks and Automatic Playlists ● Yes we can digest RSS and use it to feed tracks ● The notion of the playlist, the smartblock and the automatic playlist explained ● A discussion of the SQL orientated “language” of the smartblock and how this can be a cognitive challenge for end users ● How I first took the plug as a developer for LibreTime
  • 15. Widgets and Radio Page ● We have a player widget – sometimes it uses flash ● We have a calendar that you can embed via a iframe ● There is a radio page that provides both of these and a front-end for the actual stream
  • 16. LibreTime: behind the scenes ● Icecast2: serves the stream ● Liquidsoap: OCAML based media scripting environment – feeds Icecast stream ● Python: integrates liquidsoap with the web site ● RabbitMQ: queue based messaging interface ● PHP & Postgresql + Propel ORM: creates the website that end users interact ● Javascript – lots of jQuery, Angular & too much custom code
  • 17. LibreTime: a developer perspective ● Zend 1 MVC – EOL in 2016 – still no clear path forward in 2018 ● Jquery plugins that were all hacked in various ways thus breaking the ability to upgrade to a new version ● Tests – some tests but not much coverage
  • 18. Dive Into LibreTime ● A brief walk through of the codebase showing how the various PHP functions are linked together and how much of a pain it can be to add new features
  • 19. The Future of LibreTime ● Technical Debt: how to build the future when the foundation is shaky ● Complete overhaul or incremental approach ● Rebuild one part at a time ? ● How to deal with taking over partially completed work by people who are no longer involved
  • 20. LibreTime: Community ● There is an obvious need for LibreTime as new users come on-line every day looking for a web-based way to run a “radio” station ● Contributions from around the globe: developers in Austria, UK, Mexico, Brazil
  • 21. LibreTime: a work in progress ● Seeking grants to fund development: The Neighborhood Network received a grant from the Greater Columbus Arts Council to fund improvements to LibreTime ● Creating a Open Collective to create an accountable body to manage funds as a project ● How do you get everyone on board when people are contributing in their free time and have differing levels of availability
  • 22. Questions ? ● Website: http://LibreTime.org ● My email – robbt@azone.org ● My github: https://github.com/robbt ● LibreTime repo: http://github.com/libretime/libretime