All I Needed To Know, I Learned... Using/Developing/Maintaining Ubuntu Okay, not quite, but that's a feature! Daniel T Chen (0xC88ABDA3) Association for.

Slides:



Advertisements
Similar presentations
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
Advertisements

Chapter 7: Introduction to Debugging TECH Prof. Jeff Cheng.
Lesson 5 Computer-Related Issues
TIME-SHARING COMPUTER SYSTEM WITH SOUND MANAGEMENT PROPOSAL Team 4 Manager Webmaster Document Prep Presentation Prep Lab Coordinator Faculty Facilitator.
SEG4911 – Projet génie logiciel en fin d’études / Software Engineering Capstone Project Thoughts about Agile Design and Release Management Timothy C. Lethbridge.
“Here’s why you need the new wheels, too…” Shawn and Steve Image from
Who Are We? An open, international ecosystem containing 70+ organizations each working in their own self-interest while collaborating toward a common industry.
Ανοιχτό Λογισμικό & Βέλτιστες Πρακτικές Υλοποίησης Έργων Πληροφορικής σε Επιχειρήσεις Dimitris Andreadis Software Engineering Manager JBoss Application.
Version Control.
Network Copyright © Genetic Computer School 2007 Lesson 14 Troubleshooting Network Problems.
 Linux Mint is a computer operating system designed to work on most modern systems, including typical x86 and x64 PC’s. Linux Mint can be thought of.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
