Liebe Dein Frontend wie Dich selbst! HAML & SASS & COMPASS & less

Liebe Dein Frontend
                      wie Dich selbst.



                          haml & sass & compass & less
                          02.09.2009
                          Rails-Konferenz 2009
                          Jan Krutisch <jan.krutisch@mindmatters.de>
                          mindmatters GmbH & Co. KG

Donnerstag, 3. September 2009
(disclaimer)




Donnerstag, 3. September 2009
HAML

Donnerstag, 3. September 2009
http://haml-lang.com/



Donnerstag, 3. September 2009
(X)HTML Abstraction
                Markup Language


Donnerstag, 3. September 2009
Nur 'ne neue
                Template-Engine?


Donnerstag, 3. September 2009
<em>
                <% "was ist falsch an
                erb or erubis?" %>
                </em>

Donnerstag, 3. September 2009
Nix.


Donnerstag, 3. September 2009
Mächtig.
Donnerstag, 3. September 2009
Flexibel.




Donnerstag, 3. September 2009
Ausreichend schnell.




Donnerstag, 3. September 2009
ABER!



Donnerstag, 3. September 2009
mirscheissegal


Donnerstag, 3. September 2009
1) Ich habe Kontrolle
                über meinen
                Template-Code


Donnerstag, 3. September 2009
2) Ich bin ein
                disziplinierter Coder


Donnerstag, 3. September 2009
3) Ich schreib mein
                HTML selber.


Donnerstag, 3. September 2009
Andere Sichtweise




Donnerstag, 3. September 2009
(x)HTML
                =
                XML


Donnerstag, 3. September 2009
Tagsoup


                                Text




Donnerstag, 3. September 2009
HTML-Tags =
                                Redundanz




Donnerstag, 3. September 2009
<div>

                </div>


Donnerstag, 3. September 2009
<div>
                                Re d
                    und
                </div>                 an t
                                              !


Donnerstag, 3. September 2009
ERB = Zu Nachsichtig



Donnerstag, 3. September 2009
(Zu agnostisch)



Donnerstag, 3. September 2009
de x .e r b
         in     <%= render :partial => 'head' %>
                ...
                <%= render :partial => 'foot' %>
              e ad .e r b
        _h
                <body>

            foo t .e r b
         _
                </body>

Donnerstag, 3. September 2009
found via google search, source unknown
Donnerstag, 3. September 2009
"There must be
    a better way"™




Donnerstag, 3. September 2009
Abstrahieren!




Donnerstag, 3. September 2009
HAML



Donnerstag, 3. September 2009
Kompakt



Donnerstag, 3. September 2009
Keine Redundanzen



Donnerstag, 3. September 2009
Wacht über die
                Dokumentenstruktur


Donnerstag, 3. September 2009
Gibt tollen HTML-
                Code aus.


Donnerstag, 3. September 2009
installation als gem
                &
                rails plugin


Donnerstag, 3. September 2009
> gem install haml
                > cd rails_app
                > haml --rails .


Donnerstag, 3. September 2009
(Library/
                commandline tool)


Donnerstag, 3. September 2009
Tags!



Donnerstag, 3. September 2009
%table
                  %tr
                    %td Hey there




Donnerstag, 3. September 2009
%table
                  %tr
                    %td Hey there

                                Magic!

               <table>
                 <tr>
                   <td>Hey there</td>
                 </tr>
               </table>




Donnerstag, 3. September 2009
%table
                  %tr
                    %td
                       Hey there

                                  Magic!
               <table>
                 <tr>
                   <td>
                      Hey there
                   </td>
                 </tr>
               </table>



Donnerstag, 3. September 2009
Self-closing tags



Donnerstag, 3. September 2009
%foo/
                                Magic!

               <foo/>




Donnerstag, 3. September 2009
automagisch für:
                   •meta
                   •img
                   •link
                   •script
                   •br
                   •hr
Donnerstag, 3. September 2009
Whitespace control



Donnerstag, 3. September 2009
(für die dämlichen
                Browserbugs)


Donnerstag, 3. September 2009
%blockquote<
                  %div
                    Foo!

                                Magic!

               <blockquote><div>
                 Foo!
               </div></blockquote>




