<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devlicio.us/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Sergio Pereira : book</title><link>http://devlicio.us/blogs/sergio_pereira/archive/tags/book/default.aspx</link><description>Tags: book</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Design Patterns in Ruby - book review</title><link>http://devlicio.us/blogs/sergio_pereira/archive/2008/07/22/design-patterns-in-ruby-book-review.aspx</link><pubDate>Tue, 22 Jul 2008 11:58:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:41361</guid><dc:creator>sergiopereira</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I have &lt;a href="http://abombss.com/"&gt;a friend&lt;/a&gt; that is very much into Design Patterns and wanted to learn Ruby with a more applied perspective of the language.
&lt;/p&gt;&lt;p&gt;
I went the exact opposite direction. I know a little bit of Ruby already and I wanted to improve my limited patterns knowledge.
&lt;/p&gt;
&lt;a href="http://www.amazon.com/dp/0321490452?tag=by-asin-tag-20"&gt;&lt;img src="http://devlicio.us/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sergio_5F00_pereira.2008.07/design_5F00_patterns_5F00_in_5F00_ruby.jpg" align="left" style="border:solid 1px black;margin-right:5px;" alt="" /&gt;&lt;/a&gt;


&lt;p&gt;What we had in common is that we both picked up &lt;a href="http://www.amazon.com/dp/0321490452?tag=by-asin-tag-20"&gt;Design Patterns in Ruby&lt;/a&gt; by Russ Olsen. The title can be a little deceiving in that you might think it assumes Ruby knowledge, but no, it actually covers the Ruby language at a level that doesn&amp;#39;t bore the reader with programming basics. The book assumes you know how to program already but you&amp;#39;re new to Ruby.
&lt;/p&gt;

&lt;p&gt;After an introductory chapter about Ruby basics, the book delves into Design Patterns, their formal definitions, how they look like in Ruby, how to leverage Ruby features to tweak the patterns, and examples of the pattern being used in examples extracted from the Ruby class library or popular components (gems). As the examples and tweaks are being presented, any new Rubyism being applied is explained. 
&lt;/p&gt;
&lt;p&gt;
I found this book to be a great way to learn more about the Design Patterns and the proper way to implement them in Ruby. I also learned a little more Ruby and some language features that I did not know how to use yet.
&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=41361" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/Ruby/default.aspx">Ruby</category><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/Development/default.aspx">Development</category><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/book/default.aspx">book</category><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/review/default.aspx">review</category></item><item><title>The Great Devlicio.us Giveaway</title><link>http://devlicio.us/blogs/sergio_pereira/archive/2008/06/05/the-great-devlicio-us-giveaway.aspx</link><pubDate>Thu, 05 Jun 2008 23:02:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:40889</guid><dc:creator>sergiopereira</dc:creator><slash:comments>10</slash:comments><description>&lt;h3&gt;Because there&amp;#39;s more than one kind of hero&lt;/h3&gt;
&lt;b&gt;Update: &lt;/b&gt; The contest is now closed. We cannot accept any more entries. Wait for the winner announcement is a few days. Thanks for all the great submissions.
&lt;p&gt;
 Here&amp;#39;s your chance to win a well-deserved prize for being a good developer — and not just any prize.
