Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor video page #300

Merged
merged 5 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ The reactor-oriented programming paradigm is informally described via the follow
8. _Concurrency_ — Dependencies between reactions are explicitly declared in a Lingua Franca program, and reactions that are not dependent on one another can be executed in parallel on a multi-core machine. If the target provides a support for federated execution, then execution can also be distributed across networks.

## Getting Started
To get started with Lingua Franca, [set up a development environment](./installation.md) and learn how to write [a first reactor](./writing-reactors/a-first-reactor.mdx). There are also a number of useful [tutorial videos](./tutorial-videos.mdx) available.
To get started with Lingua Franca, [set up a development environment](./installation.md) and learn how to write [a first reactor](./writing-reactors/a-first-reactor.mdx). There are also a number of potentially useful [videos](./videos.mdx) available.
2 changes: 1 addition & 1 deletion docs/legacy_routing.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export default [
{
"to": "/docs/tutorial-videos",
"to": "/docs/videos",
"from": "/docs/handbook/tutorial-video"
},
{
Expand Down
2 changes: 1 addition & 1 deletion docs/sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const sidebars: SidebarsConfig = {
},
{
"type": "doc",
"id": "tutorial-videos"
"id": "videos"
},
{
"type": "category",
Expand Down
56 changes: 47 additions & 9 deletions ...ed_docs/version-0.9.0/tutorial-videos.mdx → docs/videos.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,47 @@
---
title: Tutorial Videos
description: Tutorial videos presented by the Lingua Franca team.
title: Videos
description: Videos presented by the Lingua Franca team.
---

Lingua Franca (LF) is a polyglot coordination language for concurrent and possibly time-sensitive applications ranging from low-level embedded code to distributed cloud and edge applications. On Oct. 8, 2021, we offered a tutorial on Lingua Franca for the EMSOFT conference, a part of ESWEEK.
Lingua Franca (LF) is a polyglot coordination language for concurrent and possibly time-sensitive
applications ranging from low-level embedded code to distributed cloud and edge applications.
This page collects videos presented by the Lingua Franca team:

* [Technical Talks](#technical-talks)
* [Weekly Research Meetings](#weekly-research-meetings)
* [Short Course](#short-course)
* [Tutorial](#tutorial-from-2021)

## Technical Talks

* [Decentralized Coordination in Federated Lingua Franca](https://youtu.be/eDBOwr5iD3s?si=rVzd4wXsUGgEHmvD), Nov. 20, 2024.
* [Trading Off Consistency and Availability using Lingua Franca](https://youtu.be/3lHmiWOedHM?si=6E-SU58zx6n2dT6B), Nov. 10, 2024.
* [Deterministic Concurrency in Cyber-Physical Systems](https://youtu.be/OA_GknXKe4g?si=ulryQ7gpVivAfoX3), June 16, 2023.
* [Deterministic Concurrency and the Lingua Franca Coordination Language](https://youtu.be/GT4NJ5XnEt4?si=wzrtX72PgAtPS_Yk), April 18, 2023.
* [Verifying Parallel and Distributed Systems: The Observer Problem](https://youtu.be/20EKKsdWTQ8?si=aTSiPijMw9lDVajY), Feb. 9, 2023.
* [Trading off Consistency and Availability in Cyber-Physical Systems](https://youtu.be/VbQPdTZjsZo?si=hAJhLt5e7m3PQzIx), Jan. 28, 2023.
* [Time for All Programs, Not Just Real-Time Programs](https://youtu.be/WlQ8oXG1K8c?si=vSgP5xcZJL3-2QdH), Oct. 25, 2021.
* [10-minute Demo of Lingua Franca](https://youtu.be/UZ1P70Rz5sY?si=N3MKYsgKxZr21bsD), May 6, 2021.

More videos can be found on this [playlist](https://youtube.com/playlist?list=PL4zzL7roKtfWbzXhty_kS9fkGoyt-jYzU&si=w8wtPVwPkSWqOIMC).


## Weekly Research Meetings

The LF team meets approximately once a week, and sometimes the meetings are recorded.
These recordings can be found in
[this Google Drive folder](https://drive.google.com/drive/folders/1puJdbrsgG0WhaGsOEJVUM_8NgBkeSmwH?usp=sharing).

## Short Course

In May, 2022, Edward Lee gave a [short course on software design for cyber-physical systems](
https://www.youtube.com/playlist?list=PL4zzL7roKtfUWcXJ_O9w8GzwJrCwcjLyb) that featured Lingua Franca.

## Tutorial from 2021

On Oct. 8, 2021, we offered a tutorial on Lingua Franca for the EMSOFT conference, a part of ESWEEK.
This tutorial is dated, and many aspects of the language have changed since then.
Nevertheless, the videos may provide a useful entry point.
A [video playlist](https://youtube.com/playlist?list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o) recording is available in six segments, as detailed below.

**Useful links:**
Expand All @@ -17,7 +55,7 @@ A [video playlist](https://youtube.com/playlist?list=PL4zzL7roKtfXyKE3k8lOwPub9Y
- [Part VI: Research Overview](#research)
- [Slides](https://docs.google.com/presentation/d/14cfIMmkBFwt6NOj2ujVs7YXPAXYsoHgLS2rUgBM-Deg/present?slide=id.g623f095f12_0_0)

## Part I: Introduction
### Part I: Introduction

This part briefly describes the background of the project and explains how to get started with the software.

Expand Down Expand Up @@ -46,7 +84,7 @@ These videos mentioned Epoch, an IDE that is no longer actively maintained. We r
- [Epoch IDE and lfc command-line compiler](https://releases.lf-lang.org/): Add `lfc` (and `epoch`) to your `$PATH` environment variable.
- [Requirements for each target language](https://reqs.lf-lang.org/): We use the C target in this tutorial.

## Part II: Hello World
### Part II: Hello World

This part introduces the language with a simple example.

Expand All @@ -66,7 +104,7 @@ This part introduces the language with a simple example.
| [LF tour recap](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=1102s) |
| [Diagrams](https://www.youtube.com/watch?v=GNwaf4OpfPM&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=2&t=1157s) |

## Part III: Target Languages
### Part III: Target Languages

This part focuses on the target languages other than C, namely C++, Python, TypeScript, and Rust.

Expand All @@ -83,7 +121,7 @@ This part focuses on the target languages other than C, namely C++, Python, Type
| [TypeScript](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=1555s) |
| [Rust](https://www.youtube.com/watch?v=0AteHXOHnto&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=3&t=2014s) |

## Part IV: Basic Concepts
### Part IV: Basic Concepts

This part focuses on basic concepts in the language and includes three demos.

Expand All @@ -101,7 +139,7 @@ This part focuses on basic concepts in the language and includes three demos.
| [Reflex game in Python](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=963s) |
| [The Rhythm example](https://www.youtube.com/watch?v=tl3F_jgc248&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=4&t=1155s) |

## Part V: Concurrency
### Part V: Concurrency

This part focuses on how the language expresses concurrency, exploits multicore, and supports distributed execution.

Expand All @@ -118,7 +156,7 @@ This part focuses on how the language expresses concurrency, exploits multicore,
| [Performance](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=1420s) |
| [Federated Execution](https://www.youtube.com/watch?v=MoTf8L0jOD0&list=PL4zzL7roKtfXyKE3k8lOwPub9YEjulS4o&index=5&t=1765s) |

## Part VI: Research Overview
### Part VI: Research Overview

This part focuses on a few of the research projects that have been stimulated by the Lingua Franca project.

Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-0.8.0/sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const sidebars: SidebarsConfig = {
},
{
"type": "doc",
"id": "tutorial-videos"
"id": "videos"
},
{
"type": "category",
Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-0.9.0/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ The reactor-oriented programming paradigm is informally described via the follow
8. _Concurrency_ — Dependencies between reactions are explicitly declared in a Lingua Franca program, and reactions that are not dependent on one another can be executed in parallel on a multi-core machine. If the target provides a support for federated execution, then execution can also be distributed across networks.

## Getting Started
To get started with Lingua Franca, [set up a development environment](./installation.md) and learn how to write [a first reactor](./writing-reactors/a-first-reactor.mdx). There are also a number of useful [tutorial videos](./tutorial-videos.mdx) available.
To get started with Lingua Franca, [set up a development environment](./installation.md) and learn how to write [a first reactor](./writing-reactors/a-first-reactor.mdx). There are also a number of useful [tutorial videos](./videos.mdx) available.
2 changes: 1 addition & 1 deletion versioned_docs/version-0.9.0/legacy_routing.ts
edwardalee marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export default [
{
"to": "/docs/tutorial-videos",
"to": "/docs/videos",
"from": "/docs/handbook/tutorial-video"
},
{
Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-0.9.0/sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ const sidebars: SidebarsConfig = {
},
{
"type": "doc",
"id": "tutorial-videos"
"id": "videos"
},
{
"type": "category",
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion versioned_sidebars/version-0.9.0-sidebars.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
},
{
"type": "doc",
"id": "tutorial-videos"
"id": "videos"
},
{
"type": "category",
Expand Down
Loading