Donnerstag, 3. September 2009
%img
                %img>
                %img
                                Magic!

               <img /><img /><img />




Donnerstag, 3. September 2009
Attribute!



Donnerstag, 3. September 2009
%head{ :name => "doc_head" }
                  %script{ 'type' => "text/" + "javascript",
                           :src   => "javascripts/script_#{2 + 7}" }


                                           Magic!

               <head name='doc_head'>
                 <script src='/docs/rdoc/javascripts/script_9' type='text/javascript'>
                 </script>
               </head>




Donnerstag, 3. September 2009
%head{ :name => "doc_head" }                  De p
                  %script{ 'type' => "text/" + "javascript",       re    c at
                           :src   => "javascripts/script_#{2 + 7}" }
                                                                                e d!
                                           Magic!

               <head name='doc_head'>
                 <script src='/docs/rdoc/javascripts/script_9' type='text/javascript'>
                 </script>
               </head>




Donnerstag, 3. September 2009
%head(name="doc_head")
                  %script(type="text/javascript",
                           src="javascripts/script_#{2 + 7}")


                                           Magic!

               <head name='doc_head'>
                 <script src='/docs/rdoc/javascripts/script_9' type='text/javascript'>
                 </script>
               </head>




Donnerstag, 3. September 2009
Attribut-Helper



Donnerstag, 3. September 2009
def html_attrs(lang = 'en-US')
                  {
                    :xmlns => "http://www.w3.org/1999/xhtml",
                    'xml:lang' => lang,
                    :lang => lang
                  }
                end




Donnerstag, 3. September 2009
%html{html_attrs(lang = 'de-DE')}



                                Magic!

               <html lang='de-DE' xml:lang='de-DE'
               xmlns='http://www.w3.org/1999/xhtml'>
               </html>




Donnerstag, 3. September 2009
Spezialgelagerter
                Sonderfall:


Donnerstag, 3. September 2009
IDs & Klassen



Donnerstag, 3. September 2009
#aye_dee
                 .klazz
                   Aha!

                                Magic!

               <div id='aye_dee'>
                 <div class='klazz'>
                   Aha!
                 </div>
               </div>



Donnerstag, 3. September 2009
Ruby!



Donnerstag, 3. September 2009
%p= "Yay".downcase

                                Magic!

               <p>yay</p>




Donnerstag, 3. September 2009
%p&= "<b>Yay</b>".downcase

                                Magic!

               <p>&lt;b&gt;yay&lt;/b&gt;</p>




Donnerstag, 3. September 2009
%p!= "<b>Yay</b>".downcase

                                Magic!

               <p><b>yay</b></p>




Donnerstag, 3. September 2009
%p= "<b>Yay</b>".downcase

                                Magic!

               <p><b>yay</b></p>




Donnerstag, 3. September 2009
%p= "<b>Yay</b>".downcase

                                Magic!

               <p>&lt;b&gt;yay&lt;/b&gt;</p>




Donnerstag, 3. September 2009
:escape_html



Donnerstag, 3. September 2009
%p== #{followers} Followers


                                Magic!

               <p>120231373274987476 Followers</p>




Donnerstag, 3. September 2009
De p
                                              re
               %p== #{followers} Followers c a t
                                                   e d!
                                Magic!

               <p>120231373274987476 Followers</p>




Donnerstag, 3. September 2009
%p #{followers} Followers


                                Magic!

               <p>120231373274987476 Followers</p>




Donnerstag, 3. September 2009
(siehe oben)



Donnerstag, 3. September 2009
%pre~ "YaynHey".downcase


                                Magic!

               <pre>yay&#x000A;hey</pre>




Donnerstag, 3. September 2009
%ul
                 - %w{one two three}.each do |word|
                   %li= word


                                  Magic!
               <ul>
                 <li>one</li>
                 <li>two</li>
                 <li>three</li>
               </ul>




Donnerstag, 3. September 2009
Auto-IDs und -Klassen



Donnerstag, 3. September 2009
%ul
                 - ['foo', 'bar'].each do |el|
                   %li[el]= el

                                   Magic!
               <ul>
                 <li class='string' id='string_2970900'>foo</li>
                 <li class='string' id='string_2970890'>bar</li>
               </ul>




