Skip to content

Commit

Permalink
further work cleaning up intro
Browse files Browse the repository at this point in the history
  • Loading branch information
tednaleid committed Nov 21, 2013
1 parent 62187ef commit 031e669
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 43 deletions.
5 changes: 5 additions & 0 deletions css/theme/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@
margin-left: -2%;
width: 105%; }

.reveal section img {
display: block;
margin-left: auto !important;
margin-right: auto !important; }

.reveal pre code {
padding: 5px;
overflow: auto;
Expand Down
7 changes: 6 additions & 1 deletion css/theme/source/custom.scss
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ $mainFontSize: 30px;
@include radial-gradient(#393939, #f9f9f9); // black and white
}


.reveal a:not(.image) {
background-color: rgba(50, 50, 50, 0.25);
padding: 0 5px;
Expand Down Expand Up @@ -72,6 +71,12 @@ $mainFontSize: 30px;
width: 105%;
}

.reveal section img {
display: block;
margin-left: auto !important;
margin-right: auto !important;
}

.reveal pre code {
padding: 5px;
overflow: auto;
Expand Down
Binary file added img/manifesto_small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 50 additions & 42 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,47 +46,41 @@

</script></section>

<section data-markdown><script type="text/template">
# Header h1
## Header h2
### Header h3
#### Header h4
##### Header h5
test slide
</script></section>
<section data-markdown> <script type="text/template">

<section data-markdown><script type="text/template">
# Test Slide
## What is reactive programming?

Regular paragraph text with `code` embedded
</script> </section>

- avoid bullet points
- most of the time they make bad slides
- [example link](http://google.com)

</script></section>
<section data-markdown> <script type="text/template">

<section data-markdown><script type="text/template">
## Big Code Block
#### test slide
## Well…there&apos;s a manifesto you can sign

```scala
def getVideos(userId: Long): Observable[Map[String, Any]] =
videoService.getVideos(userId)
.take(10) // take the first 10, then auto-unsubscribe
.flatMap(video => {
val metadata = video.getMetaData(video) // async Map
val bookmark = videoService.getBookmark(video, userId) // async Map
val rating = videoService.getRating(video, userId) // async Map
Observable.zip(Observable(List(metadata, bookmark, rating): _*)).map {
case m :: b :: r :: Nil => Map("id" -> video.id) ++ m ++ b ++ r
}
})
//=> Map(id->1, rating->*****, position->1:33, length->2h, title->Gravity)
```
<img src="/img/manifesto_small.png" width="700px"/>

</script> </section>


<section data-markdown> <script type="text/template">

## Ask 100 people what &lsquo;reactive programming&rsquo; is…

</script> </section>

<section data-markdown> <script type="text/template">

## and you&apos;ll get a lot of buzzwords and handwaving

</script> </section>


<section data-markdown> <script type="text/template">

## So what is _functional_ reactive programming?

</script> </section>

</script></section>

<section data-markdown> <script type="text/template">

Expand All @@ -96,34 +90,47 @@

<section data-markdown> <script type="text/template">

## Getting single values (synchronous, blocking)
## Getting a single value (synchronous, blocking)

getWidget: Widget
getUser: User

</script> </section>

<section data-markdown> <script type="text/template">

# Then came Iterator pattern (as documented by the Gang of Four)
## Easy to use and reason about, but it doesn&apos;t scale

</script> </section>


<section data-markdown> <script type="text/template">

## Get multiple values (synchronous, blocking)

getWidgets: List[Widgets]
getUsers: List[User]

</script> </section>


<section data-markdown> <script type="text/template">

## Gave us composable, expressable ways to work with our data
## Now we get Iterators
(as documented by the Gang of Four)

talk about letting you do things functionally with them
</script> </section>


<section data-markdown> <script type="text/template">

## Composable data manipulation

map, reduce, zip, take, drop etc
val adults = users.filter(_.age > 17).sortBy(p => (p.lName, p.fName)).take(10)

</script> </section>

<section data-markdown> <script type="text/template">

## but we have to block until the whole list shows up
## but we block until the full list is ready

</script> </section>

Expand All @@ -132,6 +139,7 @@
## Callbacks/CPS let us work asynchronously

CPS - Continuation Passing Style

Call Back Hell

show easy then painful examples
Expand Down

0 comments on commit 031e669

Please sign in to comment.