Categorized Videos Proposal

= Proposal = This page is a proposal for creating a set of topic-area pages to hold links to talks & videos from past ELC and ELCE events, so that information on a particular topic is collected in one place, for easy reference.

Discussion
(frowand) Q. Should this also include Japan Technical Jamboree presentations? (tim bird) A. Most of them are in Japanese. We could consider those that are in English, or Japanese speakers may wish to make a set of categories for their talks as well.

(frowand) The existing Devicetree presentations page includes any conference, not just ELC, ELCE, Jamboree. (tim bird) I think it would be good to eventually expand the topic pages to all conferences, but the initial thrust of this effort is for ELC and ELCE presentations.

= Tasks =
 * decide on the categories for talks
 * note: some talks will likely defy categorization
 * how narrow do we want the topics?
 * see below for an initial list of category ideas
 * see also the list of sections and pages already on the Presentations by Topic page
 * can start with those, and add topic pages as we go through the talks
 * decide if talk may be included on more than one page
 * create a guide for adding talks in the future
 * create Presentation topic template page.
 * decide layout for talk information:
 * (frowand) One possible format is the existing page  Device tree Presentations
 * each presentation occurs in two different sections: (1) subtopic, (2) date
 * obvious elements: event, date, speaker, title, presentation link, video link
 * do we want a talk summary? If so, where would we get it from?
 * some abstracts for previous events are still available (e.g. see https://www.celinux.org/elc_europe07/sessions.html)
 * (frowand) abstracts are often a poor description of the content of the talk
 * how about a rating or notability indicator?
 * indicator could be star, highlight, recommendation by maintainer, bolding, etc.?
 * would be for significant or historic talk (there are some worth highlighting, I believe)
 * (frowand) indicator for obsolete
 * link to transcript if available?
 * link to press coverage (e.g. lwn.net) if available
 * how long will that take to research, for each talk?
 * create pages
 * (done) create overview page - Presentations by Topic
 * create template for individual pages: Presentation topic template
 * create an initial set of topic pages
 * add information about each talk to correct page(s)
 * create new topic pages as new topic areas are encountered

Category Candidates
Find the presentations belonging to different categories below:


 * Applications Presentations
 * SDK
 * Qt Development Framework
 * Web development
 * API development
 * HTTP
 * Maemo Platform – from Nokia
 * Eclipse IDE – Open Development Platform
 * UPnP
 * Languages
 * Others


 * Automotive Presentations


 * Boot Loaders
 * U-Boot
 * MCU-Boot
 * Fastboot
 * DFU
 * Security
 * Others


 * Boot Time Presentations


 * Buildsystems
 * Yocto Buildsystem
 * Open Embedded
 * Bitbake
 * Buildroot
 * Debian/Deby/ELBE
 * Others


 * Compilers Presentations
 * GCC, GLIBC
 * Linkers, Loaders
 * Compiler Optimizations


 * Device Drivers Presentations
 * How to write a device driver?
 * User Space Device Drivers, Optimizations
 * UIO
 * Others


 * Development Boards and Hardware
 * BeagleBone Board
 * Minnow Board
 * Open Source - Principles, Communities, Techniques
 * Others


 * Device Tree Presentations


 * Distributions
 * OpenEmbedded
 * Android
 * uCLinux
 * OpenWrt
 * Debian/Ubuntu derivatives


 * Drones


 * File Systems Presentations
 * File system
 * Flash Technology
 * eMMC
 * NAND Flash


 * Graphics Presentations
 * OpenGL
 * DigitalFB
 * EFL
 * Others


 * IoT Presentations
 * Industrial IoT (IIoT)
 * IoT Data Processing
 * Connectivity in IoT
 * OTA updates in IoT
 * Hypervisors for IoT
 * Security in IoT
 * Protocols and Messaging for IoT
 * IoTivity
 * AllJoyn
 * Others


 * Kernel Development


 * Kernel sub-systems
 * I2C
 * SPI
 * PCI
 * USB
 * GPIO
 * Interrupts
 * Clocking
 * Memory
 * Flash
 * Thermal
 * Scheduling
 * MTD
 * V4L2
 * DRM


 * Linux General
 * LTSI
 * Status Check
 * Upstreaming
 * Kernel Size
 * Kernel Image
 * Microcontrollers
 * Civil Infrastructure Platform
 * Maintainers
 * Embedded Utilities
 * System Applications
 * Community presentations


 * Legal


 * Memory Management Presentations


 * Miscellaneous Presentations
 * Safety
 * Health Care
 * Mobile Phone
 * Linux enabled Light bulbs
 * Documentation
 * Defence
 * Build/Make Your Own
 * Others


 * Multimedia Presentations
 * V4L2
 * Audio
 * Video
 * GStreamer
 * Others


 * Networking Presentations
 * BlueTooth
 * Wi-Fi
 * Ethernet
 * Protocols
 * Phone Networks
 * Others
 * Connectivity in IoT


 * Non-Linux RTOS
 * Zephyr
 * Others


 * Power Management Presentations


 * Processor Architecture Presentations
 * ARM
 * RISC-V
 * PowerPC
 * MIPS
 * X86
 * Others


 * Products_Presentations
 * Home Automation


 * Real Time Presentations


 * Robotics


 * Security Presentations
 * SELinux
 * Security in embedded devices
 * Crypto Framework
 * Tomoyo
 * Others
 * Security in IoT


 * SMP Presentations
 * Multi-core
 * Concurrency, Locks


 * Testing Presentations
 * Kernel CI
 * FUEGO
 * Automation
 * Board Farms
 * Test Suites
 * Others


 * Tools and Debugging Presentations
 * GDB
 * KGDB
 * JTAG
 * Tracing
 * Kprobes
 * Hardware Tools
 * Others


 * Upgrades Presentations
 * OTA Upgrades
 * Firmware Upgrades
 * Provisioning
 * OTA updates in IoT
 * Others


 * Virtualization
 * Xen
 * Virtualization
 * QEMU

= Plan =
 * (done) have a planning meeting (first meeting held July 29, 2020)
 * (done) create timeline
 * Would be nice to be able to announce the project at ELCE 2020, in late October
 * do some initial pages, and tweak page design and categories, in by mid-August?
 * (done)have a 1st review in August (what date?)
 * Review pages and make adjustments
 * (done) finish first publication review (October)
 * complete review of pages listed below as still needing review (when?)
 * Create plan for ongoing maintenance
 * Who to add ELCE 2020 talks, for example?
 * solicit more volunteers?
 * (done) announce the project on an embedded linux mailing list? (elc-announce?, celinux-dev?)
 * Tim to announce project at ELCE during the closing game and ask for volunteers
 * contact specific individuals or communities about maintaining "their" pages

= Resources =
 * ELC Presentations - links to all presentations pages for ELC, ELCE, and Japan Technical Jamboree
 * This is the main resource for pages with talk and video links for presentations (that are uncategorized by topic)
 * Presentations by Topic
 * This is the main destination for links to presentation topic pages
 * Presentation topic template
 * This is a page holding with the layout for presentation topic page
 * https://embeddedlinuxconference.com/ - links to all presentation pages, and some event pages (where abstracts might be found)
 * this page has the same links (under the "Archives" section on that page) as the "ELC Presentations" page
 * However, it also has links to many of the original event pages, where additional talk information (especially talk abstracts) might be found
 * https://lwn.net/Kernel/Index/ - lwn.net kernel index (shows kernel topic categories)
 * This resource shows one set of (highly detailed) categories for kernel-related topics

Candidate policies for a "talk placement guide"
Here are some policies we can discuss for talk placement and marking: This is for the current effort - to remain consistent - and for future efforts as new material is added after future events.


 * most recent talks at the top of page
 * mark talks that are about obsolete technology or practices
 * mark talks that are notable
 * a talk may be placed on more than one topic page (but may be marked as being primarily about another topic, where appropriate)

= Working lists =

still needs review
The list of pages given below -- needs help from domain experts for further categorisation and maintenance and will need to be revisited for proper sub-categorization.

Seek help from Walt Miner Seek help from Frank Rowand This page needs a revisit
 * Automotive Presentations
 * Device Tree Presentations
 * Upgrades Presentations
 * Kernel Development
 * Power Management Presentations
 * Real Time Presentations
 * (others - see Tim's email)

Review Comments 1
Review comments provided to some pages by Tim are given below:

Divide into 2 sections: - one for web stuff and one for APIs - specifically, these talks appear fall into two different categories: - A/V and GUI APIS (in one category) - web-related technologies (which are also arguably GUI APIs) It just seems like having stuff about the Linux camera library and HTML5 user interfaces in the same category is not quite right. At least three of the talks are for EFL. Maybe make a section for that? There are a lot of items in the "Others" section. But I'm not sure where to put them. I'll have to think about it. * "Fun with QML" should go into the Qt section. * "Target Communication Framework" should go into the 'Eclipse IDE' category
 * Applications Presentations

You might want a category for Languages somewhere. The following would go into a NodeJS/Javascript sub-category in Languages: * Making Tweet Monkey * NodeJS Appliances on Embedded Linux Devices * "Effective use of Scripting" could go on a Languages page somewhere.

>>>>> All comments addressed

The U-boot section on this page might be worth dividing into parts: security, fastboot, DFU.
 * Boot Loaders

>>>>> All comments addressed

Might be worth dividing into different technology areas, but many of the talks cover multiple techniques. Maybe add one sub-section for snapshot/hibernation/suspend/resume -style systems?
 * Boot Time Presentations

Yocto section is quite big, maybe divide into sub-sections? Lots of talks are in Others: Could have an OpenEmbedded section and a Debian/Deby/ELBE section.
 * Buildsystems

>>>>> All comments addressed

Probably could have an Industrial IO sub-section and a dma sub-section and maybe a graphics drivers (that includes GPU, KMS, DRM, etc.). The "Using a JTAG..." talk should go on the tools/debuggers page.
 * Device Drivers Presentations

>>>>> The talk has been duplicated on both "Device Drivers" and "Tools/Debugging Page" as this will be relevant for both categories.

"Linux Tiny..." should go on "Linux General/Kernel Size" section. "Toybox..." doesn't go under Android. Please make a new section on "Linux General" called "Embedded utilities" and put Toybox and Busybox talks there. I'd take the whole "Tomoyo" section and put it on Security Presentations. It's more a security system than a distribution. I'd add a section for Debian/Ubuntu and derivatives. Some of the presentations under build systems should go under Debian (Deby, ELBE). "A million ways to provision embedded Linux images" - this might be OE-specific, but we might want a "provisioning" category somewhere (maybe on the "updates" page, or the build systems page. I'm not sure.) A few talks would fit into this category.
 * Distributions

>>>>> All comments addressed

"tracing resource-constrained... using eBFP" - is a tracing talk, not a filesystem talk. "read-only rootfs..." is a provisioning talk. Maybe this page is a good place overall to have a provisioning section.
 * File Systems Presentations

Would be good to break this into flash technology, and FS-specific talks: Looking at the list, it's hard to see a lot of talks on any single filesystem. So one section for just "filesystem" would be good.

flash technology talks would be: Linux starge system bottleneci for eMMC/UFS; Linux on eMMC: optimizing for performance Update on filesystems for flash storage; flash filesystem benchmarks; evaluation of flash file system for large NAND

Using appropriate wear-leveling... Managing NAND flash to optimize...

>>>>> All comments addressed

Please add a section on EFL
 * Graphics Presentations

>>>>> All comments addressed

The Others section here is quite big. In "Others" "Home automation tools" doesn't go here. There should probably be a sub-section Home Automation. Pick out the home automation talks from the "others" sub-section section and put into the new "Home Automation" sub-section. Some of these might be candidates for a "home automation products" category I suggest below. "IoT Lockdown" talk should go under "Security in IoT" section
 * IoT_Presentations

The Others section needs a breakdown into more sub-topics, (languages, tools, iotivity, etc.) but it's too big of a task at the moment.

For sure make an IoTivity sub-section. There are lots of those. Maybe make an "AllJoyn" one also.

>>>>> All comments addressed


 * Linux General

In Upstreaming: "Farming together" is a testing talk (about board farms) We might want a "board farm" section on the Testing page.

"Atomic display support..." goes on the Graphics page.

"Generic System for Safe Rootfs..." doesn't seem to be an upstreaming talk. Maybe put on Upgrades page or in a provisioning section on the filesystem page.

whole "KernelCI" section goes on testing page. I think I'd make a section for "Long Term support" and put the following in it: "Approaches to Ultra-Long Software Maintenance"

in System Applications: "RPMsg to accelerate..." should go on the SMP Presentations page. "The Path of the Private FUTEX" should go somewhere else, maybe on the kernel drivers page?

>>>>> All comments addressed.


 * Memory Management Presentations

Kind of a hodge-podge. Not sure if this is about kernel memory management stuff (which should go on the driver page), or   about memory hardware, or about user-space memory management. I'm kind of lost on this page. I don't have any suggestions though.


 * Miscellaneous Presentations

I'm surprised there are not more safety talks. Probably some labelled as security are actually safety talks. Some of these sections could be move elsewhere.

"FOSS" should be relabled to "Phone Networks" and put on the Networking page. In the Others section "Ara" is also a mobile phone talk. Do we have a "mobile phone" section. Should we have a "Products and Product Categories" page that could hold sub-sections like "Cameras", "mobile phones", "routers", "light bulbs". The "Visible Light Communication..." talk is really a networking talk. Should *add* "Linux in a Lightbulb..." to the "Kernel Size" section.

"Developer's diary" should go on Linux General page, in a new "Maintainers" sub-section.

"Solar hot water..." should go in home automation section. Come to think of it, let's put "Home Automation Products" on the "products" page.

Let's make a "Build your own/Maker" section on this page, for talks on custom hardware development. Put "BYOD" in it to start. Leave the "Solar Hot Water.." talk here, and add a copy to the products page.

>>>>>>> All comments addressed. "Products Presentations" page has been created. At present, this holds just "Home Automation" related content

Under "Others" "grabbing audio and video on a board farm" should go in the "board farm" section of the "Testing" page. "Fear and loathing in the media transfer protocol" should go on the networking page. "the MPPWG Mobile Phone Telephony API" should go in the "mobile phone" section. >>>>> I feel "media transfer protocol" should stay in Multimedia itself as the focus is on Audio/Video streaming, rather than networking content. I've created "Mobile Phone" sub-section under "Miscellaneous" for the lack of better place-holder. We can move this to some other page probably later.
 * Multimedia Presentations

Could add a "Protocols" section here, and move stuff about different protocols here. (ipv6, mqtt, GSM, etc.)
 * Networking Presentations

>>>>> Added Protocols sub-section

Should change this to "Development boards and hardware", Should make a new page for "Non-Linux RTOS" and put whole Zephyr section there, along with "others". Under "Others" put the Nuttx, ResinOS, and any stray FreeRTOS talks you see.
 * Open Source Projects

>>>>>>>> Done

Under "Others" here, keep the hardware talks. blinky lights, CHIP. Arc processors, arduinos, FPGAs. Add "blinky lights" to the "Maker" section. Move Rygel...DLNA to the networking page,  UPnP sub-section.

>>>>>> Where to add "Maker" Section?? What other slides will it have?

These talks should go to the "legal" page: "Open Source, Encryption and Export Regulations..." "How chip makers should (not) support free software"

>>>>>>>> Done

Make a section on this page labeled "Open Source principles, community and techniques" and put the following in it: "Open source the new normal" "Leveraging the open source development model inside your company" "The Paradocs of OpenSource and Embedded" "Can you Market an Open Source Project?" "Collaborative initiatives in Embedded Linux" "Facilitating Open source Development..." "Cooperative Development inside Communities"

>>>>>>>> Done

"Herd your Boards, Become a Farmer" should go in the "Board Farm" section on the Testing page. Should make a sub-section called "Power measurement and tools" and put the following in it: "Fully automated power measurement...IC Temperature..." "About the need to power instrument the kernel" "Sigrok: Adventures in ..." "Use-Case Power management optimization...indicators" "The evolution of tracing and profiling..." The other talks could use some organization by an expert. Please add this to the list of pages that we would like to seek a community maintainer for, and circle back to after ELCE.
 * Power Management Presentations

>>>>> All comments addressed

Under "Others", "Atom for Emedded Linux Hackers" goes under x86 "Your New ARM SoC Linux Support checklist" goes under ARM
 * Processor Architecture Presentations

Remove second instance (6.4) of "Atom for Embedded Linux Hackers..." "Anatomy of the arm-soc git tree" goes under ARM.

>>>>> All comments addressed

This page needs some organization. Please add it to the list to look at after ELCE.
 * Real Time Presentations

"Others" section is long - probably need to divide into security topics. Please add to the list of "review later" pages. These talks should go in the "crypto" section: "Under lock and key...Crypto API" "Cryptography Basics for Embedded Developers"
 * Security Presentations

"Collaborate on Linux for Use in Safety-critical systems" should go in   "Safety" section on Miscellaneous Presentations page.

>>>>> All comments addressed

"RPMsg" talk I flagged earlier should go on this page.
 * SMP Presentations

>>>>> All comments addressed

This is where "KernelCI" section goes. Rename "Upstream Kernel Testing" to "KerneCI" and move talks from other page here. Leave "BoFs:    ...kernelci.org" talk in the "KernelCI" section.
 * Testing Presentations

Needs a "Board Farms" section. Add to that the talks mentioned above, and from "Others" here: "Test Laboratory Layers" "Testing Remote Embedded Devices...MuxPi" "From Zero to First Test ... LAVA..."

There should be a "Test Suites" section, with this talk in it, to start: "Linux Kernel Selftest Framework..."

>>>>> All comments addressed

"Other" section too big to tackle right now. Please add to list of pages to review later. This page needs at least "kernel tracing" section and a "hardware tools" section.
 * Tools and Debugging Presentations

Some weird ones in the list: "EFL - A UI Toolkit" - should go to EFL section on graphics or UI page. "Introducing the Binary Analysis Tool" goes on the Legal page. "What's new with Busybox" goes in the "Embedded Utilities" section on Linux General.

>>>>> All comments addressed

"Replace your exploit-ridden firmware with Linux" is a bootloader talk.
 * Upgrades Presentations

>>>>> All comments addressed

Review Comments 2 2020-12-03

 * Compilers_Presentations
 * should make a "other libraries" section
 * add uclibc, olibc, eglibc presentations should go there
 * should make a section for LLVM/Clang
 * ebpf talk should go in tracing section on tools page
 * Device_Drivers_Presentations
 * should make a DMA section on the kernel sub-systems page, and move all DMA and dmabuf talks there
 * should move jtag talk to tools page
 * should make a graphics/GPU/DRM/KMS sub-category and put graphic driver talks in that
 * maybe move this section to the graphics page or the kernel sub-system page
 * File_Systems_Presentations
 * ARC linux is not a filesystem talk - it is a CPU talk. It should be move to Processor Architecture page, in "other" section.
 * 2.1 and 2.2 are about F2FS, and should go in the "Filesystems" section (1)

candidate experts or communities to request for help with maintenance
Tim plans to solicit general help with these pages at ELCE closing game. This list if for potential candidates for direct contacting to see if they can help.


 * page: Automotive Presentations - Walt Miner (AGL)
 * (others - see Tim's email)

= list of missing PDFs = Here is a list of some of the talks that are missing PDFs:
 * Kprobes implementation for Embedded System [ELC 2006]
 * Ftrace - Embedded Edition -- ELC 2010
 * Creating Personal Media Networks and Bridging DLNA/UPnP Devices Over The Internet -- ELC 2010
 * Implementing Asynchronous Zero-Copy API for Embedded IVR Application [ELC 2010]
 * Karim Yaghmour (Opersys, Inc.) Leveraging Android's Linux Heritage -- ELCE 2011
 * Tia Cassett (Qualcomm) & Mike Chalupa (BSquare) Android Development with the Snapdragon Processor -- ELCE 2011
 * Low-Level Linux Debugging Without Grey Beards [ELCE 2012]
 * OpenOCD: Hardware Debugging and More [ELCE 2012]
 * The 'Embedded' Problem as Experienced by Intel's Reference Phones [ELC 2013]
 * Embedded Android Workshop Karim Yaghmour, Opersys -- ELC 2013
 * Debugging - Linux Kernel Testing [ELC 2014]
 * Performance Analysis Using the Perf Suite [ELCE 2014]
 * Running Code in the Android Stack Karim Yaghmour, Opersys [ELC 2014]
 * Android Platform Debugging and Development Karim Yaghmour, Opersys [ELC 2014]
 * Android App Tuning Techniques Workshop Mark Murphy, CommonsWare [ELC 2014]
 * Android Middleware Development Euler Rachid, Samsung R&D Brazil Lab [ELC 2014]
 * Here There Be Dragons: Using cland/LLVM to Build Android Behan Webster, Converse in Code [ELC 2014]
 * Solving Global Illiteracy With Android and XPRIZE Jono Bacon, XPRIZE PDF [ELC 2015]
 * How Do Debuggers (Really) Work [ELCE 2015]
 * IoT and Web: How Your Web Applications Can Start Interacting with the [ELC 2016]
 * IoT Consensus - A Solution Suggestion to the 'Baskets of Remote' Problem [ELC 2016]
 * Upstreaming, Downstreaming, 'Sidestreaming': How Can Android-Based Projects Work Together? [ELC 2015]
 * (Most of the PDF presentations have incorrect links.) [ELC 2016]
 * All Day2 BoFs in [ELCE 2016]
 * Genivi and IoTivity Support: Where We Are and Where We Need to Go [ELC 2017]
 * Scaling IoTivity to Industrial IoT [ELC 2017]