Donnerstag, 3. September 2009
Filter



Donnerstag, 3. September 2009
:textile
                 h1. Header

                     Hello _world_


                                       Magic!
               <h1>Header</h1>


                       <p>Hello <em>world</em></p>




Donnerstag, 3. September 2009
Verfügbare Filter
                   ‣ plain        ‣ sass
                   ‣ javascript   ‣ textile
                   ‣ escaped      ‣ markdown
                   ‣ ruby         ‣ maruku
                   ‣ preserve     ‣ cdata
                   ‣ erb          ‣ roll yer own

Donnerstag, 3. September 2009
Kommentare



Donnerstag, 3. September 2009
/ This is a comment


                                Magic!


               <!-- This is a comment -->




Donnerstag, 3. September 2009
/[if IE]
                 %a{ :href => 'http://www.mozilla.com/en-US/firefox/' }
                   %h1 Get Firefox!



                                     Magic!
               <!--[if IE]>
                 <a href="http://www.getfirefox.com/">
                   <h1>Get Firefox!</h1>
                 </a>
               <![endif]-->




Donnerstag, 3. September 2009
-# A silent comment




Donnerstag, 3. September 2009
-# A silent comment

                                Magic!




Donnerstag, 3. September 2009
Und viel mehr.



Donnerstag, 3. September 2009
atlin.com/docs/rdoc/ classes/Haml.html
   http://haml.hamptonc
Donnerstag, 3. September 2009
F.A.Q.



Donnerstag, 3. September 2009
Performance



Donnerstag, 3. September 2009
Ohne Rails



Donnerstag, 3. September 2009
require 'rubygems'
                require 'haml'
                template = open('simple.haml').read
                engine = Haml::Engine.new(template)
                puts engine.render




Donnerstag, 3. September 2009
template = <<END
            %h1= foo
            END
            obj = Object.new
            engine =
              Haml::Engine.new(template).def_method(obj, :render, :foo)
            puts obj.render(:foo => 'bar')




Donnerstag, 3. September 2009
Migration



Donnerstag, 3. September 2009
SASS
Donnerstag, 3. September 2009
http://sass-lang.com/



Donnerstag, 3. September 2009
Syntactically
                Awesome StyleSheets


Donnerstag, 3. September 2009
Warum?



Donnerstag, 3. September 2009
found via google search, source unknown
Donnerstag, 3. September 2009
Warum?



Donnerstag, 3. September 2009
Keine Variablen/
                Konstanten


Donnerstag, 3. September 2009
Keine Abstraktionen



Donnerstag, 3. September 2009
Kein „echtes“
                Kaskadieren


Donnerstag, 3. September 2009
Ein paar überflüssige
                Zeichen


Donnerstag, 3. September 2009
Installation



Donnerstag, 3. September 2009
(kommt mit haml)



Donnerstag, 3. September 2009
stylesheets/sass/screen.sass
                                Magic!

                stylesheets/screen.css



Donnerstag, 3. September 2009
Simples




Donnerstag, 3. September 2009
#main
                 :color #0f0
                 :width 300px
                 p
                   :color #030
                                    Magic!

               #main {
                 color: #0f0;
                 width: 300px; }
                 #main p {
                   color: #030; }




Donnerstag, 3. September 2009
a l te
             #main                       rna
               color: #0f0                     t i ve
                                                        syn
               width: 300px
               p                                              tax
                 color: #030

                                                   Magic!

               #main {
                 color: #0f0;
                 width: 300px; }
                 #main p {
                   color: #030; }




Donnerstag, 3. September 2009
(
                Könnte sinnvoll sein in Situationen mit
                Migrationshintergrund.
                )




Donnerstag, 3. September 2009
References
                      on parent




Donnerstag, 3. September 2009
a
                     color: #0f0
                     &:hover
                       color: #0ff

                                     Magic!

               a {
                 color: #0f0; }
                 a:hover {
                   color: #0ff; }



Donnerstag, 3. September 2009
#sidebar
                 :float left
                 :margin-left 20%
                 .ie6 &
                   :margin-left 40%

                                   Magic!
               #sidebar {
                 float: left;
                 margin-left: 20%; }
                 .ie6 #sidebar {
                   margin-left: 40%; }




