index
:
notmuch
master
Unnamed repository; edit this file 'description' to name the repository.
Jonas Smedegaard
summary
refs
log
tree
commit
diff
log msg
author
committer
range
path:
root
/
tags
/
c1
/
4f
/
20140714010022.A0806F70@lxp5.free-owl.de
/
unread
diff options
context:
1
2
3
4
5
6
7
8
9
10
15
20
25
30
35
40
space:
include
ignore
mode:
unified
ssdiff
stat only
Diffstat
(limited to 'tags/c1/4f/20140714010022.A0806F70@lxp5.free-owl.de/unread')
pan>=
"Content-Type"
content
=
"text/html; charset=utf-8"
/>
<meta
http-equiv
=
"Content-Style-Type"
content
=
"text/css"
/>
<meta
name
=
"generator"
content
=
"pandoc"
/>
<meta
name
=
"author"
content
=
"Jonas Smedegaard"
/>
<title>
Debian Pure Blends - hacking in your parents' house
</title>
<link
rel
=
"stylesheet"
type
=
"text/css"
media
=
"screen, projection, print"
href
=
"../../../slidy/slidy.css"
/>
<script
src
=
"../../../slidy/slidy.js"
charset
=
"utf-8"
type
=
"text/javascript"
></script>
</head>
<body>
<div
class
=
"slide titlepage"
>
<h1
class
=
"title"
>
Debian Pure Blends - hacking in your parents' house
</h1>
<p
class
=
"author"
>
Jonas Smedegaard
</p>
<p
class
=
"date"
>
Nitte, Mangalore, October
28
th,
2011
</p>
</div>
<div
class
=
"section slide level1"
id
=
"overview"
>
<h1>
Overview
</h1>
<ul>
<li>
Me and Asia
</li>
<li>
Tricky terms
</li>
<li>
FLOSS Eco System
</li>
<li>
Debian - distro
&
community
</li>
<li>
Customizing Debian
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"me-and-asia"
>
<h1>
Me and Asia
</h1>
<div
class
=
"figure"
>
<img
src
=
"../map.png"
alt
=
"Asia trip"
/><p
class
=
"caption"
>
Asia trip
</p>
</div>
</div>
<div
class
=
"section slide level1"
id
=
"tricky-terms"
>
<h1>
Tricky terms
</h1>
<p>
FLOSS:
<strong>
F
</strong>
ree/
<strong>
L
</strong>
ibre
<strong>
O
</strong>
pen
<strong>
S
</strong>
ource
<strong>
S
</strong>
oftware.
</p>
<p>
Hacking: Being creative with small pieces -- like playing with Lego.
</p>
<p>
Cracking: Breaking digital
"
locks
"
, typically to steal digital data.
</p>
</div>
<div
class
=
"section slide level1"
id
=
"floss-eco-system"
>
<h1>
FLOSS Eco System
</h1>
<div
class
=
"figure"
>
<img
src
=
"../developmentstream.png"
alt
=
"Software Code Stream"
/><p
class
=
"caption"
>
Software Code Stream
</p>
</div>
</div>
<div
class
=
"section slide level1"
id
=
"debian---distro-community"
>
<h1>
Debian - distro
&
community
</h1>
<ul>
<li>
Community
</li>
<li>
Distribution
</li>
<li>
Free!
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian---community"
>
<h1>
Debian - Community
</h1>
<ul>
<li>
~
1000
"
Developers
"
</li>
<li>
~
500
"
Maintainers
"
</li>
<li>
??? actual contributors...
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian---community-structure"
>
<h1>
Debian - Community structure
</h1>
<ul>
<li>
Democracy
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian---community-structure-1"
>
<h1>
Debian - Community structure
</h1>
<ul>
<li><del>
Democracy
</del></li>
<li>
We all obey Debian Free Software Guidelines
</li>
<li>
Almost no hierarchy: Each package maintainer responsible
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian---distribution"
>
<h1>
Debian - Distribution
</h1>
<ul>
<li>
Generic - choices are exposed to the user
</li>
<li>
Mother of other distros
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian-packages"
>
<h1>
Debian packages
</h1>
<ul>
<li>
They all obey Debian Policy
</li>
<li>
Mozilla Iceweasel (Firefox): ~
3
packages (+ ~
70
lang packages)
</li>
<li>
LibreOffice: ~
30
packages (+ ~
90
lang packages)
</li>
<li>
Debian: ~
35.000
packages
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian-packaging---mentors-sponsoring"
>
<h1>
Debian packaging - Mentors + sponsoring
</h1>
<ul>
<li>
Peer review - many eyes see more bugs
</li>
<li>
Education - Debian quality standards
</li>
<li>
Ideals transfer - get help on packaging
</li>
<li>
Mailinglist:
<script
type
=
"text/javascript"
>
<!--
h
=
'lists.debian.org'
;
a
=
'@'
;
n
=
'debian-mentors'
;
e
=
n
+
a
+
h
;
document
.
write
(
'<a h'
+
'ref'
+
'="ma'
+
'ilto'
+
':'
+
e
+
'">'
+
'mailto:debian-mentors@lists.debian.org'
+
'<\/'
+
'a'
+
'>'
);
// -->
</script>
<noscript>
mailto:debian-mentors@lists.debian.org (debian-mentors at lists dot debian dot org)
</noscript></li>
<li>
IRC channel on OFTC.net: #debian-mentors
</li>
<li>
Website:
<a
href
=
"http://mentors.debian.net/"
><code
class
=
"url"
>
http://mentors.debian.net/
</code></a></li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian-packaging---join-teams"
>
<h1>
Debian packaging - Join teams
</h1>
<ul>
<li>
Peer review - many eyes see more bugs
</li>
<li>
Education - Debian quality standards
</li>
<li>
Ideals transfer - get help on packaging
</li>
<li>
Wiki page:
<a
href
=
"http://wiki.debian.org/Teams"
><code
class
=
"url"
>
http://wiki.debian.org/Teams
</code></a></li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian---derivatives"
>
<h1>
Debian - derivatives
</h1>
<ul>
<li>
Knoppix
</li>
<li>
Ubuntu
</li>
<li>
BOSS
</li>
<li>
SWECHA
</li>
<li>
...
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian-deriving"
>
<h1>
Debian deriving
</h1>
<ul>
<li>
Try use
<strong>
live-builder
</strong>
...
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian---blends"
>
<h1>
Debian - blends
</h1>
<ul>
<li>
Optimizing Debian itself for special purpose use
</li>
</ul>
<p>
or
</p>
<ul>
<li>
Merging back derived work into Debian
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian---existing-blends"
>
<h1>
Debian - existing blends
</h1>
<ul>
<li>
Debian Jr
</li>
<li>
Debian Med
</li>
<li>
Debian Edu
</li>
<li>
Debian Science
</li>
<li>
Debian EzGo
</li>
<li>
BrDesktop
</li>
<li>
Debian Accessibility
</li>
<li>
Debian Lex
</li>
<li>
DebiChem
</li>
<li>
Debian GIS
</li>
<li>
Debian Multimedia
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian---future-blends"
>
<h1>
Debian - future blends
</h1>
<ul>
<li>
FreedomBox
</li>
<li>
Debian LAN
</li>
<li>
BOSS?
</li>
<li>
SWECHA?
</li>
<li>
...?
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian-blending"
>
<h1>
Debian blending
</h1>
<ul>
<li>
Join existing teams
</li>
<li>
Convince Debian Developers to create new teams
</li>
<li>
Try use
<strong>
boxer
</strong></li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian-pure-blends---benefits"
>
<h1>
Debian Pure Blends - Benefits
</h1>
<ul>
<li>
backed by Debian - help, bug tracking, translations, etc.
</li>
<li>
teamwork - others might help you refine and maintain your setups
</li>
<li>
common structures - others might take over if you loose interest
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian-pure-blends---downsides"
>
<h1>
Debian Pure Blends - downsides
</h1>
<ul>
<li><strong>
annoying
</strong>
- Debian package maintainers may not like proposed changes
</li>
<li><strong>
slow
</strong>
- stable distribution is released infrequently
</li>
<li><strong>
rigid
</strong>
- all contributions must match Debian Free Software Guidelines
</li>
<li><strong>
complex
</strong>
- packages must obey Debian Policy
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---debian-support-overloading-choices"
>
<h1>
Tech - Debian support overloading choices
</h1>
<ul>
<li>
Debian installer
</li>
<li>
tasksel
</li>
<li>
debconf
</li>
<li>
aptitude
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---examples-of-non-pure-blending"
>
<h1>
Tech - examples of non-pure blending
</h1>
<ul>
<li>
include non-Debian packages or non-packaged stuff
</li>
<li>
include Debian packages from different Debian suite
</li>
<li>
configure system other than via Debian package installation
</li>
<li>
install using non-Debian media
</li>
</ul>
<p>
You don't own your system - you provide one for others to own.
</p>
<p>
So don't refine it like a (sloppy) user: Handle it like a Debian developer!
</p>
</div>
<div
class
=
"section slide level1"
id
=
"tech---debian-generic-setup"
>
<h1>
Tech - Debian, generic setup
</h1>
<ul>
<li>
select package profile(s)
</li>
<li>
install
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---debian-hand-tuned"
>
<h1>
Tech - Debian, hand-tuned
</h1>
<ul>
<li>
select package profile(s)
</li>
<li>
select additional packages
</li>
<li>
install
</li>
<li>
(re)configure packages
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---debian-auto-tuned"
>
<h1>
Tech - Debian, auto-tuned
</h1>
<ul>
<li>
pre-seed package selection
</li>
<li>
pre-seed package configurations
</li>
<li>
install
</li>
<li>
(re)configure non-debconf packages
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---debian-pure-blend-generic"
>
<h1>
Tech - Debian Pure Blend = generic
</h1>
<ul>
<li>
select blend profile
</li>
<li>
install
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---tasks-involved"
>
<h1>
Tech - tasks involved
</h1>
<ul>
<li>
extra software → into Debian officially
</li>
<li>
manual configurations → preseeding
</li>
<li>
maybe create temporary dirty hacks
</li>
<li>
maybe use/create reusable tweaks
</li>
<li>
eliminate dirty hacks and tweaks
</li>
<li>
convince others in Debian to add as tasksel task
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---blends-dev"
>
<h1>
Tech - blends-dev
</h1>
<p>
Tool to help maintain package lists and prospective packages.
</p>
<p>
Example:
<a
href
=
"http://debian-med.alioth.debian.org/tasks/psychology"
><code
class
=
"url"
>
http://debian-med.alioth.debian.org/tasks/psychology
</code></a></p>
</div>
<div
class
=
"section slide level1"
id
=
"tech---dirty-tricks"
>
<h1>
Tech - dirty tricks
</h1>
<p>
Avoid configuration files...
</p>
<ul>
<li>
config.d folders
</li>
<li>
databases
</li>
<li>
networked data
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---tweaks"
>
<h1>
Tech - tweaks
</h1>
<p>
Reusable scripts compatible with one or more of...
</p>
<ul>
<li>
FAI
</li>
<li>
hands-off at http://hands.com/d-i/
</li>
<li>
CFengine
</li>
<li>
Puppet
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---good-style"
>
<h1>
Tech - good style
</h1>
<ul>
<li>
Aptitude
</li>
<li>
debconf
</li>
<li>
Config::Model
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"tech---when-is-it-pure"
>
<h1>
Tech - When is it
"
Pure
"
?
</h1>
<p>
When all is in Debian, with no dirty tricks:
</p>
<ul>
<li>
package selection(s)
</li>
<li>
customizations
</li>
<li>
installation
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"team---getting-involved"
>
<h1>
Team - getting involved
</h1>
<ul>
<li>
identify and isolate tweaks at your own system
</li>
<li>
register missing software - on wiki page or (better!) in Debian BTS
</li>
<li>
write documentation
</li>
<li>
write the dream of how things ought to work
</li>
<li>
wite how details work now
</li>
<li>
discuss downstream (i.e. with users and subdistros) how things work / should work
</li>
<li>
discuss upstream (i.e. with authors) what is possible now / soon
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"team---getting-involved-ii"
>
<h1>
Team - getting involved II
</h1>
<ul>
<li>
write intro for peer enthusiasts
</li>
<li>
decide and document ideal formats - translations, graphics etc.
</li>
<li>
prioritize pending tasks - of various kinds to encourage many different contributions
</li>
<li>
document where it is ok to ask beginners' questions
</li>
<li>
document if beginners can ask for a mentor
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"team---getting-involved-iii"
>
<h1>
Team - getting involved III
</h1>
<ul>
<li>
make illustration
</li>
<li>
make screendumps
</li>
<li>
make fan graphics
</li>
<li>
make desktop backgrounds, CD covers, stickers, etc.
</li>
<li>
Register the project as a DOAP file, and maybe at Ohloh and Freshmeat etc.
</li>
<li>
Register and maintain relevant Debtags
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"team---getting-involved-iv"
>
<h1>
Team - getting involved IV
</h1>
<ul>
<li>
Translate package descriptions
</li>
<li>
Translate debconf dialogs
</li>
<li>
Translate upstream code
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"team---getting-involved-v"
>
<h1>
Team - getting involved V
</h1>
<ul>
<li>
Help integrate contributions from graphics artists, translators and others
</li>
<li>
document decision processes of the team (and Debian and upstreams?)
</li>
<li>
document workflows in teams
</li>
<li>
insist on transparency - not only for code!
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"team---continuous-status-checks"
>
<h1>
Team - Continuous status checks
</h1>
<ul>
<li>
Ask users about their needs - you will forget over time!
</li>
<li>
Ask teams about their tasks - each participant has slightly different perception of the common vision and status
</li>
<li>
Ask upstreams about use: perhaps potentials are missed, or code or persons feel as being abused
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"debian-pure-blends---future"
>
<h1>
Debian Pure Blends - Future
</h1>
<ul>
<li>
debconf dontcare vs. explicit choice of default option
</li>
<li>
debconf query mechanism (and fill buffer from live system)
</li>
<li>
APT explicit choice of alternate dependency/recommendation
</li>
<li>
APT dontcare vs. explicit choice of default dependency/recommendation
</li>
<li>
Config::Model - semantic configfile handling
</li>
</ul>
</div>
<div
class
=
"section slide level1"
id
=
"the-end"
>
<h1>
The End
</h1>
<ul>
<li>
Me:
<script
type
=
"text/javascript"
>
<!--
h
=
'jones.dk'
;
a
=
'@'
;
n
=
'dr'
;
e
=
n
+
a
+
h
;
document
.
write
(
'<a h'
+
'ref'
+
'="ma'
+
'ilto'
+
':'
+
e
+
'">'
+
'<code>'
+
e
+
'</code>'
+
'<\/'
+
'a'
+
'>'
);
// -->
</script>
<noscript>
dr at jones dot dk
</noscript></li>
<li>
Debian:
<a
href
=
"http://www.debian.org"
><code
class
=
"url"
>
http://www.debian.org
</code></a></li>
<li>
Debian Derivatives Census:
<a
href
=
"http://wiki.debian.org/Derivatives/Census"
><code
class
=
"url"
>
http://wiki.debian.org/Derivatives/Census
</code></a></li>
<li>
This talk:
<a
href
=
"http://dr.jones.dk/blends/talk/nitte"
><code
class
=
"url"
>
http://dr.jones.dk/blends/talk/nitte
</code></a></li>
<li>
Illustrations:
<a
href
=
"http://sirireiter.dk/blog/entry/110310/"
><code
class
=
"url"
>
http://sirireiter.dk/blog/entry/
110310
/
</code></a></li>
<li>
Asia trip:
<a
href
=
"http://wiki.jones.dk/DebianAsia2011"
><code
class
=
"url"
>
http://wiki.jones.dk/DebianAsia2011
</code></a></li>
</ul>
</div>
</body>
</html>