anchor.diff:  end
   ```
   
  -You can fork the finished code for it on [GitHub](https://github.com/BuildYourOwnSinatra/raw-rack) too.
  -
   ## The Structure of this Book
   
  -First we learn Rack; the API ruby frameworks use to communicate with servers. We will build rack middleware, raw rack apps, and we will learn how to configure, boot, mix and match our Rack apps. We will cover everything from call to Rack::Builder stacks.
  +First we will learn Rack; the API ruby frameworks use to communicate with servers. We will build rack middleware, raw rack apps, and we will learn how to configure, boot, mix and match our Rack apps. We will cover everything from `call()` to Rack::Builder stacks.
   
   Then will dive into Rack's request and responses. We will learn how Rack parses requests and how we can modify it with our own data. We will learn how Sinatra::Request and Sinatra::Response merely extend Rack::Request and Rack::Response.
   
   We will build our own raw MVC app on rack and in the process learn the patterns that Ruby frameworks rest on. We will construct a simple router, build Rails like controllers, Sinatra like route blocks and helpers.
   
  -And finally we will bring this all together into a finished framework. A fast minimal framework with a powerful router, flexible structure, and helpers as modules.
  +We will bring this all together into a finished framework. A fast, minimal framework with a powerful router, flexible structure, and helpers as modules.
   
   ## Commits, Notes, Warnings and Tips
   
  -There will be a lot of code samples in this book. They will look like this:
  +There will be code samples in this book. They will look like this:
   
   ```ruby
   class Cats
  
positive.code: 
  This is a tip. It gives you helpful information that only the initiated have access to. Say for example, you work on a daily basis with magical glowing screens. You might not know that you can turn these screens off. A tip would inform you about this feature and how to use it.
  
  To turn off your glowing screen you can press the icon that looks like two fingers pinching a fingernail. Depending on the type of glowing screen you have you might be able to turn it off simply by not touching it for a awhile. To see if your glowing screen supports this feature, do not touch it.
  
  <% end %>
  
negative.code: 
  This is a warning. It warns you about things you are probably going to do. You might think you wont do the things but trust me you will. You will do the things. Take for example, parsing html.
  
  Now any developer knows you should not parse html with regular expressions. But chances are at some point you will anyway, because it will just be the easiest thing at the time. Maybe "native extensions" wouldn't compile, maybe a parser was just too big of a dependency or maybe you just wanted to grab one element --  what is the harm in parsing a link or two. It's just a link or two, no big deal right? WRONG
  
  A warning would show you how this could explode in your face. It might show you a screenshot of your house on fire or a movie about a RegularExpressions powered AI travelling back in time and killing your mom. Don't parse html with RegEx if you want to live.
  
  