Donnerstag, 3. September 2009
Compound
                                   styles




Donnerstag, 3. September 2009
.black-border
                 :border
                   :color #000
                   :width 2px
                   :style solid

                                  Magic!
               .black-border {
                 border-color: #000;
                 border-width: 2px;
                 border-style: solid; }




Donnerstag, 3. September 2009
Konstanten




Donnerstag, 3. September 2009
!bg_color = #002244
             body
               :background-color = !bg_color

                                Magic!
               body {
                 background-color: #002244; }




Donnerstag, 3. September 2009
Ach t u
                                                ng!
             !bg_color = #002244
             body
               :background-color = !bg_color

                                Magic!
               body {
                 background-color: #002244; }




Donnerstag, 3. September 2009
Berechnungen




Donnerstag, 3. September 2009
!bg_color = #002244
               body
                 :color = !bg_color + #020202

                                Magic!
               body {
                 color: #022446; }




Donnerstag, 3. September 2009
Mixins


Donnerstag, 3. September 2009
=standard-border
                 :border 1px solid black
               #main
                 +standard-border
                 :padding 5px
                                   Magic!
               #main {
                 border: 1px solid black;
                 padding: 5px; }




Donnerstag, 3. September 2009
Mixin-Argumente



Donnerstag, 3. September 2009
=border(!color = #000)
                 :border 1px solid
                    :color = !color
               #foo
                 +border(#fea)




Donnerstag, 3. September 2009
Kontrollstrukturen



Donnerstag, 3. September 2009
@for !n from 1 through 6
                 h#{!n}
                   :padding 0
                   :margin 0




Donnerstag, 3. September 2009
!shall_we = false

               @if !shall_we
                 body
                   :background-color yellow
               @else
                 body
                   :display none


Donnerstag, 3. September 2009
@import




Donnerstag, 3. September 2009
Ausgabe-Styles




Donnerstag, 3. September 2009
.box{border-top:1px solid black;border-bottom:5px
               solid black}body{background-
               color:#002244}#main{color:lime;p-background-
               color:lime;p-color:#000000}#main{border:1px solid
               black;padding:5px}

                                                        e ss ed
                                                c om pr
                                               :



Donnerstag, 3. September 2009
F.A.Q.



Donnerstag, 3. September 2009
Performance



Donnerstag, 3. September 2009
File caching



Donnerstag, 3. September 2009
Reload-Verhalten



Donnerstag, 3. September 2009
Benutzung ohne Rails



Donnerstag, 3. September 2009
require 'rubygems'
                require 'sass'

                template = open('simple.sass').read
                sass_engine = Sass::Engine.new(template)
                output = sass_engine.render
                puts output




Donnerstag, 3. September 2009
COMPASS

Donnerstag, 3. September 2009
CSS meta framework



Donnerstag, 3. September 2009
CSS-Frameworks

                   •Blueprint
                   •YUI-Grids
                   •960.gs
                   •YAML

Donnerstag, 3. September 2009
COMPASS-Module


                   •Reset
                   •Utilities
                   •Layout


Donnerstag, 3. September 2009
Installation



Donnerstag, 3. September 2009
> git clone git://github.com/nex3/haml.git
                > cd haml
                > sudo rake install

                > gem sources --add http://gems.github.com/
                > sudo gem install chriseppstein-compass




Donnerstag, 3. September 2009
Rails-Integration



Donnerstag, 3. September 2009
> compass --rails .



Donnerstag, 3. September 2009
app/stylesheets/foo.sass

                                Magic!

                public/stylesheets/compiled/foo.css




Donnerstag, 3. September 2009
Beispiel (Blueprint)



Donnerstag, 3. September 2009
header


                                artist_header          logo_header




                                                body




                                                footer




Donnerstag, 3. September 2009
!!! Strict
                %html{html_attrs('de-de')}
                  %head
                    = stylesheet_link_tag 'compiled/screen.css'
                    /[if IE]
                      = stylesheet_link_tag 'compiled/ie.css'
                  %body
                    .container
                      #header.span-24
                        #artist_header.span-6
                           %h1 Foo
                        #logo_header.span-18.last
                           %h2 Bar
                      #body.span-24
                        = yield
                      #footer.span-24




Donnerstag, 3. September 2009
!!! Strict
                %html{html_attrs('de-de')}
                  %head
                    = stylesheet_link_tag 'compiled/screen.css'
                    /[if IE]
                      = stylesheet_link_tag 'compiled/ie.css'
                  %body
                    #container
                      #header
                        #artist_header
                           %h1 Foo
                        #logo_header
                           %h2 Bar
                      #body
                        = yield
                      #footer




Donnerstag, 3. September 2009
@import compass/reset.sass
                @import blueprint/modules/grid.sass

                #container
                  +container

                #header
                  +column(24, true)

                    #artist_header
                      +column(6)

                    #logo_header
                      +column(18, true)

                #body
                  +column(24, true)

                #footer
                  +column(24, true)




Donnerstag, 3. September 2009
Flexible Raster-
                Definitionen


Donnerstag, 3. September 2009
(try that, blueprint!)



Donnerstag, 3. September 2009
@import compass/reset.sass
                @import blueprint/modules/grid.sass

                !blueprint_grid_columns = 10
                !blueprint_grid_width = 60px
                !blueprint_grid_margin = 10px
                #container
                  +container

                #header
                  +column(10, true)

                   #artist_header
                     +column(6)

                   #logo_header
                     +column(4, true)

                #body
                  +column(10, true)

                #footer
                  +column(10, true)




Donnerstag, 3. September 2009
F.A.Q.



Donnerstag, 3. September 2009
Duplikation im
                generierten Code


Donnerstag, 3. September 2009
Kompatibilität
                zwischen Frameworks


Donnerstag, 3. September 2009
Work in progress



Donnerstag, 3. September 2009
Fragen?



Donnerstag, 3. September 2009
{less}

Donnerstag, 3. September 2009
Motivation




Donnerstag, 3. September 2009
Syntax



Donnerstag, 3. September 2009
css = less



Donnerstag, 3. September 2009
Installation




Donnerstag, 3. September 2009
> sudo gem install less




Donnerstag, 3. September 2009
Rails



Donnerstag, 3. September 2009
> script/plugin install 
                > git://github.com/augustl/less-for-rails.git




Donnerstag, 3. September 2009
public/stylesheets/foo.less
                >>>
                public/stylesheets/foo.css




Donnerstag, 3. September 2009
Production vs. Dev




Donnerstag, 3. September 2009
It is very fabolous,
                  and the plugin has won many prizes for this.




                                                       [sic]



Donnerstag, 3. September 2009
Syntax



Donnerstag, 3. September 2009
Variablen



Donnerstag, 3. September 2009
@nice-blue: #5B83AD;
                @light-blue: @nice-blue + #111;

                #header { color: @light-blue; }




Donnerstag, 3. September 2009
Mixins




Donnerstag, 3. September 2009
.bordered {
                  border-top: dotted 1px black;
                  border-bottom: solid 2px black;
                }
                #menu a {
                  color: #111;
                  .bordered;
                }

                .post a {
                  color: red;
                  .bordered;
                }




Donnerstag, 3. September 2009
Nested rules




Donnerstag, 3. September 2009
#header {
                  color: black;

                      .navigation {
                        font-size: 12px;
                      }
                      .logo {
                        width: 300px;
                        :hover { text-decoration: none }
                      }
                }




Donnerstag, 3. September 2009
Operations




Donnerstag, 3. September 2009
@base: 5%;
                @filler: @base * 2;
                @other: @base + @filler;

                color: #888 / 4;
                background-color: @base-color + #111;
                height: 100% / 2 + @filler;




Donnerstag, 3. September 2009
Namespaces /
                                Accessors




Donnerstag, 3. September 2009
#bundle {
                  .button {
                    display: block;
                    border: 1px solid black;
                    background-color: grey;
                    :hover { background-color: white }
                  }
                  .tab { ... }
                  .citation { ... }
                }
                #header a {
                  color: orange;
                  #bundle > .button;
                }