Devlicio.us, with the generous support from Microsoft (via &lt;a href="http://blogs.msdn.com/somasegar/"&gt;Somasegar&lt;/a&gt;) and &lt;a href="http://www.informit.com/imprint/index.aspx?st=61085"&gt;Addison-Wesley&lt;/a&gt;, is proud to present you with a contest that will dump a truckload of goodness at your doorstep. This ultimate prize package contains the following items.
&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;&lt;b&gt;&lt;a href="http://www.informit.com/store/product.aspx?isbn=0131857258"&gt;Agile Principles, Patterns, and Practices in C#&lt;/a&gt;&lt;/b&gt;: Uncle Bob&amp;#39;s must-have work. This book needs to be part of your Agile and OOD bookshelf.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;&lt;a href="http://www.informit.com/store/product.aspx?isbn=0321125215"&gt;Domain-Driven Design: Tackling Complexity in the Heart of Software&lt;/a&gt;&lt;/b&gt;: Eric Evans describes DDD and how your software design can benefit from it.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;&lt;a href="http://www.informit.com/store/product.aspx?isbn=0321268202"&gt;Applying Domain-Driven Design and Patterns&lt;/a&gt;&lt;/b&gt;: Armed with the DDD knowlegde, now it&amp;#39;s time to let Jimmy Nilsson show us how to implement solid .NET code.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;&lt;a href="http://www.informit.com/store/product.aspx?isbn=0321127420"&gt;Patterns of Enterprise Application Architecture&lt;/a&gt;&lt;/b&gt;: In this classic, Martin Fowler lays down the law on how an enterprise application needs to be designed.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;&lt;a href="http://www.informit.com/store/product.aspx?isbn=0131177052"&gt;Working Effectively with Legacy Code&lt;/a&gt;&lt;/b&gt;: We&amp;#39;ve all been there. It&amp;#39;s hard and Michael Feathers does a great job in guiding us through the challenges and techniques to get you out of the quicksand.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;&lt;a href="http://www.informit.com/store/product.aspx?isbn=0321437381"&gt;Implementing Lean Software Development&lt;/a&gt;&lt;/b&gt;: This book by Tom and Mary Poppendieck distills practices to optimize the development process.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;&lt;a href="http://www.informit.com/store/product.aspx?isbn=020161622X"&gt;The Pragmatic Programmer: From Journeyman to Master&lt;/a&gt;&lt;/b&gt;: No list of this caliber would be complete without Andy Hunt and Dave Thomas&amp;#39; ultimate guide to developer proficiency.&lt;/li&gt;
	&lt;li&gt;&lt;b&gt;&lt;a href="http://www.buy.com/prod/microsoft-visual-studio-team-system-2008-team-suite-with-msdn-premium/q/loc/105/205852888.html" style="color:#a00;"&gt;Visual Studio 2008 Team Suite + MSDN Premium&lt;/a&gt;&lt;/b&gt;: No need for explanations here. A &lt;b&gt;$10K+&lt;/b&gt; retail value item with all you&amp;#39;ll ever need in terms of Microsoft technology.&lt;/li&gt;
&lt;/ol&gt;

&lt;p style="text-align:center;"&gt;
&lt;a href="http://www.informit.com/store/product.aspx?isbn=0131857258"&gt;&lt;img src="http://devlicious.com/blogs/sergio_pereira/2008/06/0131857258.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;a href="http://www.informit.com/store/product.aspx?isbn=0321125215"&gt;&lt;img src="http://devlicious.com/blogs/sergio_pereira/2008/06/0321125215.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;a href="http://www.informit.com/store/product.aspx?isbn=0321268202"&gt;&lt;img src="http://devlicious.com/blogs/sergio_pereira/2008/06/0321268202.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.informit.com/store/product.aspx?isbn=0321127420"&gt;&lt;img src="http://devlicious.com/blogs/sergio_pereira/2008/06/0321127420.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;a href="http://www.informit.com/store/product.aspx?isbn=0131177052"&gt;&lt;img src="http://devlicious.com/blogs/sergio_pereira/2008/06/0131177052.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;a href="http://www.informit.com/store/product.aspx?isbn=0321437381"&gt;&lt;img src="http://devlicious.com/blogs/sergio_pereira/2008/06/0321437381.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href="http://www.informit.com/store/product.aspx?isbn=020161622X"&gt;&lt;img src="http://devlicious.com/blogs/sergio_pereira/2008/06/020161622X.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;a href="http://www.buy.com/prod/microsoft-visual-studio-team-system-2008-team-suite-with-msdn-premium/q/loc/105/205852888.html"&gt;&lt;img src="http://devlicious.com/blogs/sergio_pereira/2008/06/205852888.jpg" border="0" alt="" /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h3&gt;The Contest&lt;/h3&gt;
&lt;p&gt;
I hope the prizes got you excited. I actually envy you because I cannot participate. The contest is pretty simple.
&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;
		We are looking for success stories. Submit a true story that happened to you or your team where adopting good software development practices rescued a project or even the entire organization. The stories we want to award are
		the ones that demonstrate a direct relation between good practices or good design (or both) and successful solutions. Examples:
		&lt;ul&gt;
			&lt;li&gt;Continuous Integration saved my job.&lt;/li&gt;
			&lt;li&gt;DDD made my application survive the test of time.&lt;/li&gt;
			&lt;li&gt;My team went from grumpy to engaged after we introduced collective design ownership.&lt;/li&gt;
			&lt;li&gt;etc...&lt;/li&gt;
		&lt;/ul&gt;

	&lt;/li&gt;
	&lt;li&gt;
		Submit your stories by email or using the &lt;i&gt;Contact&lt;/i&gt; link to any of the Devlicio.us bloggers 
		between today (&lt;i&gt;June 5th 2008&lt;/i&gt;) and ~2 weeks from today (&lt;i&gt;June 20th 2008&lt;/i&gt; by 5 PM ET GMT-4:00).
	&lt;/li&gt;
	&lt;li&gt;
		The winner will be chosen by voting among the Devlicio.us bloggers. This might take up to 1 week.
	&lt;/li&gt;
	&lt;li&gt;
		The winner story will be announced on Devlicio.us on or before &lt;b&gt;June 20th&lt;/b&gt; and &lt;i&gt;it will become a guest blog post&lt;/i&gt; on the blog to which it was submitted (so remember to protect the innocent in your story.)
	&lt;/li&gt;
	&lt;li&gt;
		Shortly after that, the winner will be contacted for mailing address information and the prize will be shipped.
	&lt;/li&gt;
	&lt;li&gt;
		Other stories might be selected to feature as blog posts as well - with or without any prizes.
	&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Restrictions&lt;/h3&gt;
