UbuCon Asia 2026 @ COSCUP
from
Saturday 8 August 2026 (08:00)
to
Sunday 9 August 2026 (21:55)
Monday 3 August 2026
Tuesday 4 August 2026
Wednesday 5 August 2026
Thursday 6 August 2026
Friday 7 August 2026
Saturday 8 August 2026
08:00
Registration
08:00 - 09:00
09:00
Opening and Closing: Opening
Opening
09:00 - 09:30
Room: RB105
09:30
The Invisible Architecture: From Kernel Patches to Global AI
-
Rex Tsai
The Invisible Architecture: From Kernel Patches to Global AI
(Other)
Rex Tsai
09:30 - 10:15
Room: RB105
In 2004, Ubuntu captured the tech world's imagination as the "friendly Linux" desktop, simplifying computing for a generation of students and developers. Fast forward to 2026, and the landscape has fundamentally transformed. Ubuntu has evolved into the "Invisible Architecture" quietly driving the world's compute—powering public clouds, enterprise Kubernetes, autonomous vehicles, and global AI infrastructure. This session offers a 15-year engineering perspective on how Canonical scaled its operations from upstream Linux packaging to engineering massive delivery pipelines, managing 10-year LTS security cycles, and establishing FIPS-compliant environments. We will address a critical bottleneck in the modern ecosystem: the "AI Tax"—the immense friction developers face when battling mismatched CUDA versions, kernel headers, and broken NPU drivers instead of building models. We will explore how Canonical collaborates with silicon partners like NVIDIA (GB10/GB300) and AMD to eliminate this complexity, ensuring the hardware is fully optimized right out of the box. Additionally, the session introduces "Inference Snaps" as the modern unit of truth for AI deployment. We will examine how Snaps bring immutability, reproducibility, and sandboxed security to a "black box" AI world, serving as a trusted "glass box" across thousands of edge nodes. Finally, we will close with a call to action for the open-source community, highlighting how the growing local ecosystem can ensure that the future of AI remains decentralized, trusted, and open.
10:30
Beyond apt install: The Journey of an Ubuntu Package
-
Shishir Subedi
Beyond apt install: The Journey of an Ubuntu Package
(Other)
Shishir Subedi
10:30 - 11:00
Room: AU
Every day, millions of users type `apt update` and `apt install` and software appears on their system as if by magic. Behind this simple command lies a sophisticated infrastructure of cryptographic safeguards, precise archive organization, and rigorous human review. This talk is an invitation to look under the hood and trace the full lifecycle of an Ubuntu package, from the central archive to the local machine. The journey begins with an exploration of the repository architecture. We will break down how your system's repository configuration maps to a structured archive where metadata and installable packages are organized separately. We will discuss how Ubuntu manages change over a release's lifetime through distinct channels for security fixes, stable updates, and backported features, and how the archive groups packages by the level of support and maintenance they receive. Trust is the backbone of this ecosystem. We will demonstrate the "Chain of Trust" that ensures package authenticity, illustrating how the system verifies that software is genuine and untampered with, even when fetched over potentially untrusted network mirrors. This section illustrates how a single signed file at the top anchors the trust for every package in the archive. Finally, we will explore the human "gatekeepers" of the ecosystem. We will demystify the procedural checks and balances, such as the security auditing and stable release update processes that ensure software remains reliable long after a version is released.
Deploy a 12-factor application of your choice end-to-end!
-
Swetha Swaminathan
Grégory Schiano
(
Canonical
)
Javier de la Puente
Deploy a 12-factor application of your choice end-to-end!
(Cloud and Infrastructure)
Swetha Swaminathan
Grégory Schiano
(
Canonical
)
Javier de la Puente
10:30 - 11:30
Room: RB101
This workshop offers a hands-on exploration of the web applications lifecycle, demonstrating how to build and deploy cloud-native, 12-factor applications using a fully open-source toolchain. Participants can use their preferred framework (Go, Flask, ExpressJS, or Spring Boot) to gain practical experience taking an application from source code to a production-like environment. During the session, we will cover: - **Application Packaging:** Building standard OCI images for your applications. - **Production Deployment:** Deploying workloads reliably across diverse environments. - **Day-Two Operations:** Utilizing automated operators to manage complex tasks like database backups and schema migrations. - **Infrastructure Flexibility:** Leveraging Rockcraft, Charmcraft, and Juju to maintain platform independence, whether self-hosting or utilizing a public cloud vendor. Additionally, the workshop features a live demonstration of an AI Agent skill designed to automate these deployment steps, providing a simple, end-to-end approach to managing this open-source stack.
11:00
Creating containers like Michelangelo
-
Tushar Gupta
Creating containers like Michelangelo
(Security and Compliance)
Tushar Gupta
11:00 - 11:30
Room: AU
AI has had an interesting side effect: it has shifted security from something often treated as an afterthought into a proactive, first-class concern in modern software development. With LLMs, scanning and identifying attack vectors is no longer limited to the codebase; it now extends across transitive dependencies, third-party packages, and entire distributions, resulting in a steady stream of newly uncovered critical CVEs. Containers sit at the core of modern service deployments. Securing them is critical, and one of the most effective ways to strengthen security is to reduce the attack surface by stripping away everything that isn't essential. The challenge is doing that in a reliable, efficient and repeatable way. Luckily, there's a tool built for exactly this: Rocks. It's an OCI-compliant image builder that lets you chisel away unnecessary packages and dependencies, helping you sculpt a lean, purpose-built container image, much like Michelangelo revealing a masterpiece from a block of "rock". (pun intended)
11:40
From Autotest to Avocado: Modernizing System Testing on Ubuntu
-
Nirjal Bhurtel
(
Kathmandu University
)
From Autotest to Avocado: Modernizing System Testing on Ubuntu
(Documentations and QA)
Nirjal Bhurtel
(
Kathmandu University
)
11:40 - 12:10
Room: RB101
Autotest and KVM virt-test have long served as the backbone of system and virtualization testing in Linux environments. However, their tightly coupled architecture and operational complexity present growing challenges for modern development workflows, particularly in terms of modularity, scalability, and CI/CD integration. As highlighted in [Ubuntu Testing Automation](https://wiki.ubuntu.com/Testing/Automation), Ubuntu’s testing ecosystem has historically relied on Autotest and KVM autotest. Over time, this ecosystem has evolved, with KVM autotest and virt-test transitioning into the Avocado and Avocado-VT projects. Avocado represents a natural progression of the Autotest lineage, reflecting a broader shift toward more maintainable, extensible, and developer-friendly testing frameworks. This talk provides a clear and technical comparison between Autotest and Avocado, focusing on their architectural differences, strengths, and trade-offs. We will explore key features of Avocado, including its Python-based test model, plugin architecture, parameterized execution, and enhanced reporting capabilities. The role of Avocado-VT as a continuation of virt-test for virtualization testing will also be examined. Rather than advocating for a full rewrite, the session outlines a practical migration strategy for Ubuntu-based systems, demonstrating how teams can incrementally transition from Autotest to Avocado while preserving existing test investments. We will examine when to leverage Avocado-VT for compatibility and when to adopt native Avocado tests, along with approaches for integrating Avocado into modern CI/CD pipelines. Attendees will gain a balanced understanding of both frameworks, along with actionable guidance on adopting Avocado to build more maintainable, scalable, and future-ready system testing workflows on Ubuntu.
Ubuntu Touch Progress Update 2026
-
Alfred Neumayer
(
UBports/Ubuntu Touch
)
Ubuntu Touch Progress Update 2026
(Devices and IoT)
Alfred Neumayer
(
UBports/Ubuntu Touch
)
11:40 - 12:10
Room: AU
This is a regular status update of what has landed and what's landing in Ubuntu Touch. We'd like to show you what we have been working on over the last year. From upgrades to our UI toolkit to Qt6 over to the quest of bringing Mir 2 to supported devices, right next to how we land those in a storage-limited environment. And of course we have Snap updates to show. Many pieces to pick up and you'd surely like to know why, what and what's going on.
12:10
Lunch break
Lunch break
12:10 - 13:40
13:40
Juju Does Everything. Here Is What That Is Like.
-
Madhur Jain
Juju Does Everything. Here Is What That Is Like.
(Cloud and Infrastructure)
Madhur Jain
13:40 - 14:10
Room: AU
## Overview Infra-devops are some of the most busiest teams in most companies, they run multiple tools and still spend hours manually wiring DATABASE_URL into config files. Juju is the only tool in the ecosystem that brings in the idea of service relationships, and this makes a significant difference. This talk is in two halves: first, why Juju is genuinely compelling; second, what production with Juju actually looks like, including some case-studies of debugging production issues. ## Part 1: Why Juju Changes the Game (10 min) ### The gap in the standard stack Most teams use: - **Terraform** - provisions cloud resources (VMs, VPCs, EKS clusters) - **Ansible** - configures software on those machines - **Helm** - deploys workloads onto Kubernetes - **Devs** - manually wire DATABASE_URL, handle failover, rotate credentials That last bullet is the operational toil that is most painful, it is manual, error-prone, and it never ends. ### What Juju does differently Juju answers a different question: *how do I operate a distributed system, across any infra, without writing a separate runbook for every piece of it?* Where Terraform, Ansible, and Helm each solve one part of the puzzle, Juju covers the full stack: - Provision infra - Configure software - Deploy to K8s - Auto-wire services - Works on bare metal - Works across clouds ### The relation protocol: Juju's real superpower When we run `juju relate webapp postgresql`: - Postgres charm writes host, port, dbname, and credentials into a shared relation databag - Webapp charm reads them and restarts with the correct DATABASE_URL - If Postgres fails over, it updates the databag, webapp gets a `relation-changed` hook, and reconfigures itself automatically No other tool in the stack has this. It is why Juju eliminates an entire category of day-2 operational toil. ### Mental model for K8s engineers - **Deployment** → Application - **Pod** → Unit - **Namespace** → Model - **Helm chart** → Charm (with operational logic, not just YAML) - **kubelet** → Juju unit agent - ***(nothing)*** → Relation (Juju-only concept with no K8s equivalent) ## Part 2: Production Reality (18 min) ### The Canonical Sites stack (2 min) In this section, we discuss the realities of running Juju in production, detailing the challenges we encountered and the key lessons we learned. The Canonical Sites team runs ubuntu.com, canonical.com, and related web properties on Juju and Charmed Kubernetes. Flask/Jinja2 apps packaged as rocks, operated via Charms, deployed into Juju models on Charmed K8s. This is what day-to-day production looks like from the inside. < A demo of how Juju in production looks like> ### Case Study 1: Charm upgrades silently breaking relations (7 min) **The symptom:** App is running. `juju status` shows `active/idle`. But an integration is silently failing with no error and no alert. **What happened:** A charm upgrade changed the relation interface. The new charm version writes different keys to the relation databag. The consuming charm's `relation-changed` hook never fired, so it is still reading stale values. **Why it is hard to debug:** `juju status` reports unit state, not relation data integrity. A unit can be `active` while its relation databag is stale or empty. **How to actually diagnose:** # Stream hook logs for a specific unit juju debug-log --include unit:webapp/0 --replay # Inspect actual relation data juju run webapp/0 -- relation-get -r <rel-id> - postgresql # Re-trigger the hook manually juju exec --unit webapp/0 -- hooks/relation-changed **Fix patterns:** - `juju remove-relation` then re-add forces a fresh `relation-joined` on both sides - `juju refresh <charm> --force` only when you fully understand the interface change **Takeaway:** Never trust `active/idle` after a charm upgrade without manually verifying relation data. ### Case Study 2: Model drift between staging and production (7 min) **The symptom:** Works perfectly on staging. Breaks on production with no obvious diff. **What happened:** Over three months, staging accumulated hotfixes applied via `juju config` CLI that were never committed back to the bundle. Production was running the committed bundle. Different charm revisions, different config values, different relation states. **Why it happens:** Juju config changes via CLI do not sync back to bundle.yaml automatically. The bundle is not a live source of truth; it is a snapshot you have to maintain yourself. **How to detect it:** # Export current model state juju export-bundle > current.yaml # Diff against your committed bundle diff bundle.yaml current.yaml What `export-bundle` misses: secrets, manually-set config values, cross-model relations. **The discipline:** - Treat `bundle.yaml` as source of truth and make all config changes via PRs - Run `juju diff-bundle` before every production deployment - Pin charm revisions explicitly; never rely on `latest/stable` in production **Takeaway:** Model drift is an ops culture problem as much as a tooling problem. ## Debugging Toolkit (2 min) For each common failure mode, here is where to start: - **Unit stuck in `maintenance`:** `juju debug-log --include unit:app/0 --replay` - **Relation data wrong or stale:** `juju run app/0 -- relation-get -r <rel-id> - app` - **Hook silently failing:** `juju debug-hooks app/0` - **Config drift between envs:** `juju export-bundle > current.yaml && diff bundle.yaml current.yaml` - **Pod not starting:** `kubectl logs -n <model> <pod>` (bypass Juju entirely) ## Closing (1 min) Juju is operator knowledge encoded in code. The relation protocol solves a problem no other tool in the ecosystem addresses. But that power comes with a debugging model that is opaque if you do not know where to look. The goal of this talk: give you the mental model and the commands to actually trust Juju in production, not just deploy it.
Snap 軟體打包入門 Snap packaging 101
-
博仁(Buo-ren) 林(Lin)
Snap 軟體打包入門 Snap packaging 101
(Other)
博仁(Buo-ren) 林(Lin)
13:40 - 14:40
Room: RB101
* Snap 軟體包簡介 * 適合被打包為 Snap 的軟體 * 不適合被打包為 Snap 的軟體 * Snap 權限限縮模式簡介與它們各自的眉角 * Snap 打包工具簡介 * Snapcraft 專案檔簡介 * Snapcraft 打包生命週期 * Snap 軟體包名稱註冊流程 * Snap 軟體包別名申請流程 * Snap 軟體包維護 --- * Introduction of snap packages * Software that is suitable to be packaged as snaps * Software that is NOT suitable to be packaged as snaps * Introduction of Snap confinement modes and their respective nuances * Introduction of snap packaging utilities * Snapcraft project file introduction * Snapcraft packaging lifecycle * Snap package name registration process * Snap package alias application process * Snap package maintenance
14:10
From Big Data to ML: Integrating Spark and Kubeflow with Juju
-
Bikalpa Dhakal
(
Canonical
)
From Big Data to ML: Integrating Spark and Kubeflow with Juju
(Data, AI and ML)
Bikalpa Dhakal
(
Canonical
)
14:10 - 14:40
Room: AU
In modern data science, the "Data Lakehouse" is a powerful way to manage large-scale data. However, for many teams, the "last mile" of integration—connecting Machine Learning platforms like Kubeflow to big data processing engines like Apache Spark—remains a major technical challenge. In a shared Kubernetes cluster, managing security, user permissions, and connection strings across different user profiles often leads to manual errors and security risks. In this session, we will explore an open-source solution to this problem using Juju and Charmed Operators. We will walk through a "Multi-Integrator" architecture where each Kubeflow profile receives its own secure connection to the data platform. Instead of manual configuration, we use automated integrators to inject Spark Service Accounts, configurations, and security secrets directly into user namespaces. By using Charmed Spark and Charmed Kubeflow, we can create a modular system where data scientists can move from a simple notebook to a distributed Spark job without worrying about the underlying YAML files or credentials. We will discuss the logic of this design, how it handles multi-tenancy, and how it simplifies the path to a production-ready data lakehouse on Ubuntu.
14:40
Coffee break
Coffee break
14:40 - 15:00
15:00
Kubernetes Is Not a Platform: Building One with Juju
-
Rishi Mondal
(
Site Reliability Engineer (SRE) at Obmondo | CNCF Project Maintainer | Docker Captain | Linux Foundation Project Mentor
)
Ronit Banerjee
(
R&D Engineer @ Keysight Technologies | CNCF Ambassador
)
Kubernetes Is Not a Platform: Building One with Juju
(Cloud and Infrastructure)
Rishi Mondal
(
Site Reliability Engineer (SRE) at Obmondo | CNCF Project Maintainer | Docker Captain | Linux Foundation Project Mentor
)
Ronit Banerjee
(
R&D Engineer @ Keysight Technologies | CNCF Ambassador
)
15:00 - 15:30
Room: AU
Installing Kubernetes is easy. Operating it across teams, under pressure, at scale that's where most organizations quietly struggle. Clusters grow into a mix of manual `kubectl` workflows, inconsistent network policy, and operational knowledge nobody wrote down. It works until it doesn't. The missing layer is **operational lifecycle management** and that's exactly what **Juju** was built for. **Juju** brings model-driven operations to Kubernetes: it manages service dependencies, handles upgrades and integrations, automates day-2 recovery, and encodes operational knowledge into reusable charms rather than fragile scripts and runbooks. Where most tools stop at deployment, **Juju** carries the operational story forward through the entire application lifecycle. But a platform needs more than lifecycle automation. Delivery needs to be declarative and auditable that's where **Argo CD** fits in, providing GitOps-based deployment and drift control. And networking and security policy need to be enforceable at runtime that's where **Cilium** brings kernel-level policy enforcement and observability. This session shows how **Juju** serves as the operational backbone of a Kubernetes platform, with Argo CD and Cilium filling the delivery and networking layers. Rather than presenting tools in isolation, the talk demonstrates a cohesive platform engineering model built around Juju's strengths in lifecycle automation and operational relationships. Attendees will see how **Juju's** charm-based approach solves problems that GitOps alone cannot service integrations, cross-application dependencies, upgrade orchestration, and recovery workflows while Argo CD and Cilium handle what they do best.
snappy-debug: demystify and extend snapd
-
Soumyadeep Ghosh
(
Canonical/Ubuntu/Ubuntu India
)
snappy-debug: demystify and extend snapd
(Desktop and WSL)
Soumyadeep Ghosh
(
Canonical/Ubuntu/Ubuntu India
)
15:00 - 15:30
Room: RB101
In this talk, I'll start by discussing apparmor, cgroup, seccomp etc and talk briefly about how these all are used to create a confinement for snapped apps. Then, I'll deep dive into the world of debugging confinement issues. I'll showcase and give a small hands-on on the snappy-debug tool and show how one can use it, in different scenarios, like in the Ubuntu Core or the classic Ubuntu distro and end the talk by showing a small example, on how one can actually extend various interfaces of snapd.
15:30
Invisible Debugging for Docker Workloads on Ubuntu GCP: eBPF in Action
-
Rajani Ekunde
(
Senior Software Engineer
)
Invisible Debugging for Docker Workloads on Ubuntu GCP: eBPF in Action
(Cloud and Infrastructure)
Rajani Ekunde
(
Senior Software Engineer
)
15:30 - 16:00
Room: AU
Modern production systems often restrict SSH access, making traditional debugging on Ubuntu instances increasingly difficult. In this talk, I share real-world SRE experiences debugging live issues on Ubuntu virtual machines running on GCP, without logging into them. Using eBPF-based tools on Ubuntu, I demonstrate how to trace system calls, analyze network behavior, and identify performance bottlenecks in real time. Through actual incident scenarios, we’ll uncover how Ubuntu’s kernel capabilities combined with eBPF enable “invisible debugging,” helping engineers resolve critical issues faster without disrupting production systems.
15:45
Keynote: COSCUP Prime Session
COSCUP Prime Session
15:45 - 16:30
Room: RB105
16:45
Opening and Closing: Closing
Closing
16:45 - 17:00
Room: RB105
Sunday 9 August 2026
08:00
Registration
08:00 - 09:00
09:00
Opening and Closing: Opening
Opening
09:00 - 09:10
Room: RB105
09:10
Keynote: COSCUP Prime Session
COSCUP Prime Session
09:10 - 09:55
Room: RB105
10:00
Controlling Ubuntu with Local LLM: A Practical System Using Structured Tool Interfaces
-
Laksh Gambhir
Controlling Ubuntu with Local LLM: A Practical System Using Structured Tool Interfaces
(Data, AI and ML)
Laksh Gambhir
10:00 - 11:00
Room: TR210
Modern Ubuntu systems offer powerful tools like systemd, LXD, and various CLI utilities, but these often remain fragmented and require significant command-line expertise to operate efficiently. In this talk, we will present a system that enables natural language control of Ubuntu using a fully local AI Model, our system contains: - A local LLM for intent interpretation - A lightweight orchestration layer - Tool adapters connected to Ubuntu components (systemd, LXD, logs) Instead of relying on cloud services, this system uses a local LLM combined with a structured tool interface to safely and predictably interact with system components. This allows users to monitor performance, manage services, control LXD containers, and summarize logs using conversational commands.
Gaming on Linux with Ubuntu and Proton
-
Venkatesh Chaturvedi
Gaming on Linux with Ubuntu and Proton
(Desktop and WSL)
Venkatesh Chaturvedi
10:00 - 10:30
Room: TR211
I want to talk about how good gaming on Linux is, as compared to Windows. With the constant improvements in proton and other FOSS libraries and tools, this might just be the year of the Linux desktop. There's been a >50% year on year growth in the number of people gaming on Linux, and this is only going to grow. The major boost came when Valve introduced the Steam Deck which basically revolutionized gaming on Linux. With the upcoming Steam Machine, we might just make up the majority of the market, overtaking Windows for good. I want to talk a bout the basic technical aspects of the entire gaming pipeline on Linux, and introduce people to some of the most important FOSS tools and libraries which help us play games on Linux. Few of these are proton, dxvk, vk3d, vk3d-proton, and I'll also be talking about how Nvidia went partially open source for Linux and why it helps the community. Might also briefly touch on the work going on with NVK and Nova. I'll also talk about the basics of how to setup an Ubuntu desktop for gaming. I'll go through the required software and tools needed to game comfortably on Ubuntu and how an end user can do this without getting into a web of complex configurations.
10:30
Zero-Trust Workloads with Confidential Containers on Ubuntu
-
Vutukuri Sreenivas
(
Jenkins
)
Zero-Trust Workloads with Confidential Containers on Ubuntu
(Security and Compliance)
Vutukuri Sreenivas
(
Jenkins
)
10:30 - 11:00
Room: TR211
In terms of protecting sensitive data during execution across diverse cloud environments, typical **container isolation** mechanisms frequently fall short. While traditional security secures data at rest and in transit, the **"data-in-use"** gap remains leaving memory and running processes vulnerable to a compromised host, hypervisor, or rogue administrator. Without requiring changes to application code, Confidential Containers (CoCo) is a potent open-source technology that makes it possible to isolate workloads safely and effectively using hardware-based Trusted Execution Environments (TEEs). This session examines how memory encryption, remote attestation, and hardware-level isolation offered by CoCo might improve zero-trust security on Ubuntu systems. Measures like standard Linux namespaces and cgroups are less efficient against contemporary infrastructure-level attacks as a result of the sophistication of modern cloud-native threats. By offering a cryptographic method of isolating system memory without compromising cloud flexibility, CoCo tackles these issues. And CoCo is a crucial tool for contemporary data privacy and compliance since it can protect proprietary code, AI models, and sensitive payloads by executing them inside hardware-attested utility VMs on the Linux kernel. The talk will focus on the integration of **Confidential Containers with Ubuntu**, highlighting Canonical’s and the broader open-source community's ecosystem support for TEE-backed virtualization such as Intel TDX and AMD SEV-SNP. Will also include **practical demonstrations** of CoCo deployments on Ubuntu, showcasing how to use the open-source CoCo Operator for running encrypted pods, managing remote attestation, and preventing unauthorized host-level access to container memory. We will walk through real-world examples of deploying hardware-isolated workloads using CNCF tools such as Kata Containers and the Confidential Containers project alongside Ubuntu's MicroK8s, demonstrating how they enforce a true zero-trust architecture in modern cloud infrastructures. Participants will have a thorough grasp of how to use Confidential Containers to improve data-in-use security in Ubuntu environments by the end of this session. They will acquire hands-on experience in deploying CoCo for memory encryption, hardware-based workload isolation, and cryptographic attestation, allowing them to leverage this potent technology in their own infrastructure strategies and actively champion advanced cloud security within the Ubuntu ecosystem.
11:00
Ubuntu Circles BoF
-
Youngbin Han
(
Ubuntu Korea Community
)
Sailesh Singh
(
GNOME Nepal, Ubuntu Nepal
)
Ubuntu Circles BoF
(Community)
Youngbin Han
(
Ubuntu Korea Community
)
Sailesh Singh
(
GNOME Nepal, Ubuntu Nepal
)
11:00 - 12:00
Room: TR310-2
Interested in running your own Local Ubuntu community (which is called Ubuntu Circles)? Or would like to connect with folks who run Ubuntu Circles in their city? Join this BoF to learn what is it and how to start your own and practices from other Ubuntu Circles leaders.
11:10
IT@School, or how we renounced the proprietary and chose free software
-
Ananthu C V
IT@School, or how we renounced the proprietary and chose free software
(Community)
Ananthu C V
11:10 - 11:40
Room: TR211
In the southern state of Kerala in India, every government school runs a distribution named KITE (previously IT@School), based on ubuntu, in IT labs. Thanks to this, we grew up being familiar with linux and ubuntu, although we were not aware of the importance of all this as students. This will be an introduction to IT@School, and the importance of free software education from a young age.
Self-Hosting 101: A real-time self-hosting workshop
-
Venkatesh Chaturvedi
Self-Hosting 101: A real-time self-hosting workshop
(Cloud and Infrastructure)
Venkatesh Chaturvedi
11:10 - 12:10
Room: TR210
This is a continuation from my talk that I gave at UbuCon Asia 2025: https://events.canonical.com/event/127/abstracts/838/ This time, I want to host a workshop where I'll walk people through the steps on how to setup Ubuntu server from scratch for self-hosting. I'll start with setting up an LXD VM with Ubuntu server. I'll walk through securing the server using firewall, fail2ban and other things. I'll then cover setting up a reverse-proxy like nginx and then host a simple web application on it. If time permits, I can also cover setting up podman for containers. I can also go a bit deep into the concepts and cover the basics of routing and tunneling as well. Requirements from attendees: - Laptop. - It would be great if they could setup LXD on their device (I'll walk people through this if most of them aren't familiar with LXD.) - It would be great if they could pre-download the Ubuntu server ISO (https://ubuntu.com/download/server).
11:40
Implementing immutability & atomicity within desktop Linux
-
Rudra Saraswat
(
Ubuntu Member and Project Lead of blendOS & Ubuntu Unity
)
Implementing immutability & atomicity within desktop Linux
(Desktop and WSL)
Rudra Saraswat
(
Ubuntu Member and Project Lead of blendOS & Ubuntu Unity
)
11:40 - 12:10
Room: TR211
*This is an advancement on a presentation I had previously delivered with regards to atomic Linux distributions found [here](https://events.canonical.com/event/89/contributions/459/).* Over the past couple of years, immutable & atomic Linux distributions have made significant strides in day-to-day usability and practicality; yet, there remains comparatively little in the way of low-level explanations with regards to how these mechanisms are implemented under-the-hood, in spite of the extent to which such attributes are desired on other, existing distributions. The intention of this presentation, then, is to demonstrate one such implementation of atomicity within a desktop Linux distribution I maintain - blendOS - and explore how we went about implementing support for varying distribution bases (among them Ubuntu), alongside how one may develop such an implementation for their own distributions, in an attempt to ease existing systems into such a paradigm.
12:10
Lunch break
Lunch break
12:10 - 13:20
13:20
From Community Need to Solution: The Story of Open Forms
-
Aryan Kaushik
(
UbuCon Asia organising committee
)
From Community Need to Solution: The Story of Open Forms
(Desktop and WSL)
Aryan Kaushik
(
UbuCon Asia organising committee
)
13:20 - 13:50
Room: TR211
Open Forms is a Linux application designed to provide a native, accessible, and offline-first form experience on Linux systems. Across Ubuntu communities, LoCos, and open-source events, form-based workflows still rely heavily on proprietary web platforms. These solutions often fall short in areas critical to our ecosystem - offline usability, data ownership, accessibility in low-connectivity environments, and seamless integration with the Linux desktop. Open Forms emerged from real-world needs within the Ubuntu community. It aims to provide a simple, reliable alternative that aligns with open-source values and Ubuntu’s vision of accessibility for everyone. And did I mention? It is available in a Snap! Open Forms: - Enables offline-first data collection for booths, registrations, and surveys. - Integrates naturally with the Ubuntu desktop experience - Supports LoCos, community events, and grassroots initiatives - Runs efficiently on Linux mobile devices without requiring constant connectivity In this talk, we will cover: - Why GTK4 + libadwaita were chosen for building a modern Ubuntu-native experience Key challenges and lessons learned while developing Open - Forms Real-world usage in Ubuntu booths and community events - How tools like Open Forms can strengthen Ubuntu communities across regions
Hands-On OpenClaw: Build Your Own Telegram AI Bot on Ubuntu with Juju and LXD
-
Shih- Yuan Lee
(
Canonical
)
Hands-On OpenClaw: Build Your Own Telegram AI Bot on Ubuntu with Juju and LXD
(Cloud and Infrastructure)
Shih- Yuan Lee
(
Canonical
)
13:20 - 14:20
Room: TR210
This is a bring-your-laptop workshop designed to help every participant get OpenClaw running on their own Ubuntu machine within 50 minutes using Juju and LXD—and receive their first AI reply over Telegram. This workshop uses a free API key from Google AI Studio (ai.dev) as the AI source, so all you need is a Google account—no paid subscription required. The session covers four segments: (1) Environment setup—Ubuntu 24.04, LXD snap, Juju installation, and local cloud initialization; (2) Deploying the OpenClaw Charm—running juju add-model, juju deploy openclaw, and setting the free API key obtained from Google AI Studio; (3) Telegram integration—creating a bot via BotFather, applying the token with juju config telegram-bot-token, and chatting with the bot live; (4) Advanced tweaks and observation—using openclaw tui to interact with the AI assistant directly from the terminal and observe the conversation in real time. All steps come with a pre-prepared command cheat sheet, and the instructor (and helpers, if available) will assist on the floor. Prerequisites: A machine running native Ubuntu 24.04 (laptop, desktop, or VM)—WSL2 is not supported as an LXD host; please use native Ubuntu or an Ubuntu VM—internet access, a Google account, and a Telegram account.
13:50
Local Real-Time Subtitles on Ubuntu with Moonshine and Pympress
-
Mitsuya Shibata
Local Real-Time Subtitles on Ubuntu with Moonshine and Pympress
(Desktop and WSL)
Mitsuya Shibata
13:50 - 14:20
Room: TR211
Language barriers remain a significant challenge in international conferences. Not all speakers are fluent in English, and even when they are, their speech may not always be easy for diverse audiences to understand. While some events provide professional captioning or simultaneous interpretation, such services are not always available for every session. In this talk, I will present a self-contained approach that enables speakers to generate real-time subtitles directly from their own laptop. By combining [Moonshine Voice](https://github.com/moonshine-ai/moonshine), a lightweight and efficient speech-to-text (STT) system that can run even on devices like Raspberry Pi, with [Pympress](https://github.com/Cimbali/pympress), a PDF-based presentation tool, we can build a fully local, automatic subtitle system on Ubuntu. This approach allows speakers to make their talks more accessible without relying on external infrastructure or services, making it easier to participate in international events regardless of location or available resources.
14:20
Coffee break
Coffee break
14:20 - 14:40
14:40
Rebuilding Ubuntu Nepal: A Playbook for Reviving Open Source Communities
-
Aaditya Singh
(
GNOME
)
Rebuilding Ubuntu Nepal: A Playbook for Reviving Open Source Communities
(Community)
Aaditya Singh
(
GNOME
)
14:40 - 15:10
Room: TR210
This session shares the real journey of how the GNOME Nepal community successfully revived Ubuntu Nepal after more than a decade of inactivity. It will walk through the challenges of restarting a dormant open-source community, including rebuilding trust, finding contributors, and creating momentum from zero. The talk will break down the exact strategies used, community outreach, event-driven growth, collaboration between GNOME and Ubuntu ecosystems, and leadership structure. It will also highlight mistakes, lessons learned, and what actually worked in the Nepali context. Finally, the session will translate this experience into a practical framework that attendees can apply to revive or bootstrap Ubuntu Circle and similar communities in their own regions.
The survive guideline for foreign Linux desktop user in Taiwan (在臺灣的外籍 Linux 桌面使用者生存指南)
-
Tony Yip
The survive guideline for foreign Linux desktop user in Taiwan (在臺灣的外籍 Linux 桌面使用者生存指南)
(Community)
Tony Yip
14:40 - 15:10
Room: TR211
This session discuss challenge and difficulty for expatriates and foreign visitors living in Taipei who rely exclusively on a Linux desktop environment. Navigating daily life and administrative tasks in Taiwan often requires interacting with highly specific local digital infrastructure. From smart-card-based government services, such as the National Health Insurance (NHI) system, tax filing, and Citizen Digital Certificate portals—to local banking WebATMs that traditionally favor Windows or macOS ecosystems, Linux users frequently face unique software compatibility barriers. The speaker will share their personal experience and detail how they successfully overcame these challenges to survive as a Linux desktop user in Taiwan. 本議程將探討居住在台北、且完全依賴 Linux 桌面環境的外籍居民與外國訪客所面臨的挑戰與困境。在臺灣,處理日常生活和行政事務往往需要與高度在地化的特定數位基礎設施進行互動。從基於晶片卡(智慧卡)的政府服務——例如全民健保(NHI)系統、網路報稅、自然人憑證——到傳統上僅支援 Windows 或 macOS 生態系的在地銀行網路 ATM(WebATM),Linux 使用者經常會遇到獨特的軟體相容性障礙。講者將分享其個人經驗,並詳細說明他們如何成功克服這些挑戰,在台灣作為 Linux 桌面使用者順利生存。
15:10
Bringing AI to RISC-V: From Edge Devices to Developer-Ready Systems
-
Yuning Liang
(
DeepComputing
)
Martin Chang
Bringing AI to RISC-V: From Edge Devices to Developer-Ready Systems
(Data, AI and ML)
Yuning Liang
(
DeepComputing
)
Martin Chang
15:10 - 15:40
Room: TR211
As AI workloads continue to expand beyond the cloud, developers are increasingly looking for open, efficient, and flexible platforms to run models at the edge and on personal devices. RISC-V, as an open instruction set architecture, is emerging as a promising foundation for this shift. In this session, Martin will share practical engineering experiences from building AI-capable RISC-V systems — covering key areas such as CPU–accelerator integration, software stack enablement, and optimization for real-world workloads. The talk will explore how Linux-based environments can support AI development on RISC-V today, what challenges remain across toolchains and runtimes, and how upstream collaboration is helping accelerate ecosystem maturity.
15:25
Keynote: COSCUP Prime Session
COSCUP Prime Session
15:25 - 16:10
Room: RB105
16:15
Opening and Closing: Closing
Closing
16:15 - 16:30
Room: RB105
16:30
Lightning Talk
16:30 - 17:00
Room: RB105