Donnerstag, 3. September 2009
#defaults {
                  @width: 960px;
                  @color: black;
                }

                .article { color: #294366; }

                .comment {
                  width: #defaults[@width];
                  color: .article['color'];
                }



Donnerstag, 3. September 2009
Scope




Donnerstag, 3. September 2009
@var: red;

                #page {
                  @var: white;
                  #header {
                    color: @var; // white
                  }
                }




Donnerstag, 3. September 2009
Kommentare




Donnerstag, 3. September 2009
/* One hell of a comment */
                @var: red;

                // Get in line!
                @var: white;




Donnerstag, 3. September 2009
@import

Donnerstag, 3. September 2009
@import "library";
                @import "typo.css";




Donnerstag, 3. September 2009
discuss.



Donnerstag, 3. September 2009
http://twitter.com/halfbyte
                                http://github.com/halfbyte
                        http://www.flickr.com/photos/jankrutisch/




                                   dangge.


Donnerstag, 3. September 2009
1 of 184

Recommended

MongoDB on Rails (and Ruby) by
MongoDB on Rails (and Ruby)MongoDB on Rails (and Ruby)
MongoDB on Rails (and Ruby)jan_mindmatters
914 views213 slides
Open Source Hardware - Of makers and tinkerers by
Open Source Hardware - Of makers and tinkerersOpen Source Hardware - Of makers and tinkerers
Open Source Hardware - Of makers and tinkerersjan_mindmatters
1.6K views56 slides
Mongodb on Ruby And Rails (froscon 2010) by
Mongodb on Ruby And Rails (froscon 2010)Mongodb on Ruby And Rails (froscon 2010)
Mongodb on Ruby And Rails (froscon 2010)jan_mindmatters
1.5K views183 slides
Web 2.0 Presentation by
Web 2.0 PresentationWeb 2.0 Presentation
Web 2.0 Presentationdart11746
311 views8 slides
Facebook mit Rails und Facebooker by
Facebook mit Rails und FacebookerFacebook mit Rails und Facebooker
Facebook mit Rails und Facebookerjan_mindmatters
799 views72 slides
HAML / SASS and COMPASS by
HAML / SASS and COMPASSHAML / SASS and COMPASS
HAML / SASS and COMPASSjan_mindmatters
1.2K views109 slides

