-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtalks2.html
More file actions
347 lines (312 loc) · 22.7 KB
/
talks2.html
File metadata and controls
347 lines (312 loc) · 22.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en-US">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
RubyConf India 2011
</title>
<meta name="robots" content="index,follow" />
<meta name="author" content="Rajveer Singh Rathore" />
<meta name="description" content="India's second RubyConf is happening in Bangalore in May this year. RubyConf India is co-presented by ThoughtWorks and RubyCentral." />
<meta name="keywords" content="" />
<link rel="shortcut icon" type="image/ico" href="favicon.ico" /><!-- <link rel="stylesheet" href="css/talks2.css" type="text/css" media="screen" /> -->
<link rel="stylesheet" href="css/screen.css" type="text/css" media="screen" /><!--[if IE ]>
<style>
ul.speakers li .spkr_desc p:first-child:first-letter {
margin: -1em 0 0 0;
height: auto;
}
</style>
<![endif]-->
<!--[if IE 6]>
<link rel="stylesheet" href="css/ie6.css" type="text/css" media="screen" />
<![endif]-->
<script src="javascripts/jquery-1.4.2.min.js" type="text/javascript">
</script>
<script src="javascripts/site.js" type="text/javascript">
</script>
</head>
<body>
<div>
<a name="top" id="top"></a>
<div class="wrapper">
<div id="menuContainer" class="nav">
<ul id="menu">
<li class="first" id="home">
<a href="index.html"><span>Home</span></a>
</li>
<li id="about">
<a href="about.html"><span>About</span></a>
</li>
<li id="program">
<a href="program.html"><span>Program</span></a>
</li>
<li id="talks">
<a href="talks.html"><span>Talks</span></a>
</li>
<li id="sponsors">
<a href="sponsors.html"><span>Sponsors</span></a>
</li>
<li id="registration">
<a href="registration.html"><span>Register</span></a>
</li>
<li id="twitter">
<a href="http://twitter.com/#!/rubyconfindia" target="_blank"><span>Twitter</span></a>
</li>
<li id="badges">
<a href="badges.html"><span>Badges</span></a>
</li>
<li class="last" id="contact">
<a href="contact.html"><span>Contact</span></a>
</li>
</ul>
</div>
</div>
<div class="ultra_wide_content" id="main">
<div id="container">
<div id="left">
<ul>
<li class="contributor">
<dl>
<dt class="basicDetails">
:talk => "Software Quality and Test Strategies for Ruby and Rails Applications",
</dt>
<dt class="speaker_name">
:speakers => ["Bhavin Javia"]
</dt>
<span class="toggleImage"> </span>
<dd class="details" style="display:none;">
<div class="desc">Talk description</div>
<div class="talk_details">
Quality is one of the most important factors in deriving business value from software. However, many teams find it difficult to incorporate the appropriate quality and testing practices into their development processes. A test strategy helps create a shared understanding of what testing will be required, and how and when it will be executed.<br />
<br />
The Ruby and Rails communities have embraced testing and code quality as core values, and a rich ecosystem of tools has developed. Despite this support, many developers and teams overlook the creation of a test strategy as it is thought to be an unnecessary overhead that is traditionally associated with formal/waterfall style development methodologies. However, a well developed Test Strategy can be the difference between great software and a maintenance nightmare.<br />
<br />
This presentation will explain the process of defining quality (internal and external) for Ruby and Rails applications including metrics and targets. It will then explain the process for creating and executing a Test Strategy that ensures the intended quality objectives are achieved. Additionally, it will explain how to align a Test Strategy with the typical practices of a team using Agile or Lean methods.<br />
<br />
Learning Outcomes:<br />
<br />
<ol class="bullet_points_talk_description">
<li>
Definition of Software Quality and appropriate metrics and targets
</li>
<li>
Purpose and role of Test Strategy within an Agile development environment
</li>
<li>
Creation of a Test Strategy tailored to suit Ruby and Rails applications
</li>
<li>
Testing tool selection within Ruby ecosystem
</li>
<li>
Approach and benefits to Ruby developers focusing on code quality
</li>
</ol>
</div>
<div class="talks2_spkr_photo">
<img class="spkr_image" title="Bhavin Javia" alt="Bhavin Javia" src="images/speakers/bhavin.jpg" />
</div>
<div class="speaker_details">
Bhavin is an Agile Rubyist with several years of experience in designing, developing, testing and deployment of business critical applications in a wide variety of domains. He spent many years at ThoughtWorks, working and leading adoption of Ruby as a viable platform for enterprise class applications in India and abroad. A passionate proponent of Agile methodologies, he was a founding member of <a href="http://agileindia.org">ASCI</a> (Agile Software Community of India).<br />
<br />
Bhavin is the founder of <a href="http://ennova.in">Ennova India</a>, a Bangalore based startup with an aim to offer cutting-edge consulting and development services to small businesses and startups. He is also a part of the core team at <a href="http://ennova.com.au">Ennova</a> - an Australia-based startup company that is focused on providing the construction and engineering industries with great software products like <a href="http://envisionapp.com">Envision</a> and development services through <a href="http://getencode.com">Encode</a>.
</div>
</dd>
</dl>
</li>
<li class="contributor">
<dl>
<dt class="basicDetails">
:talk => "Ruby Plus Rails Plus Your Application Minus Rails"
</dt>
<dt class="speaker_name">
:speakers => ["Brian Guthrie"]
</dt>
<span class="toggleImage"> </span>
<dd class="details" style="display:none;">
<div class="desc">Talk description</div>
<div class="talk_details">
Ruby on Rails is a famously opinionated framework that handles ninety percent of the problems a typical web application faces. But what about the last ten percent? Every app has to jump off the Rails eventually, whether that means integrating with an external web service, importing data from another database, or providing enhanced search functionality. In this talk I'll lead you through some patterns for handling those cases, and discuss certain features of Rails 3 that let you leverage the best pieces of the core framework without resorting to ugly hacks. Finally we'll discuss what a new, more modular core framework means for a post-Rails world.
</div>
<div class="talks2_spkr_photo">
<img class="spkr_image" title="Brian Guthrie" alt="Brian Guthrie" src="images/speakers/speaker_avatar.jpg" />
</div>
<div class="speaker_details">
Brian Guthrie has been writing bad Ruby code for five years, every line of it worse than the last. He started his Ruby career in Boston, and after joining ThoughtWorks went on to write increasingly bad Ruby code in Chicago, New York, Texas, California, and India. He is currently writing the worst Ruby code of his career in Melbourne, Australia. He is thrilled to return once more to India to share his mistakes with the vibrant Ruby community there, in the sincere and humble spirit of collective mistake-repetition avoidance.
</div>
</dd>
</dl>
</li>
<li class="contributor">
<dl>
<dt class="basicDetails">
:talk => "Anti-Patterns and Patterns in Rails"
</dt>
<dt class="speaker_name">
:speakers => ["Chirantan Mitra", "Habibullah Pagarkar"]
</dt>
<span class="toggleImage"> </span>
<dd class="details" style="display:none;">
<div class="desc">Talk description</div>
<div class="talk_details">
The presenters, Chiku and Habib, were team members on a distributed Agile Software project. Their job was to quickly write mission critical Rails applications, and they practiced various aspects of Continuous Delivery. Over the duration of this project, they noticed the evolution of interesting patterns that were thought to be great ideas. Many were, some weren't.<br />
<br />
Chiku and Habib will be pair-presenting their learnings in a way that mirrors the eternal tussle that a developer faces daily - convenience versus quality. One of them will assume the role of a devil and persuasively present a code-fragment that mirrored one such anti-pattern. The other will then take over as an angel and explain the problem inherent in that code-fragment, and proceed to clean it up. They will then swap roles and proceed to the next point.<br />
<br />
At the end of this presentation the audience will have the knowledge of identifying and subsequently fixing similar manifestations of these problems in their code.
</div>
<div class="spkr_container">
<div class="talks2_spkr_photo">
<img class="spkr_image" title="Chirantan Mitra" alt="Chirantan Mitra" src="images/speakers/speaker_avatar.jpg" />
</div>
<div class="speaker_details">
Chirantan Mitra is better known as Chiku. He is a developer at ThoughtWorks with experience in working on complex domains mostly involving Ruby or C#. He has been programming since the age of nine - he loved it back then and still does so now. He conveniently forgets his Twitter handle from time to time, but remembers to <a href="https://github.com/chiku">share his code</a>.
</div>
</div>
<div class="spkr_container">
<div class="talks2_spkr_photo">
<img title="Habibullah Pagarkar" alt="Habibullah Pagarkar" src="images/speakers/habib.png" />
</div>
<div class="speaker_details">
Habibullah Pagarkar is almost always known as Habib. He juggles various roles at ThoughtWorks, but is primarily a software engineer. He abhors waste and loves efficiency - not just in software. In his spare time he can be found cycling along Bangalore's Old Airport Road. He very rarely updates his <a href="http://www.cs.jhu.edu/~habib">website</a>, but regularly tweets as <a href="http://www.twitter.com/mhabibp">@mhabibp</a>
</div>
</div>
</dd>
</dl>
</li>
<li class="contributor">
<dl>
<dt class="basicDetails">
:talk => "Test Load Balancer: Rocket Booster for your Build"
</dt>
<dt class="speaker_name">
:speakers => ["Janmejay Singh", "Pavan K Sudarshan"]
</dt>
<span class="toggleImage"> </span>
<dd class="details" style="display:none;">
<div class="desc">Talk description</div>
<div class="talk_details">
<a href="http://test-load-balancer.github.com/">Test Load Balancer (TLB)</a> is a tool that can automatically partition tests into multiple subsets, each one of which can be executed in parallel. The execution can happen on different physical/virtual machines or on the same machine as different processes or threads. The more the partitions, the less the number of tests executed on each one, and since all of the partitions start at the same time (and finish almost at the same time) overall test-execution time gets divided by the number of partitions you make. Test-running is by far the longest step in most (if not all) builds, and cutting down test-running time speeds up the build and hence the feedback loop. TLB can be used for any kind of test-suite - unit, integration or functional tests.<br />
<br />
In addition to balancing, TLB does other interesting things like re-order tests within a subset (set of tests that run on a partition) before they are executed. For instance, it re-arranges tests to execute failing ones (that failed in the previous build) first, hence ensuring early feedback.<br />
<br />
Most build servers (like Hudson, Go, TeamCity, Bamboo, etc.) and even tools like capistrano/cluster-ssh provide parallel execution capability (capability to execute command(s) on different machines at the same time). However, parallelization of tests needs a tool that can decide what tests need to be run in each such parallely running process across machines. This is where TLB comes in.<br />
<br />
This talk will introduce the audience to TLB concepts and include a demo of using TLB to partition RSpec and Test::Unit suites. It'll also include a case-study on how TLB helped cut build time from approximately 70 minutes to 11 minutes (which can of course be further reduced) just by throwing more hardware at it.
</div>
<div class="spkr_container">
<div class="talks2_spkr_photo">
<img title="Janmejay Singh" alt="Janmejay Singh" src="images/speakers/janmejay.jpg" />
</div>
<div class="speaker_details">
Janmejay (JJ) is a developer working at ThoughtWorks, Inc. in the Studios division. He has around 5 years of professional experience. He blogs <a href="http://codehunk.wordpress.com">here</a> and shares his code <a href="http://github.com/janmejay">here</a>. </div>
</div>
<div class="spkr_container">
<div class="talks2_spkr_photo">
<img title="Pavan Sudharshan" alt="Pavan Sudharshan" src="images/speakers/speaker_avatar.jpg" />
</div>
<div class="speaker_details">
Pavan is a developer working at ThoughtWorks, Inc. in the Studios division. He has around 5 years of professional experience. He blogs <a href="http://pavanks.blogspot.com">here</a> and shares his code <a href="http://github.com/itspanzi">here</a>.
</div>
</div>
</dd>
</dl>
</li>
<li class="contributor">
<dl>
<dt class="basicDetails">
:talk => "Ruby Plus Rails Plus Your Application Minus Rails"
</dt>
<dt class="speaker_name">
:speakers => ["Brian Guthrie"]
</dt>
<span class="toggleImage"> </span>
<dd class="details" style="display:none;">
<div class="desc">Talk description</div>
<div class="talk_details">
Ruby on Rails is a famously opinionated framework that handles ninety percent of the problems a typical web application faces. But what about the last ten percent? Every app has to jump off the Rails eventually, whether that means integrating with an external web service, importing data from another database, or providing enhanced search functionality. In this talk I'll lead you through some patterns for handling those cases, and discuss certain features of Rails 3 that let you leverage the best pieces of the core framework without resorting to ugly hacks. Finally we'll discuss what a new, more modular core framework means for a post-Rails world.
</div>
<div class="talks2_spkr_photo">
<img class="spkr_image" title="Brian Guthrie" alt="Brian Guthrie" src="images/speakers/speaker_avatar.jpg" />
</div>
<div class="speaker_details">
Brian Guthrie has been writing bad Ruby code for five years, every line of it worse than the last. He started his Ruby career in Boston, and after joining ThoughtWorks went on to write increasingly bad Ruby code in Chicago, New York, Texas, California, and India. He is currently writing the worst Ruby code of his career in Melbourne, Australia. He is thrilled to return once more to India to share his mistakes with the vibrant Ruby community there, in the sincere and humble spirit of collective mistake-repetition avoidance.
</div>
</dd>
</dl>
</li>
<li class="contributor">
<dl>
<dt class="basicDetails">
:talk => "Ruby Plus Rails Plus Your Application Minus Rails"
</dt>
<dt class="speaker_name">
:speakers => ["Brian Guthrie"]
</dt>
<span class="toggleImage"> </span>
<dd class="details" style="display:none;">
<div class="desc">Talk description</div>
<div class="talk_details">
Ruby on Rails is a famously opinionated framework that handles ninety percent of the problems a typical web application faces. But what about the last ten percent? Every app has to jump off the Rails eventually, whether that means integrating with an external web service, importing data from another database, or providing enhanced search functionality. In this talk I'll lead you through some patterns for handling those cases, and discuss certain features of Rails 3 that let you leverage the best pieces of the core framework without resorting to ugly hacks. Finally we'll discuss what a new, more modular core framework means for a post-Rails world.
</div>
<div class="talks2_spkr_photo">
<img class="spkr_image" title="Brian Guthrie" alt="Brian Guthrie" src="images/speakers/speaker_avatar.jpg" />
</div>
<div class="speaker_details">
Brian Guthrie has been writing bad Ruby code for five years, every line of it worse than the last. He started his Ruby career in Boston, and after joining ThoughtWorks went on to write increasingly bad Ruby code in Chicago, New York, Texas, California, and India. He is currently writing the worst Ruby code of his career in Melbourne, Australia. He is thrilled to return once more to India to share his mistakes with the vibrant Ruby community there, in the sincere and humble spirit of collective mistake-repetition avoidance.
</div>
</dd>
</dl>
</li>
</ul>
</div>
<div id="right">
<div class="base_content_blurb">
<h2>
RubyConf India 2011
</h2>
<blockquote>
India's second RubyConf is happening in Bangalore in May 2011. RubyConf India is presented by the <span>Ruby Community</span> in India and supported by <a href="http://www.rubycentral.org"><span>RubyCentral</span></a> and the <span>Innovation & Technology Trust</span>.
</blockquote>
<address>
<a href="location.html" title="#1, Golf Avenue, (Adjoining KGA Golf Course), Old Airport Road, Bangalore 560 008.">Royal Orchid Hotel</a>, Bangalore
</address>
<div>
28th & 29th May
</div>
</div>
<div class="full_page_logo"></div>
<div class="full_page_register">
<a href="http://rubyconfindia.doattend.com">Register Now</a>
</div>
</div>
<div id="contributorDetailsSlider">
<div class="holder">
<img src="images/fancy_close.png" alt="close" style="display:none;" class="close" />
<div class="slider_content" style="display:none;"></div>
</div>
</div>
</div>
</div>
<div class="footer">
Designed by: <a href="http://www.webdesigncreatives.com" target="_blank">Web Design Creatives</a>, RubyConf India Logo Credits: <a href="http://www.outsmart360.com" target="_blank">www.outsmart360.com</a>
</div>
</div>
<!-- <script type="text/javascript">
//<![CDATA[
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
//]]>
</script> -->
<script type="text/javascript">
//<![CDATA[
try {
var pageTracker = _gat._getTracker("UA-10855424-1");
pageTracker._trackPageview();
} catch(err) {}
//]]>
</script>
</body>
</html>