diff --git a/2011-pyconde/one/01_slide.md b/2011-pyconde/one/01_slide.md new file mode 100644 index 0000000..d1520be --- /dev/null +++ b/2011-pyconde/one/01_slide.md @@ -0,0 +1,63 @@ +!SLIDE +# Zu Gast in der Python Community + + +!SLIDE center transition=scrollLeft + +![Schnell](schnellnoch.png) + +!SLIDE commandline center incremental transition=scrollLeft + +# First things first + + $ Dankeschön. + +!SLIDE commandline center incremental transition=scrollLeft +# whoami + + $ id + uid=502(bascht) gid=20(leipzig) + groups=21(ruby),22(php),403(pyug) + +!SLIDE bullets incremental transition=scrollLeft +# Beobachtungen + +* Linux! +* Windows! +* Bitbucket! +* Wissenschaftler! +* Praxis!! +* "gehobener" Altersdurchschnitt + +!SLIDE center transition=scrollLeft +# Nerds! +![Nerds](nerds.jpg) + + +!SLIDE transition=scrollLeft +# Gut organisierte Nerds. + + + + +!SLIDE incremental transition=scrollLeft +# Parallelen +* Die CMS Seuche +* Der Packagemanager-War +* WSGI + Rack + +!SLIDE incremental transition=scrollLeft +# Call for Speakers + +* Speaker sind Menschen +* **Macht** es einfach +* Gründet Usergroups +* Geht zu »den Anderen« + +!SLIDE incremental center transition=scrollLeft +# Fragen? + +**@bascht** + +github.com/bascht + diff --git a/2011-pyconde/one/nerds.jpg b/2011-pyconde/one/nerds.jpg new file mode 100644 index 0000000..7844514 Binary files /dev/null and b/2011-pyconde/one/nerds.jpg differ diff --git a/2011-pyconde/one/schnellnoch.png b/2011-pyconde/one/schnellnoch.png new file mode 100644 index 0000000..4b610f6 Binary files /dev/null and b/2011-pyconde/one/schnellnoch.png differ diff --git a/2011-pyconde/one/stairs.m4v b/2011-pyconde/one/stairs.m4v new file mode 100644 index 0000000..7c67da1 Binary files /dev/null and b/2011-pyconde/one/stairs.m4v differ diff --git a/2011-pyconde/showoff.json b/2011-pyconde/showoff.json new file mode 100644 index 0000000..6e34b52 --- /dev/null +++ b/2011-pyconde/showoff.json @@ -0,0 +1 @@ +{ "name": "PyConDE 2011", "sections": [ {"section":"one"} ]} diff --git a/2011-pyconde/static/css/960.css b/2011-pyconde/static/css/960.css new file mode 100644 index 0000000..260fa15 --- /dev/null +++ b/2011-pyconde/static/css/960.css @@ -0,0 +1,653 @@ +/* + 960 Grid System ~ Core CSS. + Learn more ~ http://960.gs/ + + Licensed under GPL and MIT. +*/ + +/* + Forces backgrounds to span full width, + even if there is horizontal scrolling. + Increase this if your layout is wider. + + Note: IE6 works fine without this fix. +*/ + +body { + min-width: 960px; +} + +/* `Container +----------------------------------------------------------------------------------------------------*/ + +.container_12, +.container_16 { + margin-left: auto; + margin-right: auto; + width: 960px; +} + +/* `Grid >> Global +----------------------------------------------------------------------------------------------------*/ + +.grid_1, +.grid_2, +.grid_3, +.grid_4, +.grid_5, +.grid_6, +.grid_7, +.grid_8, +.grid_9, +.grid_10, +.grid_11, +.grid_12, +.grid_13, +.grid_14, +.grid_15, +.grid_16 { + display: inline; + float: left; + margin-left: 10px; + margin-right: 10px; +} + +.push_1, .pull_1, +.push_2, .pull_2, +.push_3, .pull_3, +.push_4, .pull_4, +.push_5, .pull_5, +.push_6, .pull_6, +.push_7, .pull_7, +.push_8, .pull_8, +.push_9, .pull_9, +.push_10, .pull_10, +.push_11, .pull_11, +.push_12, .pull_12, +.push_13, .pull_13, +.push_14, .pull_14, +.push_15, .pull_15 { + position: relative; +} + +.container_12 .grid_3, +.container_16 .grid_4 { + width: 220px; +} + +.container_12 .grid_6, +.container_16 .grid_8 { + width: 460px; +} + +.container_12 .grid_9, +.container_16 .grid_12 { + width: 700px; +} + +.container_12 .grid_12, +.container_16 .grid_16 { + width: 940px; +} + +/* `Grid >> Children (Alpha ~ First, Omega ~ Last) +----------------------------------------------------------------------------------------------------*/ + +.alpha { + margin-left: 0; +} + +.omega { + margin-right: 0; +} + +/* `Grid >> 12 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_12 .grid_1 { + width: 60px; +} + +.container_12 .grid_2 { + width: 140px; +} + +.container_12 .grid_4 { + width: 300px; +} + +.container_12 .grid_5 { + width: 380px; +} + +.container_12 .grid_7 { + width: 540px; +} + +.container_12 .grid_8 { + width: 620px; +} + +.container_12 .grid_10 { + width: 780px; +} + +.container_12 .grid_11 { + width: 860px; +} + +/* `Grid >> 16 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_16 .grid_1 { + width: 40px; +} + +.container_16 .grid_2 { + width: 100px; +} + +.container_16 .grid_3 { + width: 160px; +} + +.container_16 .grid_5 { + width: 280px; +} + +.container_16 .grid_6 { + width: 340px; +} + +.container_16 .grid_7 { + width: 400px; +} + +.container_16 .grid_9 { + width: 520px; +} + +.container_16 .grid_10 { + width: 580px; +} + +.container_16 .grid_11 { + width: 640px; +} + +.container_16 .grid_13 { + width: 760px; +} + +.container_16 .grid_14 { + width: 820px; +} + +.container_16 .grid_15 { + width: 880px; +} + +/* `Prefix Extra Space >> Global +----------------------------------------------------------------------------------------------------*/ + +.container_12 .prefix_3, +.container_16 .prefix_4 { + padding-left: 240px; +} + +.container_12 .prefix_6, +.container_16 .prefix_8 { + padding-left: 480px; +} + +.container_12 .prefix_9, +.container_16 .prefix_12 { + padding-left: 720px; +} + +/* `Prefix Extra Space >> 12 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_12 .prefix_1 { + padding-left: 80px; +} + +.container_12 .prefix_2 { + padding-left: 160px; +} + +.container_12 .prefix_4 { + padding-left: 320px; +} + +.container_12 .prefix_5 { + padding-left: 400px; +} + +.container_12 .prefix_7 { + padding-left: 560px; +} + +.container_12 .prefix_8 { + padding-left: 640px; +} + +.container_12 .prefix_10 { + padding-left: 800px; +} + +.container_12 .prefix_11 { + padding-left: 880px; +} + +/* `Prefix Extra Space >> 16 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_16 .prefix_1 { + padding-left: 60px; +} + +.container_16 .prefix_2 { + padding-left: 120px; +} + +.container_16 .prefix_3 { + padding-left: 180px; +} + +.container_16 .prefix_5 { + padding-left: 300px; +} + +.container_16 .prefix_6 { + padding-left: 360px; +} + +.container_16 .prefix_7 { + padding-left: 420px; +} + +.container_16 .prefix_9 { + padding-left: 540px; +} + +.container_16 .prefix_10 { + padding-left: 600px; +} + +.container_16 .prefix_11 { + padding-left: 660px; +} + +.container_16 .prefix_13 { + padding-left: 780px; +} + +.container_16 .prefix_14 { + padding-left: 840px; +} + +.container_16 .prefix_15 { + padding-left: 900px; +} + +/* `Suffix Extra Space >> Global +----------------------------------------------------------------------------------------------------*/ + +.container_12 .suffix_3, +.container_16 .suffix_4 { + padding-right: 240px; +} + +.container_12 .suffix_6, +.container_16 .suffix_8 { + padding-right: 480px; +} + +.container_12 .suffix_9, +.container_16 .suffix_12 { + padding-right: 720px; +} + +/* `Suffix Extra Space >> 12 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_12 .suffix_1 { + padding-right: 80px; +} + +.container_12 .suffix_2 { + padding-right: 160px; +} + +.container_12 .suffix_4 { + padding-right: 320px; +} + +.container_12 .suffix_5 { + padding-right: 400px; +} + +.container_12 .suffix_7 { + padding-right: 560px; +} + +.container_12 .suffix_8 { + padding-right: 640px; +} + +.container_12 .suffix_10 { + padding-right: 800px; +} + +.container_12 .suffix_11 { + padding-right: 880px; +} + +/* `Suffix Extra Space >> 16 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_16 .suffix_1 { + padding-right: 60px; +} + +.container_16 .suffix_2 { + padding-right: 120px; +} + +.container_16 .suffix_3 { + padding-right: 180px; +} + +.container_16 .suffix_5 { + padding-right: 300px; +} + +.container_16 .suffix_6 { + padding-right: 360px; +} + +.container_16 .suffix_7 { + padding-right: 420px; +} + +.container_16 .suffix_9 { + padding-right: 540px; +} + +.container_16 .suffix_10 { + padding-right: 600px; +} + +.container_16 .suffix_11 { + padding-right: 660px; +} + +.container_16 .suffix_13 { + padding-right: 780px; +} + +.container_16 .suffix_14 { + padding-right: 840px; +} + +.container_16 .suffix_15 { + padding-right: 900px; +} + +/* `Push Space >> Global +----------------------------------------------------------------------------------------------------*/ + +.container_12 .push_3, +.container_16 .push_4 { + left: 240px; +} + +.container_12 .push_6, +.container_16 .push_8 { + left: 480px; +} + +.container_12 .push_9, +.container_16 .push_12 { + left: 720px; +} + +/* `Push Space >> 12 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_12 .push_1 { + left: 80px; +} + +.container_12 .push_2 { + left: 160px; +} + +.container_12 .push_4 { + left: 320px; +} + +.container_12 .push_5 { + left: 400px; +} + +.container_12 .push_7 { + left: 560px; +} + +.container_12 .push_8 { + left: 640px; +} + +.container_12 .push_10 { + left: 800px; +} + +.container_12 .push_11 { + left: 880px; +} + +/* `Push Space >> 16 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_16 .push_1 { + left: 60px; +} + +.container_16 .push_2 { + left: 120px; +} + +.container_16 .push_3 { + left: 180px; +} + +.container_16 .push_5 { + left: 300px; +} + +.container_16 .push_6 { + left: 360px; +} + +.container_16 .push_7 { + left: 420px; +} + +.container_16 .push_9 { + left: 540px; +} + +.container_16 .push_10 { + left: 600px; +} + +.container_16 .push_11 { + left: 660px; +} + +.container_16 .push_13 { + left: 780px; +} + +.container_16 .push_14 { + left: 840px; +} + +.container_16 .push_15 { + left: 900px; +} + +/* `Pull Space >> Global +----------------------------------------------------------------------------------------------------*/ + +.container_12 .pull_3, +.container_16 .pull_4 { + left: -240px; +} + +.container_12 .pull_6, +.container_16 .pull_8 { + left: -480px; +} + +.container_12 .pull_9, +.container_16 .pull_12 { + left: -720px; +} + +/* `Pull Space >> 12 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_12 .pull_1 { + left: -80px; +} + +.container_12 .pull_2 { + left: -160px; +} + +.container_12 .pull_4 { + left: -320px; +} + +.container_12 .pull_5 { + left: -400px; +} + +.container_12 .pull_7 { + left: -560px; +} + +.container_12 .pull_8 { + left: -640px; +} + +.container_12 .pull_10 { + left: -800px; +} + +.container_12 .pull_11 { + left: -880px; +} + +/* `Pull Space >> 16 Columns +----------------------------------------------------------------------------------------------------*/ + +.container_16 .pull_1 { + left: -60px; +} + +.container_16 .pull_2 { + left: -120px; +} + +.container_16 .pull_3 { + left: -180px; +} + +.container_16 .pull_5 { + left: -300px; +} + +.container_16 .pull_6 { + left: -360px; +} + +.container_16 .pull_7 { + left: -420px; +} + +.container_16 .pull_9 { + left: -540px; +} + +.container_16 .pull_10 { + left: -600px; +} + +.container_16 .pull_11 { + left: -660px; +} + +.container_16 .pull_13 { + left: -780px; +} + +.container_16 .pull_14 { + left: -840px; +} + +.container_16 .pull_15 { + left: -900px; +} + +/* `Clear Floated Elements +----------------------------------------------------------------------------------------------------*/ + +/* http://sonspring.com/journal/clearing-floats */ + +.clear { + clear: both; + display: block; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; +} + +/* http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified */ + +.clearfix:before, +.clearfix:after, +.container_12:before, +.container_12:after, +.container_16:before, +.container_16:after { + content: '.'; + display: block; + overflow: hidden; + visibility: hidden; + font-size: 0; + line-height: 0; + width: 0; + height: 0; +} + +.clearfix:after, +.container_12:after, +.container_16:after { + clear: both; +} + +/* + The following zoom:1 rule is specifically for IE6 + IE7. + Move to separate stylesheet if invalid CSS is a problem. +*/ + +.clearfix, +.container_12, +.container_16 { + zoom: 1; +} \ No newline at end of file diff --git a/2011-pyconde/static/css/fg.menu.css b/2011-pyconde/static/css/fg.menu.css new file mode 100644 index 0000000..820db38 --- /dev/null +++ b/2011-pyconde/static/css/fg.menu.css @@ -0,0 +1,114 @@ +/* Styles for jQuery menu widget +Author: Maggie Wachs, maggie@filamentgroup.com +Date: September 2008 +*/ + + +/* REQUIRED STYLES - the menus will only render correctly with these rules */ + +.fg-menu-container { position: absolute; top:0; left:-999px; padding: .4em; overflow: hidden; } +.fg-menu-container.fg-menu-flyout { overflow: visible; } + +.fg-menu, .fg-menu ul { list-style-type:none; padding: 0; margin:0; } + +.fg-menu { position:relative; } +.fg-menu-flyout .fg-menu { position:static; } + +.fg-menu ul { position:absolute; top:0; } +.fg-menu ul ul { top:-1px; } + +.fg-menu-container.fg-menu-ipod .fg-menu-content, +.fg-menu-container.fg-menu-ipod .fg-menu-content ul { background: none !important; } + +.fg-menu.fg-menu-scroll, +.fg-menu ul.fg-menu-scroll { overflow: scroll; overflow-x: hidden; } + +.fg-menu li { clear:both; float:left; width:100%; margin: 0; padding:0; border: 0; } +.fg-menu li li { font-size:1em; } /* inner li font size must be reset so that they don't blow up */ + +.fg-menu-flyout ul ul { padding: .4em; } +.fg-menu-flyout li { position:relative; } + +.fg-menu-scroll { overflow: scroll; overflow-x: hidden; } + +.fg-menu-breadcrumb { margin: 0; padding: 0; } + +.fg-menu-footer { margin-top: .4em; padding: .4em; } +.fg-menu-header { margin-bottom: .4em; padding: .4em; } + +.fg-menu-breadcrumb li { float: left; list-style: none; margin: 0; padding: 0 .2em; font-size: .9em; opacity: .7; } +.fg-menu-breadcrumb li.fg-menu-prev-list, +.fg-menu-breadcrumb li.fg-menu-current-crumb { clear: left; float: none; opacity: 1; } +.fg-menu-breadcrumb li.fg-menu-current-crumb { padding-top: .2em; } + +.fg-menu-breadcrumb a, +.fg-menu-breadcrumb span { float: left; } + +.fg-menu-footer a:link, +.fg-menu-footer a:visited { float:left; width:100%; text-decoration: none; } +.fg-menu-footer a:hover, +.fg-menu-footer a:active { } + +.fg-menu-footer a span { float:left; cursor: pointer; } + +.fg-menu-breadcrumb .fg-menu-prev-list a:link, +.fg-menu-breadcrumb .fg-menu-prev-list a:visited, +.fg-menu-breadcrumb .fg-menu-prev-list a:hover, +.fg-menu-breadcrumb .fg-menu-prev-list a:active { background-image: none; text-decoration:none; } + +.fg-menu-breadcrumb .fg-menu-prev-list a { float: left; padding-right: .4em; } +.fg-menu-breadcrumb .fg-menu-prev-list a .ui-icon { float: left; } + +.fg-menu-breadcrumb .fg-menu-current-crumb a:link, +.fg-menu-breadcrumb .fg-menu-current-crumb a:visited, +.fg-menu-breadcrumb .fg-menu-current-crumb a:hover, +.fg-menu-breadcrumb .fg-menu-current-crumb a:active { display:block; background-image:none; font-size:1.3em; text-decoration:none; } + + + +/* REQUIRED LINK STYLES: links are "display:block" by default; if the menu options are split into + selectable node links and 'next' links, the script floats the node links left and floats the 'next' links to the right */ + +.fg-menu a:link, +.fg-menu a:visited, +.fg-menu a:hover, +.fg-menu a:active { float:left; width:92%; padding:.3em 3%; text-decoration:none; outline: 0 !important; } + +.fg-menu a { border: 1px dashed transparent; } + +.fg-menu a.ui-state-default:link, +.fg-menu a.ui-state-default:visited, +.fg-menu a.ui-state-default:hover, +.fg-menu a.ui-state-default:active, +.fg-menu a.ui-state-hover:link, +.fg-menu a.ui-state-hover:visited, +.fg-menu a.ui-state-hover:hover, +.fg-menu a.ui-state-hover:active, + .fg-menu a.ui-state-active:link, + .fg-menu a.ui-state-active:visited, + .fg-menu a.ui-state-active:hover, +.fg-menu a.ui-state-active:active { border-style: solid; font-weight: normal; } + +.fg-menu a span { display:block; cursor:pointer; } + + + /* SUGGESTED STYLES - for use with jQuery UI Themeroller CSS */ + +.fg-menu-indicator span { float:left; } +.fg-menu-indicator span.ui-icon { float:right; } + +.fg-menu-content.ui-widget-content, +.fg-menu-content ul.ui-widget-content { border:0; } + + +/* ICONS AND DIVIDERS */ + +.fg-menu.fg-menu-has-icons a:link, +.fg-menu.fg-menu-has-icons a:visited, +.fg-menu.fg-menu-has-icons a:hover, +.fg-menu.fg-menu-has-icons a:active { padding-left:20px; } + +.fg-menu .horizontal-divider hr, .fg-menu .horizontal-divider span { padding:0; margin:5px .6em; } +.fg-menu .horizontal-divider hr { border:0; height:1px; } +.fg-menu .horizontal-divider span { font-size:.9em; text-transform: uppercase; padding-left:.2em; } + diff --git a/2011-pyconde/static/css/onepage.css b/2011-pyconde/static/css/onepage.css new file mode 100644 index 0000000..1f047e7 --- /dev/null +++ b/2011-pyconde/static/css/onepage.css @@ -0,0 +1,60 @@ +/* Screen */ +@media screen { + .slide { + margin: 10px; + padding: 0; + width: 1020px; + height: 740px; + max-height: 740px !important; + margin-left:auto; + margin-right:auto; + overflow:hidden; + border: 1px solid #333; + page-break-after: always + } +} + +/* Print */ +@media print { + .slide, .preso { + margin: 10px; + padding: 0; + width: 800px; + height: 600px; + overflow:hidden; + border: none; + page-break-after: always + } +} + +/* iPhone */ +/* Portrait */ +@media screen and (max-width: 320px) +{ + .preso { + margin: 10px; + padding: 0; + width: 320px; + min-height: 480px; + margin-left:auto; + margin-right:auto; +/* overflow:hidden;*/ + border: 1px solid #333; + page-break-after: always + } +} +/* Landscape */ +@media screen and (min-width: 321px) +{ + .preso { + margin: 10px; + padding: 0; + width: 480px; + min-height: 320px; + margin-left:auto; + margin-right:auto; +/* overflow:hidden;*/ + border: 1px solid #333; + page-break-after: always + } +} diff --git a/2011-pyconde/static/css/pdf.css b/2011-pyconde/static/css/pdf.css new file mode 100644 index 0000000..ea1989b --- /dev/null +++ b/2011-pyconde/static/css/pdf.css @@ -0,0 +1,12 @@ +.slide { + margin: 0; + padding: 0; + width: 100%; + height: 740px; + margin-left:auto; + margin-right:auto; + overflow:hidden; + page-break-after: always +} + +@page { size: A4 landscape } diff --git a/2011-pyconde/static/css/presenter.css b/2011-pyconde/static/css/presenter.css new file mode 100644 index 0000000..89dde86 --- /dev/null +++ b/2011-pyconde/static/css/presenter.css @@ -0,0 +1,66 @@ +div.zoomed { + zoom: 50%; + -moz-transform: scale(50%); +} + +#preso { margin-top: 20px; } + +#main h2 { + text-align: left; + font-size: 1.5em; +} + +#progress { + padding: 10px; +} +#slideSource { + padding: 10px; + background: #9d9; +} + +#preview { + min-height: 430px; + background: #777; +} + +#links { + background: #fff; + padding: 10px; + text-align: right; +} +#links a { color: #000; } + +#slidemenu { + background: #fff; + padding: 10px; +} +#slidemenu ul li { + padding: 5px; +} + +#sidebar { background: #ddd; } + +#notes { + background: #ff9; + font-size: 1.5em; + min-height: 150px; + padding: 20px; +} + +.menu { + height: 350px; + max-height: 350px; + overflow:auto; +} + +.menu a { + display: block; + color: #000; +} +.menu > ul > li > ul { + padding-left: 20px; +} +.menu > ul > li > a { + padding: 10px; + background: #eee; +} diff --git a/2011-pyconde/static/css/sh_style.css b/2011-pyconde/static/css/sh_style.css new file mode 100644 index 0000000..12be84b --- /dev/null +++ b/2011-pyconde/static/css/sh_style.css @@ -0,0 +1,66 @@ +pre.sh_sourceCode { + background-color: white; + color: black; + font-style: normal; + font-weight: normal; +} + +pre.sh_sourceCode .sh_keyword { color: blue; font-weight: bold; } /* language keywords */ +pre.sh_sourceCode .sh_type { color: darkgreen; } /* basic types */ +pre.sh_sourceCode .sh_usertype { color: teal; } /* user defined types */ +pre.sh_sourceCode .sh_string { color: red; font-family: monospace; } /* strings and chars */ +pre.sh_sourceCode .sh_regexp { color: orange; font-family: monospace; } /* regular expressions */ +pre.sh_sourceCode .sh_specialchar { color: pink; font-family: monospace; } /* e.g., \n, \t, \\ */ +pre.sh_sourceCode .sh_comment { color: brown; font-style: italic; } /* comments */ +pre.sh_sourceCode .sh_number { color: purple; } /* literal numbers */ +pre.sh_sourceCode .sh_preproc { color: darkblue; font-weight: bold; } /* e.g., #include, import */ +pre.sh_sourceCode .sh_symbol { color: darkred; } /* */ +pre.sh_sourceCode .sh_function { color: black; font-weight: bold; } /* function calls and declarations */ +pre.sh_sourceCode .sh_cbracket { color: red; } /* block brackets (e.g., {, }) */ +pre.sh_sourceCode .sh_todo { font-weight: bold; background-color: cyan; } /* TODO and FIXME */ + +/* Predefined variables and functions (for instance glsl) */ +pre.sh_sourceCode .sh_predef_var { color: darkblue; } +pre.sh_sourceCode .sh_predef_func { color: darkblue; font-weight: bold; } + +/* for OOP */ +pre.sh_sourceCode .sh_classname { color: teal; } + +/* line numbers (not yet implemented) */ +pre.sh_sourceCode .sh_linenum { color: black; font-family: monospace; } + +/* Internet related */ +pre.sh_sourceCode .sh_url { color: blue; text-decoration: underline; font-family: monospace; } + +/* for ChangeLog and Log files */ +pre.sh_sourceCode .sh_date { color: blue; font-weight: bold; } +pre.sh_sourceCode .sh_time, pre.sh_sourceCode .sh_file { color: darkblue; font-weight: bold; } +pre.sh_sourceCode .sh_ip, pre.sh_sourceCode .sh_name { color: darkgreen; } + +/* for Prolog, Perl... */ +pre.sh_sourceCode .sh_variable { color: darkgreen; } + +/* for LaTeX */ +pre.sh_sourceCode .sh_italics { color: darkgreen; font-style: italic; } +pre.sh_sourceCode .sh_bold { color: darkgreen; font-weight: bold; } +pre.sh_sourceCode .sh_underline { color: darkgreen; text-decoration: underline; } +pre.sh_sourceCode .sh_fixed { color: green; font-family: monospace; } +pre.sh_sourceCode .sh_argument { color: darkgreen; } +pre.sh_sourceCode .sh_optionalargument { color: purple; } +pre.sh_sourceCode .sh_math { color: orange; } +pre.sh_sourceCode .sh_bibtex { color: blue; } + +/* for diffs */ +pre.sh_sourceCode .sh_oldfile { color: orange; } +pre.sh_sourceCode .sh_newfile { color: darkgreen; } +pre.sh_sourceCode .sh_difflines { color: blue; } + +/* for css */ +pre.sh_sourceCode .sh_selector { color: purple; } +pre.sh_sourceCode .sh_property { color: blue; } +pre.sh_sourceCode .sh_value { color: darkgreen; font-style: italic; } + +/* other */ +pre.sh_sourceCode .sh_section { color: black; font-weight: bold; } +pre.sh_sourceCode .sh_paren { color: red; } +pre.sh_sourceCode .sh_attribute { color: darkgreen; } diff --git a/2012-cologne-rb-faceblock/one/fry.jpg b/2012-cologne-rb-faceblock/one/fry.jpg new file mode 100644 index 0000000..6034140 Binary files /dev/null and b/2012-cologne-rb-faceblock/one/fry.jpg differ diff --git a/2012-cologne-rb-faceblock/one/map.png b/2012-cologne-rb-faceblock/one/map.png new file mode 100644 index 0000000..8280588 Binary files /dev/null and b/2012-cologne-rb-faceblock/one/map.png differ diff --git a/2012-cologne-rb-faceblock/one/offline.png b/2012-cologne-rb-faceblock/one/offline.png new file mode 100644 index 0000000..441986c Binary files /dev/null and b/2012-cologne-rb-faceblock/one/offline.png differ diff --git a/2012-cologne-rb-faceblock/one/offline1.png b/2012-cologne-rb-faceblock/one/offline1.png new file mode 100644 index 0000000..be7ece0 Binary files /dev/null and b/2012-cologne-rb-faceblock/one/offline1.png differ diff --git a/2012-cologne-rb-faceblock/one/peta.png b/2012-cologne-rb-faceblock/one/peta.png new file mode 100644 index 0000000..902c6a1 Binary files /dev/null and b/2012-cologne-rb-faceblock/one/peta.png differ diff --git a/2012-cologne-rb-faceblock/one/stats.png b/2012-cologne-rb-faceblock/one/stats.png new file mode 100644 index 0000000..9275363 Binary files /dev/null and b/2012-cologne-rb-faceblock/one/stats.png differ diff --git a/2012-cologne-rb-faceblock/one/zuck.png b/2012-cologne-rb-faceblock/one/zuck.png new file mode 100644 index 0000000..c68c94f Binary files /dev/null and b/2012-cologne-rb-faceblock/one/zuck.png differ diff --git a/2012-cologne-rb-faceblock/showoff.json b/2012-cologne-rb-faceblock/showoff.json new file mode 100644 index 0000000..ad987d1 --- /dev/null +++ b/2012-cologne-rb-faceblock/showoff.json @@ -0,0 +1 @@ +{ "name": "My Preso", "sections": [ {"section":"one"} ]} diff --git a/2012-cologne-rb-faceblock/style.css b/2012-cologne-rb-faceblock/style.css new file mode 100644 index 0000000..9c7a59a --- /dev/null +++ b/2012-cologne-rb-faceblock/style.css @@ -0,0 +1,27 @@ +body { +} + +.slide { + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); +} + +.content { + font-family: "Ubuntu Mono", Courier, monospace; + text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25); + +} + +.subsection h1, +.subsection h2 { + font-weight: bold; + background-color: #750909; +} + +h1, h2 { + /* color: rgb(79, 180, 226); */ +} diff --git a/2012-cologne-rb-vagrant/notes.md b/2012-cologne-rb-vagrant/notes.md new file mode 100644 index 0000000..e69de29 diff --git a/2012-cologne-rb-vagrant/puppet/01_intro.md b/2012-cologne-rb-vagrant/puppet/01_intro.md new file mode 100644 index 0000000..ba6a309 --- /dev/null +++ b/2012-cologne-rb-vagrant/puppet/01_intro.md @@ -0,0 +1,124 @@ +!SLIDE +## Kochen mit Vagrant & Puppet ## +### Cologne.rb · 20.06.2012 ### + +Sebastian Schulze · @bascht · github.com/bascht + +!SLIDE subsection +# Vagrant # + +!SLIDE +## Tool zur Verwaltung und Beschreibung von virtuellen Maschinen. ## + +!SLIDE center + +> »Geschnittenes Brot«. + +!SLIDE smbullets incremental +# Über mich + +* Freiberuflicher DevOp +* In-House Sisyphos +* Zwischen Development, Testing & Deployment + +!SLIDE center + +![Level of care](levelofcare.png) + +!SLIDE incremental smaller +# Keine Lust… + +* …sich mit Formatierung herumzuschlagen: **Markdown** +* …Pakte von Hand zu installieren: **Bundler** +* …virtuelle Maschinen zu pflegen: **Vagrant** +* …Serverkonfigurationen von Hand zu pflegen: **Puppet** + +!SLIDE +# Infrastructure as Code + +!SLIDE code smaller + + @@@ ruby + Vagrant::Config.run do |config| + config.vm.name = "colognerb" + config.vm.box = "base" + config.vm.box_url = "http://files.vagrantup.com/lucid32.box" + + config.vm.customize ["modifyvm", :id, "--memory", "512"] + config.vm.customize ["modifyvm", :id, "--cpus", "2"] + + config.vm.network :hostonly, "33.33.33.42" + end + + + +!SLIDE center +![VirtualBox](virtualbox.png) + +!SLIDE commandline incremental +# DSL für VBoxManage + + $ cat .vagrant + {"active":{"default":"d7ab1994-ed44-4857-88bc-eb6c51dec09a"}} + + $ vboxmanage list runningvms + "machine_1340096090" {d7ab1994-ed44-4857-88bc-eb6c51dec09a} + +!SLIDE incremental center +## Lifecycle-Management +(Bingo!) + +* `1 UP` +* `2 SUSPEND` +* `3 HALT` +* `4 DESTROY` +* `6 GOTO 1` + +!SLIDE incremental commandline center +## OS X Goodness + + $ gem install vagrant-dns + +!SLIDE center +# ✔ Hardware + +!SLIDE subsection +# Puppet + +!SLIDE +# CMS + +!SLIDE incremental +## Configuration Management Software + +* …wie Chef. +* …oder CFEngine. +* …oder Perl. + +!SLIDE center +> Woanders ist auch scheiße. + +!SLIDE incremental +# Puppet + +## Nodes +## Manifests +### Klassen +### Defines +## Templates +## Files + +!SLIDE code smaller center +# (Fast) OS-Agnostisch. + +!SLIDE code smaller center +# (Fast) lesbar. + + package { "vim": ensure => latest } + package { "emacs": ensure => absent } + + node "cologne.onruby" { } + +!SLIDE +## Demo-Time. + diff --git a/2012-cologne-rb-vagrant/puppet/levelofcare.png b/2012-cologne-rb-vagrant/puppet/levelofcare.png new file mode 100644 index 0000000..f21300e Binary files /dev/null and b/2012-cologne-rb-vagrant/puppet/levelofcare.png differ diff --git a/2012-cologne-rb-vagrant/puppet/levelofcare.svg b/2012-cologne-rb-vagrant/puppet/levelofcare.svg new file mode 100644 index 0000000..da483fa --- /dev/null +++ b/2012-cologne-rb-vagrant/puppet/levelofcare.svg @@ -0,0 +1,118 @@ + + + + diff --git a/2012-cologne-rb-vagrant/puppet/virtualbox.png b/2012-cologne-rb-vagrant/puppet/virtualbox.png new file mode 100644 index 0000000..025a251 Binary files /dev/null and b/2012-cologne-rb-vagrant/puppet/virtualbox.png differ diff --git a/2012-cologne-rb-vagrant/showoff.json b/2012-cologne-rb-vagrant/showoff.json new file mode 100644 index 0000000..c2cd27d --- /dev/null +++ b/2012-cologne-rb-vagrant/showoff.json @@ -0,0 +1,7 @@ +{ + "name": "Kochen mit Vagrant und Puppet", + "sections": [ + {"section" : "vagrant"}, + {"section" : "puppet"} + ] +} diff --git a/2012-cologne-rb-vagrant/style.css b/2012-cologne-rb-vagrant/style.css new file mode 100644 index 0000000..8821b9a --- /dev/null +++ b/2012-cologne-rb-vagrant/style.css @@ -0,0 +1,31 @@ +body { +} +.slide { + background-image: linear-gradient(bottom, rgb(219,219,219) 21%, rgb(255,255,255) 85%); + background-image: -o-linear-gradient(bottom, rgb(219,219,219) 21%, rgb(255,255,255) 85%); + background-image: -moz-linear-gradient(bottom, rgb(219,219,219) 21%, rgb(255,255,255) 85%); + background-image: -webkit-linear-gradient(bottom, rgb(219,219,219) 21%, rgb(255,255,255) 85%); + background-image: -ms-linear-gradient(bottom, rgb(219,219,219) 21%, rgb(255,255,255) 85%); + + background-image: -webkit-gradient( + linear, + left bottom, + left top, + color-stop(0.21, rgb(219,219,219)), + color-stop(0.85, rgb(255,255,255)) + ); +} + +.content { + font-family: "Ubuntu", Courier, monospace; +} + +.subsection h1, +.subsection h2 { + font-weight: bold; + background-color: #750909; +} + +h1, h2 { + /* color: rgb(79, 180, 226); */ +} diff --git a/2014-cologne-js/Gruntfile.js b/2014-cologne-js/Gruntfile.js new file mode 100644 index 0000000..1baf966 --- /dev/null +++ b/2014-cologne-js/Gruntfile.js @@ -0,0 +1,137 @@ +/* global module:false */ +module.exports = function(grunt) { + var port = grunt.option('port') || 8000; + // Project configuration + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + meta: { + banner: + '/*!\n' + + ' * reveal.js <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd, HH:MM") %>)\n' + + ' * http://lab.hakim.se/reveal-js\n' + + ' * MIT licensed\n' + + ' *\n' + + ' * Copyright (C) 2014 Hakim El Hattab, http://hakim.se\n' + + ' */' + }, + + qunit: { + files: [ 'test/*.html' ] + }, + + uglify: { + options: { + banner: '<%= meta.banner %>\n' + }, + build: { + src: 'js/reveal.js', + dest: 'js/reveal.min.js' + } + }, + + cssmin: { + compress: { + files: { + 'css/reveal.min.css': [ 'css/reveal.css' ] + } + } + }, + + sass: { + main: { + files: { + 'css/theme/default.css': 'css/theme/source/default.scss', + 'css/theme/beige.css': 'css/theme/source/beige.scss', + 'css/theme/night.css': 'css/theme/source/night.scss', + 'css/theme/serif.css': 'css/theme/source/serif.scss', + 'css/theme/simple.css': 'css/theme/source/simple.scss', + 'css/theme/sky.css': 'css/theme/source/sky.scss', + 'css/theme/moon.css': 'css/theme/source/moon.scss', + 'css/theme/solarized.css': 'css/theme/source/solarized.scss', + 'css/theme/blood.css': 'css/theme/source/blood.scss' + } + } + }, + + jshint: { + options: { + curly: false, + eqeqeq: true, + immed: true, + latedef: true, + newcap: true, + noarg: true, + sub: true, + undef: true, + eqnull: true, + browser: true, + expr: true, + globals: { + head: false, + module: false, + console: false, + unescape: false + } + }, + files: [ 'Gruntfile.js', 'js/reveal.js' ] + }, + + connect: { + server: { + options: { + port: port, + base: '.' + } + } + }, + + zip: { + 'reveal-js-presentation.zip': [ + 'index.html', + 'css/**', + 'js/**', + 'lib/**', + 'images/**', + 'plugin/**' + ] + }, + + watch: { + main: { + files: [ 'Gruntfile.js', 'js/reveal.js', 'css/reveal.css' ], + tasks: 'default' + }, + theme: { + files: [ 'css/theme/source/*.scss', 'css/theme/template/*.scss' ], + tasks: 'themes' + } + } + + }); + + // Dependencies + grunt.loadNpmTasks( 'grunt-contrib-qunit' ); + grunt.loadNpmTasks( 'grunt-contrib-jshint' ); + grunt.loadNpmTasks( 'grunt-contrib-cssmin' ); + grunt.loadNpmTasks( 'grunt-contrib-uglify' ); + grunt.loadNpmTasks( 'grunt-contrib-watch' ); + grunt.loadNpmTasks( 'grunt-contrib-sass' ); + grunt.loadNpmTasks( 'grunt-contrib-connect' ); + grunt.loadNpmTasks( 'grunt-zip' ); + + // Default task + grunt.registerTask( 'default', [ 'jshint', 'cssmin', 'uglify', 'qunit' ] ); + + // Theme task + grunt.registerTask( 'themes', [ 'sass' ] ); + + // Package presentation to archive + grunt.registerTask( 'package', [ 'default', 'zip' ] ); + + // Serve presentation locally + grunt.registerTask( 'serve', [ 'connect', 'watch' ] ); + + // Run tests + grunt.registerTask( 'test', [ 'jshint', 'qunit' ] ); + +}; diff --git a/2014-cologne-js/README.md b/2014-cologne-js/README.md new file mode 100644 index 0000000..d2ce4be --- /dev/null +++ b/2014-cologne-js/README.md @@ -0,0 +1,933 @@ +# reveal.js [![Build Status](https://travis-ci.org/hakimel/reveal.js.png?branch=master)](https://travis-ci.org/hakimel/reveal.js) + +A framework for easily creating beautiful presentations using HTML. [Check out the live demo](http://lab.hakim.se/reveal-js/). + +reveal.js comes with a broad range of features including [nested slides](https://github.com/hakimel/reveal.js#markup), [markdown contents](https://github.com/hakimel/reveal.js#markdown), [PDF export](https://github.com/hakimel/reveal.js#pdf-export), [speaker notes](https://github.com/hakimel/reveal.js#speaker-notes) and a [JavaScript API](https://github.com/hakimel/reveal.js#api). It's best viewed in a browser with support for CSS 3D transforms but [fallbacks](https://github.com/hakimel/reveal.js/wiki/Browser-Support) are available to make sure your presentation can still be viewed elsewhere. + + +#### More reading: +- [Installation](#installation): Step-by-step instructions for getting reveal.js running on your computer. +- [Changelog](https://github.com/hakimel/reveal.js/releases): Up-to-date version history. +- [Examples](https://github.com/hakimel/reveal.js/wiki/Example-Presentations): Presentations created with reveal.js, add your own! +- [Browser Support](https://github.com/hakimel/reveal.js/wiki/Browser-Support): Explanation of browser support and fallbacks. + +## Online Editor + +Presentations are written using HTML or markdown but there's also an online editor for those of you who prefer a graphical interface. Give it a try at [http://slid.es](http://slid.es). + + +## Instructions + +### Markup + +Markup hierarchy needs to be ``