More Related Content

Similar to Liebe Dein Frontend wie Dich selbst! HAML & SASS & COMPASS & less

Primitive Data Types by
Primitive Data TypesPrimitive Data Types
Primitive Data TypesJohn Nunemaker
1.1K views48 slides
Huffduffer by
HuffdufferHuffduffer
Huffdufferadactio
833 views52 slides
Enecomp 2009 by
Enecomp 2009Enecomp 2009
Enecomp 2009Fabio Akita
656 views188 slides
XHTML/CSS by
XHTML/CSSXHTML/CSS
XHTML/CSSJohn Nunemaker
2K views33 slides
Data Types: Arrays And Objects by
Data Types: Arrays And ObjectsData Types: Arrays And Objects
Data Types: Arrays And ObjectsJohn Nunemaker
941 views104 slides
The Future of Communications Applications by
The Future of Communications ApplicationsThe Future of Communications Applications
The Future of Communications ApplicationsVoxeo Corp
784 views64 slides

Similar to Liebe Dein Frontend wie Dich selbst! HAML & SASS & COMPASS & less(12)

Huffduffer by adactio
HuffdufferHuffduffer
Huffduffer
adactio833 views
Data Types: Arrays And Objects by John Nunemaker
Data Types: Arrays And ObjectsData Types: Arrays And Objects
Data Types: Arrays And Objects
John Nunemaker941 views
The Future of Communications Applications by Voxeo Corp
The Future of Communications ApplicationsThe Future of Communications Applications
The Future of Communications Applications
Voxeo Corp784 views
Rack Middleware by Jon Crosby
Rack MiddlewareRack Middleware
Rack Middleware
Jon Crosby43.7K views
Basics of Metaprogramming in Ruby by Digital Natives
Basics of Metaprogramming in RubyBasics of Metaprogramming in Ruby
Basics of Metaprogramming in Ruby
Digital Natives811 views
Internationalization of your homepage by gutskun
Internationalization of your homepageInternationalization of your homepage
Internationalization of your homepage
gutskun841 views
DjangoCon 2009 Keynote by Ted Leung
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 Keynote
Ted Leung5.6K views
Oxente on Rails 2009 by Fabio Akita
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009
Fabio Akita904 views