My career choices Game designer, Software designer, Engineer.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
1 April 14, Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008.
Expanding Involvement of Women in F/OSS Presented by Elizabeth Krumbach Philadelphia area Linux Users Group September 2, 2009.
Cat Allman & Leslie Hawthorn Google Inc. May 8, 2009 Getting Started in Open Source.
Cat Allman Leslie Hawthorn Google Inc. July 22, 2009 Getting Started in Free and Open Source.
Unbreaking Audio for the Unassuming Linux User
1SFK 2010 | | Prishtina Tomeu Vizoso, Collabora Ltd. Sugar The learning platform.
CENG 334 – Operating Systems 01- Introduction Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Why Fedora? Overview and Q&A Warren Togami Associate Software Engineer Red Hat, Inc. Southern California Linux Expo Feb 11-12, 2006.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Thinking Outside the Box Linux. Question: What form of transportation racks up the most passenger miles per year? Not cars Not bicycles Not buses Not.
And how to avoid it Tom “spot” Callaway Presented by Fedora Engineering Manager This presentation is licensed under a Creative Commons Attribution-Share.
Chapter 4. CONCEPT OF THE OPERATING SYSTEM MANAGING ESSENTIAL FILE OPERATIONS.
Code Simplicity: Software Design In Open Source Projects Max Kanat-Alexander
How to get involved in KDE when you're not a developer Justin Kirby | San Diego, CA, USA | Camp KDE 2010.
An Introduction to. Where did Fedora come from? Boxed set every 6 months == Failed business model [
T Iteration Demo Vitamin B PP Iteration
QA Process within OEM Services Ethan Chang QA Engineer OEM Service, Canonical
Expanding Involvement in F/OSS Presented by Elizabeth Krumbach Philadelphia area Linux Users Group September 2, 2009.
Why Fedora? The Fedora Message Warren Togami Fedora Founder Associate Software Engineer Red Hat, Inc.
JOB SEARCH SKILLS WELCOME.
OUTLINE Introduce instructor Introduce the TA Introduce yourselves
Open Source Software Development
CSC207 Fall 2016.
Presented by Elizabeth Krumbach
Chapter 4: Application Software
How to download premium android apps and games
Selected topic in computer science (1)
Welcome to Linux Chap#1 Hanin Abdulrahman.
Linux for Windows users
Android Studio, Android System Basics and Git
SEVERITY & PRIORITY RELATIONSHIP
Group members Byron Farrell Zhimian Wu Mingjun Gao Calvin Ho
Software Configuration Management
A Career in Open Source Software
Get Oracle 8i Running on Your Linux Server Straight Away!
Malwarebytes Tech Support Number There are a lot of antivirus applications, but Malwarebytes is different due to many reasons. It has often.
Microsoft Technical Support Number Microsoft Technical Support Number Call Now : Toll Free Call Now : Toll Free
DHCP, DNS, Client Connection, Assignment 1 1.3
Dev Test on Windows Azure Solution in a Box
Johanna Rothman Know What “Done” Means Chapter 11
Software Defined Networking (SDN)
Lesson #7 MCTS Cert Guide Microsoft Windows 7, Configuring Chapter 7 Configuring Devices and Updates.
Lesson 5 Computer-Related Issues
Common computer terminology
Geospatial Service Architecture Viewpoints
Introduction To software engineering
CSE 303 Concepts and Tools for Software Development
HingX Project Overview
New Mexico Broadband Program Internet Tools for Small Business
OUTLINE Introduce instructor Introduce the TA Introduce yourselves
Welcome to Linux Chap#1 Hanin Abdulrahman.
Welcome to Linux Chap#1.
The Troubleshooting theory
HP Laptop Plugged in Not Charging – Troubleshoot The Error Now |
Web Programming : Building Internet Applications Chris Bates CSE :
Product Development & Planning
Presentation transcript:

All I Needed To Know, I Learned... Using/Developing/Maintaining Ubuntu Okay, not quite, but that's a feature! Daniel T Chen (0xC88ABDA3) Association for Computing Machinery of Virginia Tech,

Disclaimer All opinions and mistakes herein are by yours truly.

Synopsis Every human can make the world a better place by contributing to Free Open Source Software.

Why Contribute To FOSS? Boredom Procrastination (read: should be studying/coding instead) Frustration + too much free time (read: procrastination) Curiosity Necessity Probability of imminent profit

Free Open Source Software As an industry Nearly the state of most computer science curricula Driven by profits As a service* What you don't learn in most computer science curricula Driven by humans As an ideal Varying definitions of “free” and “open”

What Is FOSS As An Industry? Revenue-generating Product (technical) support contracts (Red Hat Enterprise Linux, Oracle,...) Contracted software development (federal, …) Process dictated by business requirements Character actors/actresses (e.g., crackers) Process dictated by ? Usability and maintainability consequences Open source vs. open APIs

What Is FOSS As A Service? Humans are part of an ecosystem osophy Keeping the ecosystem in scope Globally connected humans helping one another Using/Developing/Maintaining FOSS to create tools to bridge humans Your resources Imagine if every human devoted one hour per week to FOSS

What Is FOSS As An Ideal? Drama! Open Source Initiative → Free Software Foundation → the-point.html Debian Free Software Guidelines →

What Does Your Curriculum Include? Typical computer science curriculum Lectures Lab work Extracurricular requirements? Reading and lab work above and beyond required/stated on syllabus Social – yes, social – requirements Professional development ACM events Mentoring

What Should Your Curriculum Include? Probably everything in the previous slide FOSS at every level Objective: make using/developing/maintaining FOSS straightforward Outreach

What is Ubuntu to you?

Lessons Learned in FOSS Scale your efforts Teams! Documentation! Public version control system(s) Blogs, Twitter/Identi.ca, Facebook,... Bug triaging is hard Manage your resources Keep purpose in scope Enjoy yourself

FOSS Bundles Most major (read: popular) Linux distributions simply bundle finitely countable FOSS components Maintainers must make sure those components play together nicely What happens when those components aren't tested against other components in the distribution?

Surprise, Software Has Bugs! If you want to learn a system thoroughly, fix its bugs You can be a rock star by helping resolve bugs There are plenty of bug trackers for FOSS projects Ubuntu has ~50 K open bugs tracked in Launchpad → Imagine if every human fixed one FOSS bug

Why Doesn't My Sound Work?!

(Re)Introducing Terminology Open Sound System (OSS) Advanced Linux Sound Architecture (ALSA) Free Firewire Audio Drivers (FFADO) High Definition Audio (HDA) Subsystem identifier (SSID)

Why Sound Doesn't Work out of the Box Audio codec manufacturers enjoy the one-up game, too ALSA/OSS/FFADO simply doesn't support the hardware [yet] Initialising audio devices is nondeterministic A Linux distribution can't please every potential user – “more than one way to do things”

The User-Developer Paradigm, or We're Wrong As a Community Sheer volume of sound issues noted on issue trackers, blogs, forums, and more, demotivates people “A lot” of publicly available information actually is misinformation “Closed world assumption” exists for Linux sound Developers are users, too

So What's the Problem with Codecs? AC'97 and HDA implementations vary widely Computer manufacturer and model information are insufficient for troubleshooting Even ALSA performs hardware differentiation (by SSID) poorly [for many computers]

“When I was your age...”

“I walked uphill both ways...”

“through snow and broken glass...”

Troubleshooting ALSA Where does my audio issue originate? ALSA alsa-{kernel,driver}/linux Mixer label strings – massive confusion! alsa-lib User-supplied configuration files (asoundrc) alsa-plugins PulseAudio/GStreamer/Phonon GNOME session race condition(s) Non-Free software components

Further Questions? IRC → irc://irc.freenode.net /ubuntu-motu /*ubuntu*-devel YouTube → Ubuntu home page → /developerzone Mailing lists → /mailman/listinfo/Ubuntu-devel-discuss