diff options
-rw-r--r-- | src/images/graphite.openstack.org.png | bin | 57239 -> 32813 bytes | |||
-rw-r--r-- | src/images/ibm-logo.png | bin | 36270 -> 13303 bytes | |||
-rw-r--r-- | src/images/openstack-cloud-software-vertical-large.png | bin | 23062 -> 39849 bytes | |||
-rw-r--r-- | src/talks/who-cares.hbs | 569 |
4 files changed, 286 insertions, 283 deletions
diff --git a/src/images/graphite.openstack.org.png b/src/images/graphite.openstack.org.png index 19ebfe2..c164dab 100644 --- a/src/images/graphite.openstack.org.png +++ b/src/images/graphite.openstack.org.png | |||
Binary files differ | |||
diff --git a/src/images/ibm-logo.png b/src/images/ibm-logo.png index 1e796a1..170902c 100644 --- a/src/images/ibm-logo.png +++ b/src/images/ibm-logo.png | |||
Binary files differ | |||
diff --git a/src/images/openstack-cloud-software-vertical-large.png b/src/images/openstack-cloud-software-vertical-large.png index 8d157aa..7612866 100644 --- a/src/images/openstack-cloud-software-vertical-large.png +++ b/src/images/openstack-cloud-software-vertical-large.png | |||
Binary files differ | |||
diff --git a/src/talks/who-cares.hbs b/src/talks/who-cares.hbs index 34f7edf..ed96f93 100644 --- a/src/talks/who-cares.hbs +++ b/src/talks/who-cares.hbs | |||
@@ -9,289 +9,292 @@ | |||
9 | </head> | 9 | </head> |
10 | <body> | 10 | <body> |
11 | 11 | ||
12 | <section id="who-am-i-hp" class="slide level2"> | 12 | <section id="who-am-i-ibm" class="slide level2"> |
13 | <h1>Who am I?</h1> | 13 | <h1>Who am I?</h1> |
14 | <img style="float:right; margin-right:24pt" src="/images/ibm-logo.png"/> | 14 | <img style="float:right; margin-right:24pt" src="/images/ibm-logo.png"/> |
15 | <p> Distinguished Engineer </p> | 15 | <p> Distinguished Engineer </p> |
16 | <p> IBM Cloud </p> | 16 | <p> IBM Cloud </p> |
17 | </section> | 17 | </section> |
18 | 18 | ||
19 | <section id="who-am-i-openstack" class="slide level2"> | 19 | <section id="who-am-i-openstack" class="slide level2"> |
20 | <h1>Who am I?</h1> | 20 | <h1>Who am I?</h1> |
21 | <img style="float:right; margin-right:24pt" src="/images/openstack-cloud-software-vertical-large.png" /> | 21 | <img style="float:right; margin-right:24pt" src="/images/openstack-cloud-software-vertical-large.png" /> |
22 | <p>Technical Committee</p> | 22 | <p>Technical Committee</p> |
23 | <p>Foundation Board of Directors</p> | 23 | <p>Foundation Board of Directors</p> |
24 | <p>Developer Infrastructure Core Team</p> | 24 | <p>Developer Infrastructure Core Team</p> |
25 | </section> | 25 | </section> |
26 | 26 | ||
27 | <section id="what-are-we-going-to-talk-about" class="slide level2"> | 27 | <section id="what-are-we-going-to-talk-about" class="slide level2"> |
28 | <h1>What are we going to talk about?</h1> | 28 | <h1>What are we going to talk about?</h1> |
29 | <ul> | 29 | <ul> |
30 | <li>OpenStack</li> | 30 | <li>OpenStack</li> |
31 | <li>My application</li> | 31 | <li>My application</li> |
32 | <li>Your applications</li> | 32 | <li>Your applications</li> |
33 | </ul> | 33 | </ul> |
34 | </section> | 34 | </section> |
35 | 35 | ||
36 | <section class="slide level2"> | 36 | <section class="slide level2"> |
37 | <img src="/images/openstack-software-diagram.png" | 37 | <img src="/images/openstack-software-diagram.png" |
38 | alt="OpenStack" /> | 38 | alt="OpenStack" /> |
39 | </section> | 39 | </section> |
40 | 40 | ||
41 | <section class="slide level2"> | 41 | <section class="slide level2"> |
42 | <p>As an application developer,<br /> | 42 | <p>As an application developer,<br /> |
43 | I want to deploy and run an application on the internet<br /> | 43 | I want to deploy and run an application on the internet |
44 | so that my customers all over the world can consume it.</p> | 44 | so that my customers all over the world can consume it.</p> |
45 | </section> | 45 | </section> |
46 | 46 | ||
47 | <section class="slide level2"> | 47 | <section class="slide level2"> |
48 | <p>As an application developer,<br /> | 48 | <p>As an application developer,<br /> |
49 | I want to deploy and run an application in a location of my choosing<br /> | 49 | I want to deploy and run an application in a location of my choosing |
50 | so that I can comply with regulatory demands.</p> | 50 | so that I can comply with regulatory demands.</p> |
51 | </section> | 51 | </section> |
52 | 52 | ||
53 | <section class="slide level2"> | 53 | <section class="slide level2"> |
54 | <p>As an application developer,<br /> | 54 | <p>As an application developer,<br /> |
55 | I want to deploy the application across multiple clouds<br /> | 55 | I want to deploy the application across multiple clouds |
56 | so that my service survives issues in any one of them.</p> | 56 | so that my service survives issues in any one of them.</p> |
57 | </section> | 57 | </section> |
58 | 58 | ||
59 | <section class="slide level2"> | 59 | <section class="slide level2"> |
60 | <h1>THIS WORKS</h1> | 60 | <h1>THIS WORKS</h1> |
61 | <h3>I'm doing it myself as we speak</h3> | 61 | <h3>I'm doing it myself as we speak</h3> |
62 | <img style="float:right; margin-right:24pt" src="/images/graphite.openstack.org.png"/> | 62 | <img style="float:right; margin-right:24pt" src="/images/graphite.openstack.org.png"/> |
63 | 63 | ||
64 | 64 | ||
65 | <p class='fragment'>10-20k VMs per-day</p> | 65 | <p class='fragment'>10-20k VMs per-day</p> |
66 | <p class='fragment'>3 (soon to be 6) clouds</p> | 66 | <p class='fragment'>3 (soon to be 6) clouds</p> |
67 | <p class='fragment'>Only using OpenStack APIs</p> | 67 | <p class='fragment'>Only using OpenStack APIs</p> |
68 | 68 | ||
69 | </section> | 69 | </section> |
70 | 70 | ||
71 | <section id="openstack-infra" data-transition='zoom'> | 71 | <section id="openstack-infra" data-transition='zoom'> |
72 | <h1>OpenStack Infra</h1> | 72 | <h1>OpenStack Infra</h1> |
73 | </section> | 73 | </section> |
74 | 74 | ||
75 | <section id="tooling-automation-and-ci-for-openstack-project" class="slide level2" data-transition='zoom'> | 75 | <section id="tooling-automation-and-ci-for-openstack-project" class="slide level2" data-transition='zoom'> |
76 | <h1>Tooling, Automation and CI for OpenStack Project</h1> | 76 | <h1>Tooling, Automation and CI for OpenStack Project</h1> |
77 | </section> | 77 | </section> |
78 | 78 | ||
79 | <section id="developers" class="slide level2" data-transition='zoom'> | 79 | <section id="developers" class="slide level2" data-transition='zoom'> |
80 | <h1>2000 Developers</h1> | 80 | <h1>2000 Developers</h1> |
81 | </section> | 81 | </section> |
82 | 82 | ||
83 | <section id="gated-commits" class="slide level2" data-transition='zoom'> | 83 | <section id="gated-commits" class="slide level2" data-transition='zoom'> |
84 | <h1>Gated Commits</h1> | 84 | <h1>Gated Commits</h1> |
85 | <p>Every commit is fully integration tested (twice) before landing</p> | 85 | <p>Every commit is fully integration tested (twice) before landing</p> |
86 | </section> | 86 | </section> |
87 | 87 | ||
88 | <section id="each-test-runs-on-a-single-use-cloud-slave" class="slide level2" data-transition='zoom'> | 88 | <section id="each-test-runs-on-a-single-use-cloud-slave" class="slide level2" data-transition='zoom'> |
89 | <h1>Each Test Runs on a Single Use Cloud Slave</h1> | 89 | <h1>Each Test Runs on a Single Use Cloud Slave</h1> |
90 | <p>This is that "cloud scale out" part</p> | 90 | <p>This is that "cloud scale out" part</p> |
91 | </section> | 91 | </section> |
92 | 92 | ||
93 | <section id="million-test-jobs-in-the-last-6-months" class="slide level2" data-transition='zoom'> | 93 | <section id="million-test-jobs-in-the-last-6-months" class="slide level2" data-transition='zoom'> |
94 | <h1>1.7 Million Test Jobs in the last 6 Months</h1> | 94 | <h1>1.7 Million Test Jobs in the last 6 Months</h1> |
95 | </section> | 95 | </section> |
96 | 96 | ||
97 | <section id="million-tests-in-a-month" class="slide level2" data-transition='zoom'> | 97 | <section id="million-tests-in-a-month" class="slide level2" data-transition='zoom'> |
98 | <h1>15 Million Tests in a month</h1> | 98 | <h1>15 Million Tests in a month</h1> |
99 | </section> | 99 | </section> |
100 | 100 | ||
101 | <section id="terabytes-of-log-data-in-six-months" class="slide level2" data-transition='zoom'> | 101 | <section id="terabytes-of-log-data-in-six-months" class="slide level2" data-transition='zoom'> |
102 | <h1>18 Terabytes of Log Data in six months</h1> | 102 | <h1>18 Terabytes of Log Data in six months</h1> |
103 | </section> | 103 | </section> |
104 | 104 | ||
105 | <section id="we-have-no-servers" class="slide level2"> | 105 | <section id="we-have-no-servers" class="slide level2"> |
106 | <h1>We have no servers</h1> | 106 | <h1>We have no servers</h1> |
107 | <ul> | 107 | <ul> |
108 | <li>Rackspace Public Cloud</li> | 108 | <li>Rackspace Public Cloud</li> |
109 | <li>HP Helion Public Cloud</li> | 109 | <li>HP Helion Public Cloud</li> |
110 | <li>TripleO Community Cloud hosted at RedHat</li> | 110 | <li>TripleO Community Cloud hosted at RedHat</li> |
111 | </ul> | 111 | </ul> |
112 | <span class='fragment'> | 112 | <span class='fragment'> |
113 | <p>Coming soon:</p> | 113 | <p>Coming soon:</p> |
114 | <ul> | 114 | <ul> |
115 | <li>OVH Public Cloud</li> | 115 | <li>OVH Public Cloud</li> |
116 | <li>Blue Box Dedicated Cloud on SoftLayer</li> | 116 | <li>Blue Box Dedicated Cloud on SoftLayer</li> |
117 | <li>Infra Cloud hosted at HP</li> | 117 | <li>Infra Cloud hosted at HP</li> |
118 | <li>IBM Public Cloud</li> | 118 | <li>IBM Public Cloud</li> |
119 | </ul> | 119 | </ul> |
120 | </span> | 120 | </span> |
121 | </section> | 121 | </section> |
122 | 122 | ||
123 | <section id="our-vms-are-everywhere" class="slide level2"> | 123 | <section id="our-vms-are-everywhere" class="slide level2"> |
124 | <h1>Our VMs are everywhere</h1> | 124 | <h1>Our VMs are everywhere</h1> |
125 | <ul> | 125 | <ul> |
126 | <li>HP: Las Vegas, DC</li> | 126 | <li>HP: Las Vegas, DC</li> |
127 | <li>Rackspace: Dallas, Chicago, DC</li> | 127 | <li>Rackspace: Dallas, Chicago, DC</li> |
128 | <li>RedHat: Phoenix</li> | 128 | <li>RedHat: Phoenix</li> |
129 | <li>OVH: Strassbourg, Gravelines</li> | 129 | <li>OVH: Strassbourg, Gravelines</li> |
130 | <li>Blue Box: San Jose</li> | 130 | <li>Blue Box: San Jose</li> |
131 | <li>IBM: Amsterdam, Dallas, Franfurt, Hong Kong, Houston, London, Montreal, Paris, Querétaro, San Jose, São Paulo, Seattle, Singapore, Sydney, Tokyo, Toronto, DC</li> | 131 | <li>IBM: Amsterdam, Dallas, Franfurt, Hong Kong, Houston, London, Montreal, Paris, Querétaro, San Jose, São Paulo, Seattle, Singapore, Sydney, Tokyo, Toronto, DC</li> |
132 | </ul> | 132 | </ul> |
133 | </section> | 133 | </section> |
134 | 134 | ||
135 | <section id="architecture" class="slide level2"> | 135 | <section id="architecture" class="slide level2"> |
136 | <h1>Architecture</h1> | 136 | <h1>Architecture</h1> |
137 | <p><img src="/images/infra_architecture.jpg" alt="image" /></p> | 137 | <p><img src="/images/infra_architecture.jpg" alt="image" /></p> |
138 | </section> | 138 | </section> |
139 | 139 | ||
140 | <section class="slide level2"> | 140 | <section class="slide level2"> |
141 | <h1>Gerrit</h1> | 141 | <h1>Gerrit</h1> |
142 | <ul> | 142 | <ul> |
143 | <li class="fragment"> | 143 | <li class="fragment"> |
144 | Traditional 'Enterprise' Java Application</li> | 144 | Traditional 'Enterprise' Java Application</li> |
145 | <li class="fragment">Single Nova VM, Cinder Volume</li> | 145 | <li class="fragment">Single Nova VM, Cinder Volume</li> |
146 | <li class="fragment">Scale out farm of git replicas</li> | 146 | <li class="fragment">Scale out farm of git replicas</li> |
147 | </ul> | 147 | </ul> |
148 | </section> | 148 | </section> |
149 | 149 | ||
150 | <section class="slide level2"> | 150 | <section class="slide level2"> |
151 | <img src="/images/gerrit-graph.png" /> | 151 | <img src="/images/gerrit-graph.png" /> |
152 | </section> | 152 | </section> |
153 | 153 | ||
154 | <section class="slide level2"> | 154 | <section class="slide level2"> |
155 | <h1>Fun Numbers</h1> | 155 | <h1>Fun Numbers</h1> |
156 | <ul> | 156 | <ul> |
157 | <li>2500 changes every week</li> | 157 | <li>2500 changes every week</li> |
158 | <li>15000 change <em>revisions</em> every week</li> | 158 | <li>15000 change <em>revisions</em> every week</li> |
159 | <li>10,000 new changes every 42 days</li> | 159 | <li>10,000 new changes every 42 days</li> |
160 | </ul> | 160 | </ul> |
161 | </section> | 161 | </section> |
162 | 162 | ||
163 | <section class="slide level2"> | 163 | <section class="slide level2"> |
164 | <img src="/images/what-happens.png" /> | 164 | <img src="/images/what-happens.png" /> |
165 | </section> | 165 | </section> |
166 | 166 | ||
167 | <section class="slide level2"> | 167 | <section class="slide level2"> |
168 | <h1>nodepool</h1> | 168 | <h1>nodepool</h1> |
169 | <ul> | 169 | <ul> |
170 | <li class="fragment">Cloud Native</li> | 170 | <li class="fragment">Cloud Native</li> |
171 | <li class="fragment"> | 171 | <li class="fragment"> |
172 | Purpose built in Python</li> | 172 | Purpose built in Python</li> |
173 | <li class="fragment">Keeps a pool of ready to go nodes</li> | 173 | <li class="fragment">Keeps a pool of ready to go nodes</li> |
174 | <li class="fragment">Multi-cloud</li> | 174 | <li class="fragment">Multi-cloud</li> |
175 | <li class="fragment">Fully elastic - responds to demand</li> | 175 | <li class="fragment">Fully elastic - responds to demand</li> |
176 | </ul> | 176 | </ul> |
177 | </section> | 177 | </section> |
178 | 178 | ||
179 | <section class="slide level2"> | 179 | <section class="slide level2"> |
180 | <img style="float:left; margin-left:24pt; width:35%;" src="/images/gerrit-graph.png" /> | 180 | <img style="float:left; margin-left:24pt; width:35%;" src="/images/gerrit-graph.png" /> |
181 | <img style="float:right; margin-right:24pt; width: 50%;" src="/images/nodepool-graph.png" /> | 181 | <img style="float:right; margin-right:24pt; width: 50%;" src="/images/nodepool-graph.png" /> |
182 | </section> | 182 | </section> |
183 | 183 | ||
184 | <section class="slide level2"> | 184 | <section class="slide level2"> |
185 | <h1>OpenStack Works!</h1> | 185 | <h1>OpenStack Works!</h1> |
186 | <p class='fragment'>Why should you care?</p> | 186 | <p class='fragment'>Why should you care?</p> |
187 | </section> | 187 | </section> |
188 | 188 | ||
189 | <section class="slide level2"> | 189 | <section class="slide level2"> |
190 | <h1>Three Benefits to OpenStack</h1> | 190 | <h1>Three Benefits to OpenStack</h1> |
191 | <ul> | 191 | <ul> |
192 | <li>Run what you want</li> | 192 | <li>Run what you want</li> |
193 | <li>Run it where you want</li> | 193 | <li>Run it where you want</li> |
194 | <li>Do business with who you want</li> | 194 | <li>Do business with who you want</li> |
195 | </ul> | 195 | </ul> |
196 | </section> | 196 | </section> |
197 | 197 | ||
198 | <section class="slide level2"> | 198 | <section class="slide level2"> |
199 | <h1>Run what you want</h1> | 199 | <h1>Run what you want</h1> |
200 | <p class='fragment'>Cloud-native 12-factor application</p> | 200 | <p class='fragment'>Cloud-native 12-factor application</p> |
201 | <p class='fragment'>Traditional Java web application</p> | 201 | <p class='fragment'>Traditional Java web application</p> |
202 | <p class='fragment'>Kerberos Server</p> | 202 | <p class='fragment'>Kerberos Server</p> |
203 | <p class='fragment'>Baremetal for hardware enabled transcoding</p> | 203 | <p class='fragment'>Baremetal for hardware enabled transcoding</p> |
204 | </section> | 204 | </section> |
205 | 205 | ||
206 | <section class="slide level2"> | 206 | <section class="slide level2"> |
207 | <h1>Run it where you want</h1> | 207 | <h1>Run it where you want</h1> |
208 | <ul> | 208 | <ul> |
209 | <li>Geography</li> | 209 | <li>Geography</li> |
210 | <li>Delivery Model</li> | 210 | <li>Delivery Model</li> |
211 | </ul> | 211 | </ul> |
212 | 212 | ||
213 | </section> | 213 | </section> |
214 | 214 | ||
215 | <section class="slide level2"> | 215 | <section class="slide level2"> |
216 | <h1>Geography</h1> | 216 | <h1>Geography</h1> |
217 | <ul> | 217 | <ul> |
218 | <li>Put it near your users</li> | 218 | <li>Put it near your users</li> |
219 | <li>Don't put it in an NSA data center</li> | 219 | <li>Don't put it in an NSA data center</li> |
220 | <li>Locality Requirements</li> | 220 | <li>Locality Requirements</li> |
221 | <li class='fragment'>What if you have customers in Suriname?</li> | 221 | <li class='fragment'>What if you have customers in Suriname?</li> |
222 | </ul> | 222 | </ul> |
223 | </section> | 223 | </section> |
224 | 224 | ||
225 | <section class="slide level2"> | 225 | <section class="slide level2"> |
226 | <h1>Delivery Model</h1> | 226 | <h1>Delivery Model</h1> |
227 | <h3>Hybrid works</h3> | 227 | <ul> |
228 | <ul> | 228 | <li>Public</li> |
229 | <li>Public</li> | 229 | <li>Hosted Private</li> |
230 | <li>Hosted Private</li> | 230 | <li>Managed Private On-Premise</li> |
231 | <li>Managed Private On-Premise</li> | 231 | <li>Run your own</li> |
232 | <li>Run your own</li> | 232 | </ul> |
233 | </ul> | 233 | </section> |
234 | </section> | 234 | |
235 | 235 | <section class="slide level2" data-transition='zoom'> | |
236 | <section class="slide level2"> | 236 | <h1>Hybrid cloud is everything</h1> |
237 | <h1>Do Business with who you want</h1> | 237 | </section> |
238 | </section> | 238 | |
239 | 239 | <section class="slide level2"> | |
240 | <section class="slide level2" data-transition='zoom'> | 240 | <h1>Do Business with who you want</h1> |
241 | <h1>Want to do business with someone who | 241 | </section> |
242 | throws chairs in business meetings?</h1> | 242 | |
243 | <h3>Me either.</h3> | 243 | <section class="slide level2" data-transition='zoom'> |
244 | </section> | 244 | <h1>Want to do business with someone who |
245 | 245 | throws chairs in business meetings?</h1> | |
246 | <section class="slide level2" data-transition='zoom'> | 246 | <h3>Me either.</h3> |
247 | <h1>Prefer to work with someone wth a local presence?</h1> | 247 | </section> |
248 | </section> | 248 | |
249 | 249 | <section class="slide level2" data-transition='zoom'> | |
250 | <section class="slide level2" data-transition='zoom'> | 250 | <h1>Prefer to work with someone wth a local presence?</h1> |
251 | <h1>Maybe someone with a global reach?</h1> | 251 | </section> |
252 | </section> | 252 | |
253 | 253 | <section class="slide level2" data-transition='zoom'> | |
254 | <section class="slide level2" data-transition='zoom'> | 254 | <h1>Maybe someone with a global reach?</h1> |
255 | <h1>Who cares about your business being successful?</h1> | 255 | </section> |
256 | </section> | 256 | |
257 | 257 | <section class="slide level2" data-transition='zoom'> | |
258 | <section class="slide level2" data-transition='zoom'> | 258 | <h1>Who cares about your business being successful?</h1> |
259 | <h1>All of those things?</h1> | 259 | </section> |
260 | </section> | 260 | |
261 | 261 | <section class="slide level2" data-transition='zoom'> | |
262 | <section class="slide level2"> | 262 | <h1>All of those things?</h1> |
263 | <h1>OpenStack is over 400 companies</h1> | 263 | </section> |
264 | <img src="/images/openstack-company-size.jpg" /> | 264 | |
265 | </section> | 265 | <section class="slide level2"> |
266 | 266 | <h1>OpenStack is over 400 companies</h1> | |
267 | <section class="slide level2"> | 267 | <img src="/images/openstack-company-size.jpg" /> |
268 | <h1>European Public Clouds</h1> | 268 | </section> |
269 | <p class='fragment'>OVH: France</p> | 269 | |
270 | <p class='fragment'>CityCloud: Sweden, UK</p> | 270 | <section class="slide level2"> |
271 | <p class='fragment'>Elastx: Sweden</p> | 271 | <h1>European Public Clouds</h1> |
272 | <p class='fragment'>Datacentred: UK</p> | 272 | <p class='fragment'>OVH: France</p> |
273 | <p class='fragment'>Ultimum: Prague</p> | 273 | <p class='fragment'>CityCloud: Sweden, UK</p> |
274 | <p class='fragment'>Enter Cloud Suite: Italy, Germany, Frankfurt</p> | 274 | <p class='fragment'>Elastx: Sweden</p> |
275 | 275 | <p class='fragment'>Datacentred: UK</p> | |
276 | </section> | 276 | <p class='fragment'>Ultimum: Prague</p> |
277 | 277 | <p class='fragment'>Enter Cloud Suite: Italy, Germany, Frankfurt</p> | |
278 | <section class="slide level2"> | 278 | |
279 | <h1>Global Reach</h1> | 279 | </section> |
280 | <p>Blue Box Dedicated: In every Softlayer Data Center Worldwide</p> | 280 | |
281 | <h3>Including right here in Amsterdam</h3> | 281 | <section class="slide level2"> |
282 | <p>Blue Box Local: Same thing, but in your DC</p> | 282 | <h1>Global Reach</h1> |
283 | </section> | 283 | <p>Blue Box Dedicated: In every Softlayer Data Center Worldwide</p> |
284 | 284 | <h3>Including right here in Amsterdam</h3> | |
285 | <section class="slide level2"> | 285 | <p>Blue Box Local: Same thing, but in your DC</p> |
286 | <h1>OpenStack gives you the power to make the choices that | 286 | </section> |
287 | are right for you and for your business</h1> | 287 | |
288 | </section> | 288 | <section class="slide level2"> |
289 | 289 | <h1>OpenStack gives you the power to make the choices that | |
290 | <section> | 290 | are right for you and for your business</h1> |
291 | <h1> Thank you! </h1> | 291 | </section> |
292 | <h4> <a href='http://inaugust.com/talks/who-cares.html'>http://inaugust.com/talks/who-cares.html</a> </h4> | 292 | |
293 | <h3> twitter: @e_monty </h3> | 293 | <section> |
294 | </section> | 294 | <h1> Thank you! </h1> |
295 | <h4> <a href='http://inaugust.com/talks/who-cares.html'>http://inaugust.com/talks/who-cares.html</a> </h4> | ||
296 | <h3> twitter: @e_monty </h3> | ||
297 | </section> | ||
295 | 298 | ||
296 | </body> | 299 | </body> |
297 | </html> | 300 | </html> |