More from jan_mindmatters

Ruby for Artists and Tinkerers. A non-presentation. by
Ruby for Artists and Tinkerers. A non-presentation.Ruby for Artists and Tinkerers. A non-presentation.
Ruby for Artists and Tinkerers. A non-presentation.jan_mindmatters
1K views23 slides
realtime audio on ze web @ hhjs by
realtime audio on ze web @ hhjsrealtime audio on ze web @ hhjs
realtime audio on ze web @ hhjsjan_mindmatters
1.2K views32 slides
Railsrumble railscamphh 2010 by
Railsrumble railscamphh 2010Railsrumble railscamphh 2010
Railsrumble railscamphh 2010jan_mindmatters
733 views42 slides
10 fun projects to improve your coding skills by
10 fun projects to improve your coding skills10 fun projects to improve your coding skills
10 fun projects to improve your coding skillsjan_mindmatters
22.3K views41 slides
MongoDB & Mongomapper 4 real by
MongoDB & Mongomapper 4 realMongoDB & Mongomapper 4 real
MongoDB & Mongomapper 4 realjan_mindmatters
11.9K views104 slides
Show the frontend some love - HAML, SASS and COMPASS by
Show the frontend some love - HAML, SASS and COMPASSShow the frontend some love - HAML, SASS and COMPASS
Show the frontend some love - HAML, SASS and COMPASSjan_mindmatters
1.2K views180 slides

More from jan_mindmatters(9)

Ruby for Artists and Tinkerers. A non-presentation. by jan_mindmatters
Ruby for Artists and Tinkerers. A non-presentation.Ruby for Artists and Tinkerers. A non-presentation.
Ruby for Artists and Tinkerers. A non-presentation.
jan_mindmatters1K views
realtime audio on ze web @ hhjs by jan_mindmatters
realtime audio on ze web @ hhjsrealtime audio on ze web @ hhjs
realtime audio on ze web @ hhjs
jan_mindmatters1.2K views
10 fun projects to improve your coding skills by jan_mindmatters
10 fun projects to improve your coding skills10 fun projects to improve your coding skills
10 fun projects to improve your coding skills
jan_mindmatters22.3K views
MongoDB & Mongomapper 4 real by jan_mindmatters
MongoDB & Mongomapper 4 realMongoDB & Mongomapper 4 real
MongoDB & Mongomapper 4 real
jan_mindmatters11.9K views
Show the frontend some love - HAML, SASS and COMPASS by jan_mindmatters
Show the frontend some love - HAML, SASS and COMPASSShow the frontend some love - HAML, SASS and COMPASS
Show the frontend some love - HAML, SASS and COMPASS
jan_mindmatters1.2K views
Rails i18n - Railskonferenz 2007 by jan_mindmatters
Rails i18n - Railskonferenz 2007Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007
jan_mindmatters1.2K views

Recently uploaded

20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
50 views73 slides
Cencora Executive Symposium by
Cencora Executive SymposiumCencora Executive Symposium
Cencora Executive Symposiummarketingcommunicati21
139 views14 slides
State of the Union - Rohit Yadav - Apache CloudStack by
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStackShapeBlue
253 views53 slides
Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
78 views26 slides
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueShapeBlue
163 views54 slides
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...ShapeBlue
138 views18 slides

Recently uploaded(20)

State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue253 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely78 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue by ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue163 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue138 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue222 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue93 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue120 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue154 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software385 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue79 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue117 views
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O... by ShapeBlue
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
Declarative Kubernetes Cluster Deployment with Cloudstack and Cluster API - O...
ShapeBlue88 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue166 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue181 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue158 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10126 views

Liebe Dein Frontend wie Dich selbst! HAML & SASS & COMPASS & less