This document summarizes a presentation about the PBS Interactive API Workshop. It discusses the TV Schedules API and COVE API, including how to get started with each, typical usage workflows, available methods, and authentication procedures. It encourages participants to provide feedback and get involved in future collaborative opportunities to improve existing products and share knowledge.
With more businesses moving to cloud-based solutions everyday, we must re-think the strategies used to deploy Perl applications and related libraries, given the volatile aspects of the cloud and its constraints.
In this talk I go over the challenges posed by virtualised environments, and consider several solutions to them. The use cases are all related to Amazon's EC2, but will easily be adapted for GoGrid, Mosso, and others.
Video Killed the Rolex Star (CocoaConf Columbus, July 2015)Chris Adamson
watchOS 2.0 brings media functionality to Apple Watch, offering audio and video playback and audio capture. But lest you plan on writing Logic or Final Cut for the watch: what's available on the wrist has its limits, and you hit them quickly. In this session, we'll see what the WKInterfaceController offers us for miniature mobile media, and how we can get the benefits of AV Foundation and Core Audio by moving our movies, songs, and podcasts back and forth between the watch and the iPhone.
Forward Swift 2017: Media Frameworks and Swift: This Is FineChris Adamson
Swift is great for writing iOS and Mac apps, and its creators also mean for it to be used as a systems programming language. However, certain traits about Swift make it officially off-limits for use in some audio/video-processing scenarios. What's the deal, is it not fast enough or what? We'll look at what media apps can and can't do in Swift, and what you're supposed to do instead. We'll also look at strategies for knowing what responsibilities to dole out to Swift and to C, and how to make those parts of your code play nicely with each other.
Perforce Unplugged: Central and Distributed Versioning and distributed versio...Perforce
Local Private Branching is a new tool that provides a mechanism for creating a "local private branch" from the depot on the user's machine for personal use. This local branch is usable by all Perforce client applications. Perforce Local Private Branching supports situations where network connectivity is poor or transitory. This session will also highlight new Perforce Server features that support a Task/Feature branch paradigm.
With more businesses moving to cloud-based solutions everyday, we must re-think the strategies used to deploy Perl applications and related libraries, given the volatile aspects of the cloud and its constraints.
In this talk I go over the challenges posed by virtualised environments, and consider several solutions to them. The use cases are all related to Amazon's EC2, but will easily be adapted for GoGrid, Mosso, and others.
Video Killed the Rolex Star (CocoaConf Columbus, July 2015)Chris Adamson
watchOS 2.0 brings media functionality to Apple Watch, offering audio and video playback and audio capture. But lest you plan on writing Logic or Final Cut for the watch: what's available on the wrist has its limits, and you hit them quickly. In this session, we'll see what the WKInterfaceController offers us for miniature mobile media, and how we can get the benefits of AV Foundation and Core Audio by moving our movies, songs, and podcasts back and forth between the watch and the iPhone.
Forward Swift 2017: Media Frameworks and Swift: This Is FineChris Adamson
Swift is great for writing iOS and Mac apps, and its creators also mean for it to be used as a systems programming language. However, certain traits about Swift make it officially off-limits for use in some audio/video-processing scenarios. What's the deal, is it not fast enough or what? We'll look at what media apps can and can't do in Swift, and what you're supposed to do instead. We'll also look at strategies for knowing what responsibilities to dole out to Swift and to C, and how to make those parts of your code play nicely with each other.
Perforce Unplugged: Central and Distributed Versioning and distributed versio...Perforce
Local Private Branching is a new tool that provides a mechanism for creating a "local private branch" from the depot on the user's machine for personal use. This local branch is usable by all Perforce client applications. Perforce Local Private Branching supports situations where network connectivity is poor or transitory. This session will also highlight new Perforce Server features that support a Task/Feature branch paradigm.
This presentation outlines the updated Localization service in a clear and concise fashion with no fancy graphics or colors. Black and white as can be with no ambiguity.
Running your app in the Cloud is all the rage, but our tools for managing and supporting complex environments lag behind our needs. If we truly want to embrace Infrastructure as a Service, then we must apply standard software development lessons such as: DRY, Versioning, Decomposition, Abstraction and more. Why haven't we taken these lessons to heart?
This presentation describe how you can use standard web techniques like Ajax and JSON to work with data in your existing IBM Domino (formerly Lotus Domino) database. It shows how to use jQuery and Bootstrap to build a modern web interface, and explains how to create your own REST API on the Domino server to serve up and process data.
PBS’ Tom Crenshaw and NPR’s Javaun Moradi discuss the PBS and NPR APIs. Topics covered are radio, television and dual-licensee stations can leverage the PBS and NPR APIs to innovate and build audience on their websites, mobile devices, and beyond. Tom and Javaun discuss retrieving API content for use on station sites, putting station content into our APIs for reuse elsewhere, and finding station information based on location or call letters. They share their ideas on where the public media APIs are headed, and they look forward to hearing your questions, feedback, and pain points.
Edgar and I had the pleasure of presenting at the DCPython meetup last night about how PBS uses Python, Django, Celery, Solr and Amazon Web Services (autoscaling EC2, RDS) to power many of our sites and services. We focused primarily on the COVE (video) and Merlin (content) APIs since those probably have the most interesting architectures.
We had a blast and received many smart questions from the crowd about Solr, Amazon Web Services, Celery and the recent Tupac incident in about that order. Thanks for having us DCPython!
Check out DCPython at http://dcpython.org or follow @DCPython.
My presentation at MWLUG 2015. I show how to build and connect a modern looking website, built with HTML, CSS, and Javascript/jQuery, to your existing IBM Domino backend data using Ajax and JSON and some simple Lotusscript code.
Slides for the talk I made at IIT-RTC 2021 about WHIP (WebRTC-HTTP ingestion protocol) and how it can help foster adoption of WebRTC in traditional broadcasting tools. The slides also cover my open source implementations of WHIP server (based on Janus) and WHIP client (based on GStreamer), and interoperability tests with other implementations.
This presentation outlines the updated Localization service in a clear and concise fashion with no fancy graphics or colors. Black and white as can be with no ambiguity.
Running your app in the Cloud is all the rage, but our tools for managing and supporting complex environments lag behind our needs. If we truly want to embrace Infrastructure as a Service, then we must apply standard software development lessons such as: DRY, Versioning, Decomposition, Abstraction and more. Why haven't we taken these lessons to heart?
This presentation describe how you can use standard web techniques like Ajax and JSON to work with data in your existing IBM Domino (formerly Lotus Domino) database. It shows how to use jQuery and Bootstrap to build a modern web interface, and explains how to create your own REST API on the Domino server to serve up and process data.
PBS’ Tom Crenshaw and NPR’s Javaun Moradi discuss the PBS and NPR APIs. Topics covered are radio, television and dual-licensee stations can leverage the PBS and NPR APIs to innovate and build audience on their websites, mobile devices, and beyond. Tom and Javaun discuss retrieving API content for use on station sites, putting station content into our APIs for reuse elsewhere, and finding station information based on location or call letters. They share their ideas on where the public media APIs are headed, and they look forward to hearing your questions, feedback, and pain points.
Edgar and I had the pleasure of presenting at the DCPython meetup last night about how PBS uses Python, Django, Celery, Solr and Amazon Web Services (autoscaling EC2, RDS) to power many of our sites and services. We focused primarily on the COVE (video) and Merlin (content) APIs since those probably have the most interesting architectures.
We had a blast and received many smart questions from the crowd about Solr, Amazon Web Services, Celery and the recent Tupac incident in about that order. Thanks for having us DCPython!
Check out DCPython at http://dcpython.org or follow @DCPython.
My presentation at MWLUG 2015. I show how to build and connect a modern looking website, built with HTML, CSS, and Javascript/jQuery, to your existing IBM Domino backend data using Ajax and JSON and some simple Lotusscript code.
Slides for the talk I made at IIT-RTC 2021 about WHIP (WebRTC-HTTP ingestion protocol) and how it can help foster adoption of WebRTC in traditional broadcasting tools. The slides also cover my open source implementations of WHIP server (based on Janus) and WHIP client (based on GStreamer), and interoperability tests with other implementations.
AWS July Webinar Series: Overview: Build and Manage your APIs with Amazon API...Amazon Web Services
How do you create APIs? When publishing a new API there are a lot of factors to consider: Versioning, Network Management, Authorization, Ecosystem Management, and finally client SDKs.
Amazon API Gateway is a fully managed service that makes it easy for developers to publish, maintain, monitor, and secure APIs at any scale. With Amazon API Gateway, you can quickly declare an API interface and connect it to existing web services running on Amazon Elastic Compute Cloud (Amazon EC2) or code running on AWS Lambda, and generate an SDK for client applications to access the API. Amazon API Gateway handles all the tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, authorization and access control, monitoring, and API version management. Amazon API Gateway has no minimum fees or startup costs, and you pay only for the API calls you receive and the amount of data transferred.
Learning Objectives:
Learn how to create APIs in the AWS Cloud without managing a single server with AWS Lambda
Learn how to manage stages and versions of your APIs
Learn how to map parameters and transform data in flight
Amazon API Gateway is a fully managed service that makes it easy for developers to create, deploy, secure and monitor APIs at any scale. In this session, you’ll find out how you can quickly declare an API interface and connect it to any public HTTP endpoint, existing web service running on Amazon Elastic Compute Cloud (Amazon EC2) or code running on AWS Lambda. Amazon API Gateway handles all the tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, authorization and access control, monitoring, and API version management. Join us for this introductory session to Amazon API Gateway.
Pywps a tutorial for beginners and developersJorge Mendes
PyWPS presentation for beginners and developers. Basic explanation on how to setup a process and basic configuration. Examples on how to reprogram PyWPS, use mod_python and Tomcat implementation. OpenLayers client. WSDL and SOAP
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...Provectus
Apache Beam is an open source, unified model and set of language-specific SDKs for defining and executing data processing pipelines, and also data ingestion and integration flows, supporting for both batch and streaming use cases. In presentation I will provide a general overview of Apache Beam and programming model comparison Apache Beam vs Apache Spark.
System Testing and Integration: Test Strategy for BrahmaputraOPNFV
Testing and performance characterization are key capabilities being developed by the OPNFV community towards deployable NFV solutions. In this presentation, representatives from Orange, Ericsson and Intel will review test strategy for the OPNFV B-release describing scope and work flow of test projects. Experiences from the initial release as well as existing infrastructure and aspects common to all test projects will be discussed, including tooling and relation to continuous integration. In addition, details of how the overall OPNFV test framework shall be enhanced and extended, will also be covered. The presentation will also explain how new OPNFV developers can approach testing new features and interact with other test projects.
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)Chris Adamson
Apple TV offers a friendly SDK, full of familiar view controllers and Foundation classes, with everything an iOS developer needs to develop their own streaming channel. Except for… you know… the streaming part. In this session, we'll look at how Apple's HTTP Live Streaming video works -- from flat files or live sources -- and how to get it from your computer to a streaming server and then to an Apple TV. We'll also look at common challenges for building streaming channel apps, like serving metadata, protecting content, and supporting single sign-on
The Internet of Things if growing, but how can you build your own connected objects?
Together with MQTT, CoAP is one of the popular IoT protocols. It provides answers to the typical IoT constraints: it is bandwidth efficient and fits in constrained embedded environment while providing friendly and discoverable RESTful API.
This tutorial aims at giving you a hands-on experience with CoAP by showing you the power and simplicity of the Eclipse Californium library for developing real world IoT application.
Agenda:
- Introduction to CoAP
- Live discovery of connected CoAP objects using the Copper plugin for Firefox
- Presentation of more advanced CoAP topics (proxy, resource directory, device management with LWM2M)
- Presentation of Eclipse Californium, a CoAP library for Java
- Exercise: complete the provided Java code to create your own Internet of Things... thing!
Swift is a powerful new language, with a rapidly growing user base—which now includes Linux server-side developers. This presentation is a briief overview of the current Swift web server frameworks, as well as a highlight of the best features that Swift has to offer.
PHP has come a long way since it’s inception. What started out as an ecosystem of functions passed around on the internet eventually turned into a land of frameworks. These first frameworks were saddled with the problem of size, where if you wanted to use part of Zend Framework 1, for example, in your app, you pulled in the entire thing. Those days are gone now and frameworks are increasingly decoupled, but none so much as the Aura project. We’ll dive into what Aura is and how we can use it as standalone libraries as well as for full stack development.
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Robert Nelson
Let's describe the process for upgrading from Puppet 3 to 4, list some common pitfalls and how to avoid them, and be sure to enjoy ourselves in the process!
This presentation illustrates a solution for rapid deployment and validation of VoLTE services in the NFV ecosystem. It uses Juju as the deployment tool and ABot as Test Orchestration solution to achieve this objective.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
5. Getting Started: TV Schedules
• How do I get a key?
Fill out this form:
http://open.pbs.org/pbs-api-key-request/
• What kind of data is returned?
– Read-only REST API or XML RPC
– Returns XML or JSON
• How is it protected?
– Simple key based authentication
6. Understanding the models
Provider
(e.g. Cable Vendor)
Head End A Head End B Station
(e.g. Cable Operator) (e.g. KRWG)
Feed 1 Feed 2 Feed 3 Feed 4
(Channel)
Listing X Listing Y Listing W Listing Z
7. Typical usage walkthrough
Start with a Zip code (Optional)
getHeadEndsByZipTagged getStationsByZip
Find a Head End (Cable Operator) Pick a Station
getStationsByHeadend
Select a Feed (Channel)
getFeedsWithMetadata
getAirdatesByFeed
Pull Listings
11. Agenda : COVE API
• Getting Started
• Understanding the models
• Available Methods
• Typical usage walkthrough
• How to play video
• Authentication
• What’s next?
12. Getting Started: COVE API
• How do I get a key?
– Tell you in a bit
• What kind of data is returned?
– Read-only REST API
– COVE API only returns JSON
• How is it protected?
– Hefty authentication mechanism (So no jQuery
access)
• How can I get video?
– Returns only RTMP links, so roll your own HTML
player
13. Understanding the models
WCFE
Producer A (Mountain
Lake PBS)
Program X Program Y Rustic Living
Video 1 Video 2 Video 3 Camp Little
Pine
15. /cove/v1/programs
• Getting all the programs
http://api.pbs.org/cove/v1/programs/
• Getting metadata about one program
http://api.pbs.org/cove/v1/programs/408/
17. /cove/v1/programs - filters
• Getting all national programs
http://api.pbs.org/cove/v1/programs/?filter_producer__name=PBS
• Getting all station programs
http://api.pbs.org/cove/v1/programs/?filter_producer__name=KRMA
18. /cove/v1/videos
• Getting all the videos
http://api.pbs.org/cove/v1/videos/
• Getting metadata about one video
http://api.pbs.org/cove/v1/videos/36032/
19.
20. /cove/v1/videos - filters
• Typical query filters
– Only Available Videos (not expired)
– Of type: Episode, Clip, Segment, Promotion
– That belong to a particular program
– In a compatible encoding format
• Typical output adjustments
– Give me associated images
– Sort by most recent airdate
– Give me 20 at a time
23. Typical usage walkthrough
• App starts and pulls a list of all relevant
programs
• Once user selects a program, the app
should query for a short list of relevant
videos
• If a user selects a video, the app
generates the html needed to stream
24. How to play video
• The COVE API doesn’t provide HTML to
play the video (yet)
• Your app has to construct the HTML based
on guidelines at:
http://projects.pbs.org/confluence/display/coveapi/How+to+Render+Videos
25. Sample HTML – Simple link
• From the video JSON, extract:
tp_media_object_id
• Use:
http://video.pbs.org/videos/<tp_media_object_id>
Or
http://video.weta.org/videos/<tp_media_object_id>
26. Sample HTML – Partner Player
• From the video JSON, extract: tp_media_object_id
<iframe id="partnerPlayer" frameborder="0"
marginwidth="0" marginheight="0" scrolling="no"
style="width:512px; height:328px;" src="http://
video.pbs.org/widget/partnerplayer/
<tp_media_object_id>/?player=<player
string>w=512&h=288&chapterbar=true&autoplay=false">
</iframe>
28. Authentication
• Every call to the endpoints must be
authenticated
• Based on OAuth, but is not Oauth
– Two-legged OAuth actually
• Sample implementations provided on the
documentation site
• Front-end a jQuery app using AJAX calls
29. • Active station collaborative efforts to improve existing
products and knowledgebase
– Share ideas
– Compare tricks of the trade
– Solve common problems
– Early product access
• April: COVE API Collaborative Competition
– Participants: KLRU, KPBS, Iowa PTV, TPT, KET,
KCTS, WGBH, Maine PBN, CET, NHPTV
• Coordinated product building activities with openPBS
community
• Visit spiblog.pbs.org to learn more and find out about
future collaborative opportunities
30. How to get COVE API keys
• Fill out this form:
http://open.pbs.org/pbs-api-key-request/
• Will start giving out keys after incubation
lab (early May)
• Check back often in the incubation labs for
new API features and functionality
31. What’s next?
• Easy authentication
– Supporting jQuery
• Provided HTML for video playback
• More exciting queries
– Tell me what you want!
32. Links from this presentation
• This presentation
http://open.pbs.org/post/2011-techcon-slides/
• COVE API Docs
http://projects.pbs.org/confluence/display/coveapi/Welcome
• COVE API url
http://api.pbs.org/cove/v1