&lt;p&gt;
The stories need to be of your own personal experience, within your team or your organization. Since the story has a chance of being posted in Devlicio.us, make sure the people and organizations mentioned in the story are OK with that or replace their names.
&lt;/p&gt;
&lt;p&gt;
We think we can ship the prize anywhere but if you&amp;#39;re not in the U.S. and there&amp;#39;s some form of export or import regulation that prohibits the shipment of software or even the books, then we may not be able to send it to you.
&lt;/p&gt;

&lt;h3&gt;Get to the writing already&lt;/h3&gt;
&lt;p&gt;
We are anxious to hear your stories. Prizes like these don&amp;#39;t come by often and we really want to reward someone for doing the right thing.
&lt;/p&gt;


&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=40889" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/.NET/default.aspx">.NET</category><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/Development/default.aspx">Development</category><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/featured/default.aspx">featured</category><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/book/default.aspx">book</category><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/Announcement/default.aspx">Announcement</category></item><item><title>JavaScript: The Good Parts - book review</title><link>http://devlicio.us/blogs/sergio_pereira/archive/2008/05/11/javascript-the-good-parts-book-review.aspx</link><pubDate>Sun, 11 May 2008 22:48:00 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:40468</guid><dc:creator>sergiopereira</dc:creator><slash:comments>1</slash:comments><description>&lt;a href="http://www.amazon.com/dp/0596517742?tag=by-asin-tag-20"&gt;&lt;img src="http://devlicio.us/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/sergio_5F00_pereira.2008.05/javascript_2D00_the_2D00_good_2D00_parts.gif" align="left" style="border:solid 1px black;margin-right:5px;" alt="" /&gt;&lt;/a&gt;

&lt;p&gt;
I just finished reading Douglas Crockford&amp;#39;s &lt;a href="http://www.amazon.com/dp/0596517742?tag=by-asin-tag-20"&gt;JavaScript: The Good Parts&lt;/a&gt; and it only took me a few hours to go through it this weekend. This is a short and delightful read. &lt;strike&gt;The book has not been released in print yet and&lt;/strike&gt; I read it via O&amp;#39;Reilly&amp;#39;s Safari Bookshelf, which will be the subject of a future post by itself.
&lt;/p&gt;
&lt;b&gt;Update: &lt;/b&gt; The book became available almost at the same time I posted this review.

&lt;p&gt;
In its 170 pages the book describes not only the HOWs but, most importantly, the WHYs of the JavaScript language. &lt;a href="http://www.crockford.com/"&gt;Douglas Crockford&lt;/a&gt; is known for his great contributions for JavaScript development, including &lt;a href="http://www.json.org/"&gt;JSON&lt;/a&gt;, &lt;a href="http://www.jslint.com/"&gt;JSLint&lt;/a&gt;. &lt;a href="http://www.crockford.com/javascript/jsmin.html"&gt;JSMin&lt;/a&gt;, and several programming patterns and practices. 
&lt;/p&gt;
&lt;p&gt;
In this book, Douglas explains JavaScript and how it differs from other popular object oriented programming language. Special attention is given to JavaScript&amp;#39;s inheritance model and scoping rules.
&lt;/p&gt;
&lt;p&gt;
Crockford doesn&amp;#39;t limit the coverage to what is considered good in the language design. He also sticks his finger at the problems in the language and what he considers (justifiably) bad language design and missing features. A lot of attention is also given to common sources of bugs and how to avoid them.
&lt;/p&gt;
&lt;p&gt;
This is such an easy and valuable read that I have to recommend it to anyone trying to produce solid and maintainable JavaScript code.
&lt;/p&gt;

&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=40468" width="1" height="1"&gt;</description><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/book/default.aspx">book</category><category domain="http://devlicio.us/blogs/sergio_pereira/archive/tags/review/default.aspx">review</category></item></channel></rss>