]> gitweb.michael.orlitzky.com - dead/whatever-dl.git/blob - test/fixtures/infoq/jim-weirich-discusses-rake.html
Added the Infoq site.
[dead/whatever-dl.git] / test / fixtures / infoq / jim-weirich-discusses-rake.html
1 <html>​​​​​<head><title>InfoQ: Jim Weirich Discusses Rake, the Ruby Make Tool</title>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <meta http-equiv="pragma" content="no-cache">
17 <meta http-equiv="cache-control" content="no-cache">
18 <meta http-equiv="expires" content="0">
19 <meta http-equiv="content-type" content="text/html; charset=utf-8">
20 <meta name="copyright" content="© 2006 C4Media">
21 <meta name="author" content="alex[at]c4media[dot]com">
22
23
24
25 <link rel="stylesheet" type="text/css" media="screen" href="/styles/style.css">
26 <link rel="stylesheet" type="text/css" media="print" href="/styles/print.css"><!--[if IE]>
27 <link rel="stylesheet" type="text/css" media="screen" href="/styles/style-ie.css" />
28 <![endif]-->
29
30 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
31
32 <script src="/scripts/JSResource_en.js" type="text/javascript"></script>
33 <script src="/scripts/commons.js" type="text/javascript"></script>
34 <script src="/scripts/ContentSummary.js" type="text/javascript"></script>
35 <script src="/scripts/CategoryManagement.js" type="text/javascript"></script>
36 <script src="/dwr/engine.js" type="text/javascript"></script>
37 <script src="/dwr/util.js" type="text/javascript"></script>
38 <script src="/dwr/interface/UserCategoryUtil.js" type="text/javascript"></script>
39 <script src="/dwr/interface/DWRRewriteAction.js" type="text/javascript"></script>
40
41
42
43 <meta name="keywords" content="jim weirich discusses rake,Ruby,Domain Specific Languages,Build systems,Rake,Mocks,">
44 <meta name="description" content="Jim Weirich, is the Chief Scientist for EdgeCase LLC and thecreator of rake, the popular make-like build tool written in Ruby. In this interview with InfoQ, Jim disccusses the birth of rake, Domain Specific Languages, and flexmock, his mocking library.">
45
46 <script type="text/javascript" src="/scripts/flashdetect.js"></script>
47 <script type="text/javascript" src="/scripts/scrubber/FABridge.js"></script>
48 <script type="text/javascript" src="/scripts/scrubber/FLVScrubberInterview.js"></script></head><body onload="init()">
49
50
51
52
53
54 <script src="/scripts/prototype.js" type="text/javascript"></script>
55 <script src="/scripts/login.js" type="text/javascript"></script>
56 <script type="text/javascript">
57 var loginLanguage='en';
58 var loginURL='/login.action';
59 var registerURL='/reginit.action';
60 var reactivateURL='/reactivate.action';
61 var reserpasswordURL='/resetpassword.action';
62 var loggedIn=false;
63 var logoutURL='/logout.action';
64 var editUserURL='/edituser.action';
65 var aboutURL='/about.jsp';
66 var homeURL='/';
67 </script>
68 <div id="tooltip" style="display: none;"></div>
69 <div id="loginWindow" style="display: none;"></div>
70 <div id="tagPopup" style="display: none;"></div>
71 <div id="container">
72 <h1 class="logo"><a style="" href="#">InfoQ</a></h1>
73
74
75
76
77
78
79
80
81
82 <div id="header">
83 <p class="skip"><a style="" href="#content">Skip to Content</a></p>
84
85 <div id="quote"><p>Tracking change and innovation in the enterprise software development community</p></div>
86
87 <div style="margin: 0pt 0pt 2px; padding: 0pt; float: left; width: 29%; position: relative;">
88 <p style="margin: 0pt; padding: 6px 37px 0pt 0pt; float: right;">
89
90
91
92
93
94
95
96 En | <a href="/cn/">中文</a> | <a href="/jp/">日本語</a>
97
98 </p>
99 <p style="margin: 0pt; padding: 6px 9px; text-align: left;">
100 <a href="/articles/InfoQ-Changelog" style="text-decoration: none; color: black;">Version 1.4</a>
101 </p>
102 </div>
103 </div>
104
105
106
107 <div id="sidebar">
108 <div id="sidebar-wrapper">
109
110
111
112
113
114 <div class="s-logo">
115
116 <p class="r-logo"><a href="/">InfoQ</a></p>
117 </div>
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133 <span style="font-size: x-small;">
134
135
136
137 320,944 May unique visitors
138 </span>
139
140
141
142
143
144
145
146
147
148
149
150 <div class="box-simple">
151 <div class="box-simple-top"></div>
152 <div id="mainLoginArea" class="box-simple-content">
153
154
155 <ul>
156 <li><a href="/reginit.action">Register</a></li>
157 <li><a href="javascript:void(0)" onclick="javascript:showLoginWindow(this,ALIGN_LEFT,new Function('void(0);'));">Login</a></li>
158 <li><a href="/about.jsp">About us</a></li>
159
160
161
162
163
164 <li><a href="/rss/rss.action?token=JjnFl96mlUojLN35SZV6ruxkzcQU26Qx">Personal feed <img src="/styles/i/btn-rss-blue.gif" alt="RSS Feed"></a></li>
165
166 <li><a href="/">Home</a></li>
167 </ul>
168
169 </div>
170 <div class="box-simple-bottom"></div>
171 </div>
172
173
174
175
176
177
178
179
180
181 <div id="mainCommunitiesArea" class="box">
182 <h2>Your Communities</h2>
183 <div class="top-corners"><div></div></div>
184 <div class="box-content">
185 <div class="box-content-2">
186
187
188
189
190
191 <script language="JavaScript">
192 var communityChangeMessage = 'Your new preferences will be used starting with the next refresh.';
193 </script>
194
195 <div id="communities">
196 <ul>
197
198 <li><input name="java" value="true" checked="checked" id="community1" onclick="includeExcludeCommunity(this);" type="checkbox">
199 <a href="/java/">Java</a></li>
200
201 <li><input name="dotnet" value="true" checked="checked" id="community4" onclick="includeExcludeCommunity(this);" type="checkbox">
202 <a href="/dotnet/">.NET</a></li>
203
204 <li><input name="ruby" value="true" checked="checked" id="community5" onclick="includeExcludeCommunity(this);" type="checkbox">
205 <a href="/ruby/">Ruby</a></li>
206
207 <li><input name="soa" value="true" checked="checked" id="community2" onclick="includeExcludeCommunity(this);" type="checkbox">
208 <a href="/soa/">SOA</a></li>
209
210 <li><input name="agile" value="true" checked="checked" id="community3" onclick="includeExcludeCommunity(this);" type="checkbox">
211 <a href="/agile/">Agile</a></li>
212
213 <li><input name="architecture" value="true" checked="checked" id="community1389" onclick="includeExcludeCommunity(this);" type="checkbox">
214 <a href="/architecture/">Architecture</a></li>
215
216 </ul>
217 </div>
218 <div id="communitiesMessage"></div>
219 </div></div>
220 <div class="bottom-corners"><div></div></div>
221 </div>
222
223
224
225
226
227
228
229
230
231 <script type="text/javascript">
232 function doSearch(){
233 var searchString = document.getElementById("searchId").value;
234 document.getElementById("searchTerm").value = searchString + " site:www.infoq.com";
235 document.getElementById("submitForm").submit();
236 }
237
238 function clearSearchText(){
239 var searchtext = document.getElementById("searchId").value
240 if(searchtext==JSResource.search){
241 document.getElementById("searchId").value="";
242 }
243 }
244 </script>
245 <form action="http://www.google.com/search" method="get" id="submitForm" target="_blank">
246 <input name="q" id="searchTerm" type="hidden">
247 </form>
248
249 <div style="background: transparent url(/images/bg-search.gif) no-repeat scroll 0pt 4px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
250 <input name="search" id="searchId" value="Search" style="border: 0px none ; padding: 0pt 9px; width: 85%; background-color: transparent; height: 19px;" onclick="clearSearchText();" onkeypress="if ((event.which && event.which == 13)||(event.keyCode && event.keyCode == 13)){doSearch();}" onblur="if(this.value=='') this.value=JSResource.search" type="text">
251 <a href="#" onclick="doSearch();return false;"><img src="/images/btn-search.gif" alt="Search"></a>
252 </div>
253
254
255
256
257
258
259 <div class="box-simple">
260 <div class="box-simple-top"></div>
261 <div id="featuredTopics" class="box-simple-content">
262
263
264
265
266
267
268 <h2>Featured Topics</h2>
269 <div>
270 <ul>
271 <li><a href="/virtualization/">Virtualization</a></li>
272 <li><hr style="border: 0pt none ; width: 100%; height: 1px; color: rgb(200, 200, 200); background-color: rgb(200, 200, 200);"></li>
273 <li><a href="/performance-scalability/">Performance &amp; Scalability</a></li>
274 <li><hr style="border: 0pt none ; width: 100%; height: 1px; color: rgb(200, 200, 200); background-color: rgb(200, 200, 200);"></li>
275 <li><a href="/rest/">REST &amp; Web Architecture</a></li>
276 <li><hr style="border: 0pt none ; width: 100%; height: 1px; color: rgb(200, 200, 200); background-color: rgb(200, 200, 200);"></li>
277 <li><a href="/governance/">SOA Governance</a></li>
278 </ul>
279 </div>
280
281
282
283 </div>
284 <div class="box-simple-bottom"></div>
285 </div>
286
287
288
289
290
291
292
293
294 <div class="box-simple">
295 <div class="box-simple-top"></div>
296 <div class="box-simple-content adsTower2" id="leftbartextlinks">
297 <div style="background: white none repeat scroll 0%; width: 120px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
298
299
300
301
302
303
304 <h3>Sponsored Links</h3>
305
306
307 <p><a id="tl-53" onclick="Ads.clickTextLink(this, 53);" href="http://www.projectzero.org/" target="_blank">Create&nbsp;REST<br>-enabled&nbsp;Web&nbsp;Apps</a><br>with&nbsp;Project&nbsp;Zero<br>from&nbsp;IBM.</p>
308
309 <p><a id="tl-76" onclick="Ads.clickTextLink(this, 76);" href="http://www-306.ibm.com/software/webservers/appserv/extend/virtualenterprise/" target="_blank">IBM WebSphere</a><br>Virtualize apps<br>to lower costs,<br>Increase agility<br><a id="tl-76" onclick="Ads.clickTextLink(this, 76);" href="http://www-306.ibm.com/software/webservers/appserv/extend/virtualenterprise/" target="_blank">Learn more!</a></p>
310
311 <p>Terracotta:<br>Scale your<br>Apps w/ease<br>Offload the DB:<br><a id="tl-79" onclick="Ads.clickTextLink(this, 79);" href="http://www.terracotta.org/confluence/display/orgsite/Download" target="_blank">Learn More!</a></p>
312
313
314 </div>
315 </div>
316 <div class="box-simple-bottom"></div>
317 </div>
318
319
320 <div class="box-simple">
321 <div class="box-simple-top"></div>
322 <div class="box-simple-content">
323 <p class="banner" id="bannerparagraph">
324
325
326
327
328
329
330 <a class="towerAdLeft" id="sk-59" href="http://www.versionone.com/getfreeteam" onclick="Ads.clickSkyscraper(this, 59 );" target="_blank"><img style="display: none;" src="/ads/VersionOneBanner.gif"></a>
331
332
333
334 </p>
335 </div>
336 <div class="box-simple-bottom"></div>
337 </div>
338
339 <div class="box-simple">
340 <div class="box-simple-top"></div>
341 <div class="box-simple-content">
342 <p class="banner">
343 <img style="display: none;" src="/styles/i/banners/books.gif" usemap="#booksmap" alt="">
344 <map name="booksmap"><area href="http://www.infoq.com/minibooks/scrum-xp-from-the-trenches" alt="Scrum and XP from the Trenches" title="Scrum and XP from the Trenches" shape="rect" coords="0,75,120,100"><area href="http://www.infoq.com/minibooks/starting-struts2" alt="Starting Struts 2" title="Starting Struts 2" shape="rect" coords="0,110,120,125"><area href="http://www.infoq.com/minibooks/agile-patterns" alt="Agile Patterns: The Technical Cluster" title="Agile Patterns: The Technical Cluster" shape="rect" coords="0,130,120,160"><area href="http://www.infoq.com/minibooks/ruby" alt="Mr. Neighborly's Humble Little Ruby Book" title="Mr. Neighborly's Humble Little Ruby Book" shape="rect" coords="0,165,120,205"><area href="http://www.infoq.com/minibooks/grails" alt="Getting Started with Grails" title="Getting Started with Grails" shape="rect" coords="0,210,120,235"><area href="http://www.infoq.com/minibooks/domain-driven-design-quickly" alt="Domain Driven Design Quickly" title="Domain Driven Design Quickly" shape="rect" coords="0,245,120,270"><area href="http://www.infoq.com/minibooks/scrum-checklists" alt="Scrum Checklists" title="Scrum Checklists" shape="rect" coords="0,275,120,290"><area href="http://www.infoq.com/minibooks/enterprise-soa" alt="Enterprise SOA Adoption Strategies" title="Enterprise SOA Adoption Strategies" shape="rect" coords="0,300,120,323"><area href="http://www.infoq.com/minibooks/vsnettt" alt="Visual Studio .NET Tips and Tricks" title="Visual Studio .NET Tips and Tricks" shape="rect" coords="0,330,120,355"><area href="http://www.infoq.com/minibooks/JTDS" alt="Java Transaction Design Strategies" title="Java Transaction Design Strategies" shape="rect" coords="0,365,120,390">
345
346
347
348
349
350
351
352
353
354
355 </map>
356 </p>
357 </div>
358 <div class="box-simple-bottom"></div>
359 </div>
360
361
362 <div class="sidebar-bottom"></div>
363 </div>
364 </div>
365
366
367 <div id="clearer"></div>
368
369
370 <div id="content">
371 <div id="content-wrapper">
372
373 <div class="box">
374
375
376
377 <h2>Interview</h2>
378 <div class="top-corners"><div></div></div>
379 <div class="box-content">
380 <div class="box-content-2">
381 <div class="box-content-3">
382
383 <div style="padding: 3px 0pt; clear: both; width: 100%; background-color: rgb(254, 255, 191); margin-bottom: 10px; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px;">
384 &nbsp;&nbsp;&nbsp;<b>Good News:</b>&nbsp;We have re-worked our video infrastructure to provide more reliable service. Please email bugs at infoq.com with any problems.
385 </div>
386
387 <h1>Jim Weirich Discusses Rake, the Ruby Make Tool </h1>
388
389 <p class="info">
390 Interview with
391 <strong>Jim Weirich</strong>
392
393 by
394 <strong>Werner Schuster</strong>
395
396 on
397 Apr 17, 2008 03:12 AM
398 </p>
399 <dl class="tags2">
400 <dt class="community">Community</dt>
401
402 <dd><a href="/ruby" name="ruby" id="5" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Ruby</a></dd>
403
404 <dt class="topics">Topics</dt>
405
406 <dd><a href="/dsl" name="dsl" id="176" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Domain Specific Languages</a>,</dd>
407
408 <dd><a href="/builds" name="builds" id="12" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Build systems</a></dd>
409
410
411 <dt class="topics">Tags</dt>
412
413 <dd><a href="/rake" name="rake" id="178" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Rake</a>,</dd>
414
415 <dd><a href="/mocks" name="mocks" id="288" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Mocks</a></dd>
416
417
418 </dl>
419
420 <script type="text/javascript">
421 var TIMES = new Array(0,94,214,220,250,309,328,365,484,630,761,838,852,859,919,981,1012,1177,1239,1378,1472,1483,1616,1640,1658,1720,1731,1771,1868,1897,1900,1915);
422 var ACTION_IMG_EXPAND = '/styles/i/icon-open.gif';
423 var ACTION_IMG_COLLAPSE = '/styles/i/icon-collapse.gif';
424 var jsclassref='aHR0cDovL2Zsdi50aHJ1aGVyZS5uZXQvaW50ZXJ2aWV3cy9KaW1XZWlyaWNoLmZsdg==';
425 </script>
426
427
428
429 <div id="interviewContent" style="width: 100%;">Please install <a target="_blank" href="http://www.adobe.com/go/getflashplayer">Flash player</a>.</div>
430
431 <script type="text/javascript">
432 FlashDetect.check(9, "interviewContent", "The interview player requires <a href='http://www.macromedia.com/go/getflashplayer' target='_blank'>Flash version 9</a>.", "Please install <a target='_blank' href='http://www.adobe.com/go/getflashplayer'>Flash player</a>.");
433 </script>
434
435 <div style="display: block; margin-top: 15px;">
436 <div style="display: inline; margin-right: 0px;" align="right">
437
438
439
440
441
442
443 <dl class="tags3">
444 <dt>Bookmark</dt>
445 <dd>
446 <a target="_blank" href="" onclick="this.href='http://digg.com/submit?phase=2&url=' + escape(window.location)" rel="nofollow">digg+</a>,
447 </dd>
448 <dd>
449 <a target="_blank" href="" onclick="this.href='http://reddit.com/submit?url=' + escape(window.location) + '&title=' + escape('Jim Weirich Discusses Rake, the Ruby Make Tool ')" rel="nofollow">reddit+</a>,
450 </dd>
451 <dd>
452 <a target="_blank" href="" onclick="this.href='http://del.icio.us/post?url=' + escape(window.location) + '&title=' + escape('Jim Weirich Discusses Rake, the Ruby Make Tool ')" rel="nofollow">del.icio.us+</a>,
453 </dd>
454 <dd>
455 <a target="_blank" href="" onclick="this.href='http://www.dzone.com/links/add.html?url=' + escape(window.location) + '&title=' + escape('Jim Weirich Discusses Rake, the Ruby Make Tool ')" rel="nofollow">dzone+</a>,
456 </dd>
457 <dd>
458 <a target="_blank" href="" onclick="this.href='http://www.facebook.com/share.php?u=' + escape(window.location)" rel="nofollow">facebook+</a>
459 </dd>
460 </dl>
461
462 </div>
463
464 </div>
465
466
467
468
469
470
471
472
473 <div class="vendor-content-box">
474
475 <h3>Related<span class="vendor">Vendor</span>Content</h3>
476
477
478
479
480
481 <p class="entrypdf">
482 <a href="/vendorcontent/show.action?vcr=213" target="_blank">
483 Introducing Project Zero: Building RESTful services for your Web application
484 </a>
485 </p>
486
487
488
489
490 <p class="entrypdf">
491 <a href="/vendorcontent/show.action?vcr=294">
492 Agile Tool Evaluation Guide
493 </a>
494 </p>
495
496
497
498
499 <p class="entrypdf">
500 <a href="/vendorcontent/show.action?vcr=293">
501 Evaluation Guide: Is Your SCM Tool Ready for Agile?
502 </a>
503 </p>
504
505
506
507
508 <p class="entrypdf">
509 <a href="/vendorcontent/show.action?vcr=312" target="_blank">
510 IBM software architect eKit: Grady Booch podcast, whitepapers, articles
511 </a>
512 </p>
513
514
515
516
517 <p class="entrypdf">
518 <a href="/vendorcontent/show.action?vcr=313" target="_blank">
519 IBM Agile Development eKit: Free Articles, Expert Q&amp;A, Educational Resources
520 </a>
521 </p>
522
523
524
525
526
527
528
529 </div>
530
531
532
533
534
535
536
537
538
539
540 <script type="text/javascript">
541 var replyEnabled=true;
542 var forumID=1;
543 var threadID=5920;
544 var previewText='Preview';
545 var pleaseWait='Please Wait ...';
546 var reply='Reply';
547 var postMessage='Post Message';
548 var errorSubject='Please enter a subject.';
549 var errorBody='You can not post a blank message. Please type your message and try again.';
550 var cancel='Cancel';
551 var goBackOrEdit='Go Back/Edit';
552 var re='Re:';
553 var lastMessage=0;
554 var stopWatchText='Stop Watching Thread';
555 var startWatchText='Watch Thread';
556 var descending='false';
557 var ctxPath= '';
558 var postAddress= ctxPath + '/forum/post!post.action?language=' + 'en';
559 var postAddWatches= ctxPath + '/forum/watches!add.action';
560 var postRemoveWatches= ctxPath + '/forum/watches!remove.action';
561 var loggedIn=false;
562 </script>
563
564 <script src="/scripts/forum.js?rev=new" type="text/javascript"></script>
565
566 <div class="comments-header">
567 <h3>No comments</h3>
568 <p>
569
570 <a href="javascript:void(0)" class="comment-reply" onclick="javascript:loggedIn?replyFromTooltip(21380,true):showLoginWindow(this,ALIGN_RIGHT,new Function('replyFromTooltip(21380,true)'));">Reply</a>
571 </p>
572 </div>
573
574 <span id="newMessage" style="display: none;"></span>
575
576 <span id="replyTree_21380"></span>
577 <span id="replyMessage_21380"></span>
578
579
580 <div class="comments-sort">
581 <span id="comments-sort" style="display: none;">
582
583
584 <a class="comment-sort-desc" href="javascript:changeOrder(2);">Sort by date descending</a>
585
586 </span>
587 </div>
588
589 <ol class="comments">
590
591
592
593
594 <span id="lastMessages"></span>
595 <span id="replyFlatMessage_21380"></span>
596
597 </ol>
598
599
600
601 <div class="box-bottom"></div>
602 </div>
603 </div>
604 <div class="bottom-corners"><div></div></div>
605 </div>
606
607
608
609 </div>
610
611 </div></div>
612
613
614
615
616
617
618
619
620 <!-- right side start -->
621
622 <div id="rightbar">
623 <div id="right-wrapper">
624 <!-- box start -->
625 <div class="box">
626 <h2>Exclusive Content</h2>
627 <ul class="menu" id="tabsmenu">
628 <li id="tab_ALL_EXCEPT_NEWS" class="m-ALL_EXCEPT_NEWS-on"><a href="#" onclick="ContentSummary.switchTab('ALL_EXCEPT_NEWS');return false;">All</a></li>
629 <li id="tab_ARTICLE" class="m-ARTICLE-off"><a href="#" onclick="ContentSummary.switchTab('ARTICLE');return false;">Articles</a></li>
630 <li id="tab_PRESENTATION" class="m-PRESENTATION-off"><a href="#" onclick="JSResource.presentationsTab();return false;">Presentations</a></li>
631 <li id="tab_INTERVIEW" class="m-INTERVIEW-off"><a href="#" onclick="JSResource.interviewsTab();return false;">Interviews</a></li>
632 <li id="tab_MINIBOOK" class="m-MINIBOOK-off"><a href="#" onclick="JSResource.minibooksTab();return false;">Minibooks</a></li>
633 </ul>
634 <div class="top-corners"><div></div></div>
635
636 <div class="box-content">
637 <div class="box-content-2">
638 <div id="rightbarcontentbox" class="box-content-3">
639
640
641
642
643
644
645
646
647 <form id="tabstateform" action="">
648 <input id="startIndex" name="startIndex" value="0" type="hidden">
649 <input id="selectedTab" name="selectedTab" value="ALL_EXCEPT_NEWS" type="hidden">
650 <input id="rightBarLanguage" name="language" value="en" type="hidden">
651 </form>
652
653
654
655
656
657 <div class="entry">
658 <h1 class="ex-interviews"><a href="/interviews/bryant-ruby-maglev-gemstone">Avi Bryant on MagLev and GemStone </a></h1>
659
660 <p class="image"><a href="/interviews/bryant-ruby-maglev-gemstone"><img src="/resource/interviews/bryant-ruby-maglev-gemstone/en/smallimage/AviBryant.jpg" alt=""></a></p>
661
662 <p>Avi Bryant talks about working on MagLev, a Ruby implementation built by GemStone. Avi explains the reasons for MagLev, the merits of GemStone's distributed OODB features, and more.</p>
663 <ul class="info link-col">
664 <li>
665
666 <a href="/architecture" name="architecture" id="1,389" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Architecture</a>,
667
668 <a href="/ruby" name="ruby" id="5" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Ruby</a>,
669
670 </li>
671 <li class="author"><span>&nbsp;</span>Jun 13, 2008,</li>
672
673 <li class="comments">
674 <a href="/interviews/bryant-ruby-maglev-gemstone"><span>&nbsp;</span>
675
676 </a>
677 </li>
678
679 </ul>
680 </div>
681
682 <div class="clearer"></div>
683
684
685
686
687 <div class="entry">
688 <h1 class="ex-articles"><a href="/articles/rising-agile-spirit-numbers">Using Numbers to Communicate - in the Spirit of Agile</a></h1>
689
690 <p class="image"><a href="/articles/rising-agile-spirit-numbers"><img src="/resource/articles/rising-agile-spirit-numbers/en/smallimage/Spirit_of_Agile_small.jpg" alt=""></a></p>
691
692 <p>Developers and the business use numbers differently, leading to poor communication. Here the "Spirit of Agile" tells a developer the trick: translate non-computational issues into number language.</p>
693 <ul class="info link-col">
694 <li>
695
696 <a href="/agile" name="agile" id="3" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Agile</a>,
697
698 </li>
699 <li class="author"><span>&nbsp;</span>Jun 13, 2008,</li>
700
701 <li class="comments">
702 <a href="/articles/rising-agile-spirit-numbers"><span>&nbsp;</span>
703
704 </a>
705 </li>
706
707 </ul>
708 </div>
709
710 <div class="clearer"></div>
711
712
713
714
715 <div class="entry">
716 <h1 class="ex-presentations"><a href="/presentations/Agile-Adoption-Joseph-Pelrine">Dealing With the Organizational Challenges of Agile Adoption</a></h1>
717
718 <p class="image"><a href="/presentations/Agile-Adoption-Joseph-Pelrine"><img src="/resource/presentations/Agile-Adoption-Joseph-Pelrine/en/smallimage/JPelrine.jpg" alt=""></a></p>
719
720 <p>In this presentation filmed during QCon London 2007, Joseph Pelrine talks about the challenges faced by organizations trying to adopt Agile methods.</p>
721 <ul class="info link-col">
722 <li>
723
724 <a href="/agile" name="agile" id="3" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Agile</a>,
725
726 </li>
727 <li class="author"><span>&nbsp;</span>Jun 12, 2008,</li>
728
729 <li class="comments">
730 <a href="/presentations/Agile-Adoption-Joseph-Pelrine"><span>&nbsp;</span>
731
732 </a>
733 </li>
734
735 </ul>
736 </div>
737
738 <div class="clearer"></div>
739
740
741
742
743 <div class="entry">
744 <h1 class="ex-articles"><a href="/articles/ddd-in-practice">Domain Driven Design and Development In Practice</a></h1>
745
746 <p class="image"><a href="/articles/ddd-in-practice"><img src="/resource/articles/ddd-in-practice/en/smallimage/imagesmall.gif" alt=""></a></p>
747
748 <p>In this article, Srini Penchikala discusses Domain Driven Design from a practical stand-point. The article looks at architectural guidelines and best practices that can be used in a DDD project.</p>
749 <ul class="info link-col">
750 <li>
751
752 <a href="/architecture" name="architecture" id="1,389" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Architecture</a>,
753
754 <a href="/java" name="java" id="1" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Java</a>,
755
756 </li>
757 <li class="author"><span>&nbsp;</span>Jun 12, 2008,</li>
758
759 <li class="comments">
760 <a href="/articles/ddd-in-practice"><span>&nbsp;</span>
761
762 6
763
764 </a>
765 </li>
766
767 </ul>
768 </div>
769
770 <div class="clearer"></div>
771
772
773
774
775 <div class="entry">
776 <h1 class="ex-presentations"><a href="/presentations/colyer-server-side-osgi">Server Side OSGi</a></h1>
777
778 <p class="image"><a href="/presentations/colyer-server-side-osgi"><img src="/resource/presentations/colyer-server-side-osgi/en/smallimage/AdrianColyer.jpg" alt=""></a></p>
779
780 <p>Adrian Colyer describes OSGi, OSGi implementations, modularity, versioning, operational control, server-side OSGi, design considerations, using existing libraries, and Spring Dynamic Modules.</p>
781 <ul class="info link-col">
782 <li>
783
784 <a href="/java" name="java" id="1" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Java</a>,
785
786 </li>
787 <li class="author"><span>&nbsp;</span>Jun 11, 2008,</li>
788
789 <li class="comments">
790 <a href="/presentations/colyer-server-side-osgi"><span>&nbsp;</span>
791
792 </a>
793 </li>
794
795 </ul>
796 </div>
797
798 <div class="clearer"></div>
799
800
801
802
803 <div class="entry">
804 <h1 class="ex-presentations"><a href="/presentations/Agile-Architecture-Is-Not-Fragile-Architecture-James-Coplien-Kevlin-Henney">Agile Architecture Is Not Fragile Architecture</a></h1>
805
806 <p class="image"><a href="/presentations/Agile-Architecture-Is-Not-Fragile-Architecture-James-Coplien-Kevlin-Henney"><img src="/resource/presentations/Agile-Architecture-Is-Not-Fragile-Architecture-James-Coplien-Kevlin-Henney/en/smallimage/coplienhenney.jpg" alt=""></a></p>
807
808 <p>In this presentation filmed during QCon 2007, Coplien and Henney describe how to start with enough architecture to ensure long term success of an Agile developed project.</p>
809 <ul class="info link-col">
810 <li>
811
812 <a href="/architecture" name="architecture" id="1,389" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Architecture</a>,
813
814 <a href="/agile" name="agile" id="3" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Agile</a>,
815
816 </li>
817 <li class="author"><span>&nbsp;</span>Jun 10, 2008,</li>
818
819 <li class="comments">
820 <a href="/presentations/Agile-Architecture-Is-Not-Fragile-Architecture-James-Coplien-Kevlin-Henney"><span>&nbsp;</span>
821
822 3
823
824 </a>
825 </li>
826
827 </ul>
828 </div>
829
830 <div class="clearer"></div>
831
832
833
834
835 <div class="entry">
836 <h1 class="ex-articles"><a href="/articles/nuescheler-jcr-rest">David Nuescheler on JCR and REST</a></h1>
837
838 <p class="image"><a href="/articles/nuescheler-jcr-rest"><img src="/resource/articles/nuescheler-jcr-rest/en/smallimage/files.jpg" alt=""></a></p>
839
840 <p>In this interview, Day CTO and JCR Spec Lead David Nuescheler discusses JCR, the Java Content Repository standard, its connection to REST, and the Sling web framework.</p>
841 <ul class="info link-col">
842 <li>
843
844 <a href="/java" name="java" id="1" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Java</a>,
845
846 <a href="/soa" name="soa" id="2" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">SOA</a>,
847
848 </li>
849 <li class="author"><span>&nbsp;</span>Jun 10, 2008,</li>
850
851 <li class="comments">
852 <a href="/articles/nuescheler-jcr-rest"><span>&nbsp;</span>
853
854 1
855
856 </a>
857 </li>
858
859 </ul>
860 </div>
861
862 <div class="clearer"></div>
863
864
865
866
867 <div class="entry">
868 <h1 class="ex-articles"><a href="/articles/nasdaq-case-study-air-and-s3">InfoQ Case Study: NASDAQ Market Replay</a></h1>
869
870 <p class="image"><a href="/articles/nasdaq-case-study-air-and-s3"><img src="/resource/articles/nasdaq-case-study-air-and-s3/en/smallimage/image_amazon_air.jpg" alt=""></a></p>
871
872 <p>In this case study InfoQ reviews the usage of Adobe AIR and Amazon Simple Storage Service (S3) in the NASDAQ Market Replay application. </p>
873 <ul class="info link-col">
874 <li>
875
876 <a href="/architecture" name="architecture" id="1,389" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Architecture</a>,
877
878 <a href="/java" name="java" id="1" onclick="try {CategoryPopup.showPopup(this);} catch(e) {}; return false;">Java</a>,
879
880 </li>
881 <li class="author"><span>&nbsp;</span>Jun 09, 2008,</li>
882
883 <li class="comments">
884 <a href="/articles/nasdaq-case-study-air-and-s3"><span>&nbsp;</span>
885
886 1
887
888 </a>
889 </li>
890
891 </ul>
892 </div>
893
894 <div class="clearer"></div>
895
896
897
898 <ul class="newsnav link-col">
899
900
901
902
903 <li><a href="#" onclick="ContentSummary.setStartIndex('8');return false;">Older &gt;</a></li>
904
905
906
907 </ul>
908
909
910 <div class="box-bottom"></div>
911 </div>
912 </div>
913 <div class="bottom-corners"><div></div></div>
914 </div>
915 </div>
916 <!-- box end -->
917 <script type="text/javascript">
918 ContentSummary.setSelectedTab('en');
919 </script>
920 </div>
921 </div>
922
923 <!-- right side end -->
924
925
926 <div class="clearer"></div>
927
928
929
930
931
932
933
934
935 <div id="footer">
936 <p>
937 InfoQ.com and all content copyright © 2006-2007 C4Media Inc.
938 InfoQ.com hosted at <a href="http://www.contegix.com/">Contegix</a>, the best ISP we've ever worked with.
939 <a href="/PrivacyPolicy.jsp">Privacy policy</a>
940 </p>
941 </div>
942
943
944 </div>
945
946
947
948
949
950
951 <script type="text/javascript">
952 var includeName = 'Include';
953 var excludeName = 'Exclude';
954 var includeHint = 'You can include this category.';
955 var excludeHint = 'You can exclude this category.';
956 var excludeCategoryMessage = 'You can re-include from your profile personalization, or right now.<BR />';
957 var viewallCategoryMessage = 'You can view all items that belong to this category.';
958 var busyMessage = 'Please wait...';
959 var contextPath = '' + '/';
960 var viewallCategoryPath= 'en';
961 var includeExcludeLink= true;
962 </script>
963
964 </body>​​​​​</html>