<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>That Puerto Rican Rubyist &#187; Books</title>
	<atom:link href="http://www.dennmart.com/category/books/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dennmart.com</link>
	<description>Official Blog of Dennis Martinez</description>
	<lastBuildDate>Fri, 19 Aug 2011 05:17:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How I&#8217;m Learning iOS Development</title>
		<link>http://www.dennmart.com/2011/03/29/how-im-learning-ios-development/</link>
		<comments>http://www.dennmart.com/2011/03/29/how-im-learning-ios-development/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 03:59:58 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=221</guid>
		<description><![CDATA[Lately, I&#8217;ve been on a hardcore iOS development learning phase. To be honest, I&#8217;ve been wanting to learn iOS development for a while (probably since I got my first iPhone two years ago). But I either never had the time to sit down and learn something new, or whenever I did try to take time [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I&#8217;ve been on a hardcore iOS development learning phase. To be honest, I&#8217;ve been wanting to learn iOS development for a while (probably since I got my first iPhone two years ago). But I either never had the time to sit down and learn something new, or whenever I did try to take time to learn, I&#8217;d get totally confused with something and felt like I was stuck. I don&#8217;t know if it was due to spending too much time on Ruby and vi, that Xcode, Objective-C and Interface Builder totally threw me off my game, but the learning curve initially seemed steep to me.</p>
<p>I finally decided to put my foot down and do whatever it takes it finally get a grasp of iOS development. And the dedication is finally paying off. I finally feel like I&#8217;m getting used to the development environment and most of the basics to actually get something done. It&#8217;s not like I have a million-dollar app I want to develop or anything, but seeing that mobile development is one of the hottest trends out there and will most likely be for the foreseeable future, I want to be a part of that wave while it&#8217;s still peaking.</p>
<p>I wanted to share some of the material that has been greatly helping me out during this journey. Note that there isn&#8217;t a lot of material updated with info on iOS 4 or Xcode 4, and although there are minor changes, like slightly different method names, for the most part the material is still very much useful.</p>
<p><strong><a href="http://apress.com/book/view/143023024X">Beginning iPhone 4 Development: Exploring the iOS SDK</a> by Apress</strong></p>
<p>Of all the books I&#8217;ve read on iPhone development, this seems to be the one that made it all click in my head. The writing feels a bit on the simplified side, which really made my brain be able to grasp and retain the concepts presented in it. The way the chapters progress is smooth, and doesn&#8217;t really overwhelm you with a lot of new concepts. I&#8217;ve noticed that a lot of books give you examples with a lot of new stuff that they haven&#8217;t covered yet, then proceed to say something like &#8220;trust us, ignore this for now and we&#8217;ll explain later&#8221;. This book doesn&#8217;t really do that much, besides when it&#8217;s apparently necessary to hold off.</p>
<p>This book also contains probably the most updated print material I&#8217;ve seen anywhere, as of this writing. If you were only to get a single book on iOS development, I would highly recommend this book above anything else.</p>
<p><strong>Peepcode Screencasts &#8211; <a href="http://peepcode.com/products/iphone-view-controllers-part-i">iPhone View Controllers, Part I</a>, <a href="http://peepcode.com/products/iphone-view-controllers-part-ii">iPhone View Controllers, Part II</a> and <a href="http://peepcode.com/products/iphone-views-i">iPhone Views I</a></strong></p>
<p>One of the most confusing things for me with iPhone development is the concept of view controllers. It was the one thing that tripped me up, despite trying to find as much info about it as possible. Although the previously mentioned book helped me the most to clarify a lot of these concepts, these Peepcode screencasts are also great for understanding how views work on iOS. It took me a couple of viewings of the first two parts (I haven&#8217;t purchased the most recent screencast) to really understand things like table views and cells and the different types of views available (Tab Bar, Navigation, etc.)</p>
<p><strong><a href="http://www.amazon.com/Programming-Objective-C-2-0-Stephen-Kochan/dp/0321566157">Programming in Objective-C 2.0 (2nd Edition)</a> by Stephen Kochan</strong></p>
<p>One of the mistakes I made early on in my Ruby career was the fact that I took the time to learn Ruby on Rails, but not the underlying language which is, of course, Ruby. Looking back now, that hindered my progress early on, since I knew the basics, but couldn&#8217;t really fully understand the real power behind Ruby, like metaprogramming. It limited what I could do. So instead of following that same path again with the Cocoa Touch framework, I decided to take the time to get deeper into its underlying language, Objective-C.</p>
<p>This book is definitely the definitive guide to Objective-C. It covers just about everything in the language &#8211; clocking in at almost 600 pages worth of material. While I don&#8217;t know if Objective-C should be someone&#8217;s very first programming language, it&#8217;s actually starts of with basic programming concepts like methods, classes, variables, looping, etc. But it gets deep pretty quickly, covering plenty of Apple&#8217;s Foundation Framework. It&#8217;s an excellent reference, and one I keep by my desk at all times.</p>
<p><strong><a href="http://developer.apple.com/library/ios/navigation/">Apple&#8217;s iOS Developer Library</a></strong></p>
<p>I was pleasantly surprised to see that Apple&#8217;s online documentation is really well put-together. It covers everything from basic Objective-C to more specific iOS functionality, like Push Notifications or the iAd Framework. A lot of the basics are available for free, but I believe there&#8217;s a lot more documentation for users that have registered to their $99-a-year iOS Developer Program.</p>
<p>These have been the top resources I&#8217;ve been using these past couple of weeks to get up to speed with my iOS development. With these resources, I&#8217;m getting very close to feeling confident enough to put together a simplistic app, maybe even publish it in the App Store for the hell of it.</p>
<p>If you&#8217;re curious to want to start iOS development, these books, videos and online documentation will help you a lot. Don&#8217;t feel overwhelmed by the amount of material out there. Just dive into it! There&#8217;s a ton of things that iOS devices can do. It&#8217;s just a matter of digging in and exploring further those parts that interest you, whether it&#8217;s a simple app with a table view or a full-blown OpenGL ES video game. Happy hacking!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2011/03/29/how-im-learning-ios-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No Rest For The Unemployed</title>
		<link>http://www.dennmart.com/2010/01/26/no-rest-for-the-unemployed/</link>
		<comments>http://www.dennmart.com/2010/01/26/no-rest-for-the-unemployed/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 04:25:42 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=178</guid>
		<description><![CDATA[After two years, yesterday was my final day of being a developer for BarterQuest. As anyone living in expensive New York City in the same situation, I have been focusing part of my energy looking for a new gig. I&#8217;m pretty confident, despite the current economy, that I will land on my feet sooner rather [...]]]></description>
			<content:encoded><![CDATA[<p>After two years, yesterday was my final day of being a developer for <a href="http://www.barterquest.com/">BarterQuest</a>. As anyone living in expensive New York City in the same situation, I have been focusing part of my energy looking for a new gig. I&#8217;m pretty confident, despite the current economy, that I will land on my feet sooner rather than later. I have a few leads, with one in particular that I am really hoping will come through.</p>
<p>In the meantime, I&#8217;m not just throwing my resumé in the face of companies everywhere in the U.S. I have also decided that since now that I have quite a few extra hours in my days, I should really do productive things instead of sitting on my couch and re-watching all previous seasons of <em>24</em> (believe me, I would watch all 7 seasons in a row if I could) or jamming away to <em>Guitar Hero</em>. This is a perfect chance to do lots of technical things I&#8217;ve been wanting to do for months, but just never got the time to do so. Here&#8217;s a short list of some goals I&#8217;d like to get started on.</p>
<p><strong>Learning new stuff</strong></p>
<p>For the past two years, I&#8217;ve been exclusively using Ruby and Ruby on Rails at my day job. I&#8217;ve always wanted to broaden my skills by doing other types of programming, but when you take into consideration that I would usually be at work more between 9-10 hours per day, plus a commute that would sap an additional two hours, there wasn&#8217;t much time for me to be able to do personal things, let along learn new stuff. Now that I&#8217;m finally free, I can now spend more time with those things I&#8217;ve wanted to experiment with.</p>
<p>I&#8217;ve always wanted to learn iPhone application development. I know the basics of Objective-C, and have the book <a href="http://pragprog.com/titles/amiphd/iphone-sdk-development">iPhone SDK Development</a> by Bill Dudney, but I was never able to sit down and code something up. I have a few ideas for apps, so even if I can make a simple app that&#8217;s accepted to Apple&#8217;s App Store will be an achievement for me.</p>
<p>I&#8217;ve been very interested in implementing <a href="http://en.wikipedia.org/wiki/Push_technology">Push technology</a> to web apps, like <a href="http://en.wikipedia.org/wiki/Comet_%28programming%29">Comet</a> or <a href="http://dev.w3.org/html5/websockets/">Web Sockets</a>, using nginx&#8217;s <a href="http://pushmodule.slact.net/">Push Module</a> and <a href="http://orbited.org/">Orbited</a>.</p>
<p>Although I&#8217;ve never had the opportunity to work with extremely large data sets, I&#8217;ve always been curious about frameworks like <a href="http://labs.google.com/papers/mapreduce.html">Google&#8217;s MapReduce</a> and <a href="http://hadoop.apache.org/">Apache Hadoop</a>, particularly how well they can &#8220;crunch&#8221; the data thrown at them.</p>
<p><strong>Keep on with what I already know</strong></p>
<p>As I mentioned, I&#8217;ve been using Ruby for years now, and I know Ruby on Rails and Sinatra pretty well. However, just because I want to learn new things doesn&#8217;t mean that I want to abandon this awesome language. In fact, I want to keep using it more with the latest toys.</p>
<p>Thanks to <a href="http://rvm.beginrescueend.com/">Ruby Version Manager</a>, I was able to safely install the latest versions of Ruby 1.9 and MacRuby and start learning their new features. I was also able to check any possible compatibility issues in my older applications with different major Ruby versions. Seriously, if you are a Ruby developer using a Mac or Linux, install RVM now if you haven&#8217;t.</p>
<p>Recently, there have been more and more news about Ruby on Rails 3, the next major release for the wonderful framework. I&#8217;d like to stay one step ahead of the pack and start learning about the new changes before it officially hits the web. One of the leaders of the newest Rails changes, Yahuda Katz, has written <a href="http://yehudakatz.com/tags/rails-3/">lots of blog posts relating to the changes in Rails 3</a>. They&#8217;re definitely worth a read.</p>
<p><strong>Strengthening my shortcomings</strong></p>
<p>There are quite a few things &#8211; development-wise &#8211; that have been bugging me for a long time, yet I&#8217;ve never taken the proper steps to correct. Now is as good a time as any to take on these things and finally conquer them.</p>
<p>My main weakness, as a web developer, is that I&#8217;m pretty bad at design. I know CSS and its properties, I know about browser incompatibilities (having been a victim many times before by the evil and immortal Internet Explorer 6 browser) and all that stuff. But as far as design goes, like font sizes, element placement, usability and colors, these things are not my strong suit. I&#8217;ve actually stocked up on some books about these subjects (like <a href="http://www.sensible.com/dmmt.html">Don&#8217;t Make Me Think</a> by Steve Krug and <a href="http://pragprog.com/titles/bhgwad/web-design-for-developers">Web Design for Developers</a> by Brian Hogan), so I hope that by the time my unemployment ends, I&#8217;ll be much better off making my work look good &#8211; or at least decent.</p>
<p>Another weakness I consider is that I get distracted from development from time to time. It&#8217;s not frequent enough to affect the quality of my work, but it&#8217;s enough to annoy me when I do it subconsciously and I then catch myself in the act. I have read some people who had some success using the <a href="http://www.pomodorotechnique.com/">Pomodoro technique</a>, so starting tomorrow I decided that I&#8217;ll give it a try. There&#8217;s a nice little app called <a href="http://getconcentrating.com/">Concentrate</a> for the Mac that seems to be just the thing I need during those times when I need to get stuff done and not get distracted.</p>
<p><strong>Beef up my GitHub profile</strong></p>
<p>I have to admit that I&#8217;m a little bit ashamed to see my <a href="http://github.com/dennmart">GitHub profile</a> virtually empty. For a long time, I&#8217;ve been wanting to add more of the projects that I have in my laptop to GitHub and see if some of them take a life of their own. Sadly, for whatever reason, I haven&#8217;t done that. Most of the times I&#8217;m a bit too critical at my code and think it&#8217;s embarrassing to make public, but that&#8217;s really what I need to do to get better as a developer. I can take criticism with the best of them, so there&#8217;s really no excuse. I need to make more of my code open-source, period.</p>
<p>Not only do I want to show my own work, I also want to give back to the community. I have used so many open-source projects over the years, yet I&#8217;ve only submitted a handful of patches to very few projects. I don&#8217;t want to be a person who takes, takes, takes and never gives anything back in return. So I&#8217;m going to take steps to correct that. I&#8217;ve started cloning some repositories of my favorite projects from GitHub to my computer to start reading their code more in-depth, which I had been doing anyway. I&#8217;ll check if these projects have <a href="http://lighthouseapp.com/">Lighthouse</a> pages with open tickets, or if there are any open issues on their GitHub page. A few years ago, Dr. Nic wrote an excellent post titled <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/">&#8220;8 steps for fixing other people’s code&#8221;</a> that inspired me to start finding features or defects that I can handle.</p>
<p>I have to say, I&#8217;m only one day into this routine, and I don&#8217;t remember the last time I felt this free and liberated doing what <em>I</em> wanted to do. Full-time employment is great for earning money and making substantial stuff, but sometimes there&#8217;s a feeling of emptiness due to not being able to explore on your own. Being unemployed doesn&#8217;t mean that you need to spend all your time looking for work. Unless you&#8217;re truly struggling economically and can&#8217;t pay the bills in the next couple of weeks or even days, why not spend part of your time gearing up for the future?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2010/01/26/no-rest-for-the-unemployed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What Have I Been Up To?</title>
		<link>http://www.dennmart.com/2009/03/06/what-have-i-been-up-to/</link>
		<comments>http://www.dennmart.com/2009/03/06/what-have-i-been-up-to/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 02:00:41 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[BarterQuest]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[MacBook Pro]]></category>
		<category><![CDATA[Objective-C]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=128</guid>
		<description><![CDATA[It&#8217;s been quite a while since I last updated this blog. I should seriously start writing more often. So, what have I been up to? With the cold weather here in New York City, it gets difficult sometimes to go out and have fun in the city. As usual, most of my time is spent [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been quite a while since I last updated this blog. I should seriously start writing more often. So, what have I been up to? With the cold weather here in New York City, it gets difficult sometimes to go out and have fun in the city. As usual, most of my time is spent on technology, software development, stuff like that. Here&#8217;s a brief recap of what I&#8217;ve been working on:</p>
<p><strong>Got a new MacBook Pro, and I love it</strong> &#8211; I finally gave in and bought myself a shiny new <strong><a href="http://www.apple.com/macbookpro/features-15inch.html">MacBook Pro</a></strong>. I&#8217;m having a blast with it. For the open-source developer in me, this has everything I could ever want. It&#8217;s a beautiful and sleek machine that has gotten me highly motivated to start expanding my knowledge in different directions. While I still consider these laptops to be pricey, they&#8217;re really great.</p>
<p><strong>Learning Objective-C for Mac and iPhone development</strong> &#8211; Since I got a nice Mac, I figured I should start learning Objective-C, then eventually get into Cocoa and the iPhone SDK. I&#8217;ve always been impressed by some nicely-done open-source Mac applications, and iPhone apps have always seemed to be so creative, so I wanted to learn how to build some myself. Since I&#8217;ve been working for so many years on dynamically typed languages (like PHP and Ruby), it&#8217;s kind of a total change of pace to go back to a somewhat-statically typed language like Objective-C. It&#8217;s been a bit of a challenge, since I last used a C-based language back in my college days. But it&#8217;s going along well so far. </p>
<p>I&#8217;ve compiled quite a few resources for learning all of these things.  I recently purchased a book called <strong><a href="http://www.amazon.com/Programming-Objective-C-2-0-Developers-Library/dp/0321566157">Programming In Objective-C</a></strong>, which seems like the de-facto book on Objective-C, as it&#8217;s pretty extensive..And there are a few good screencasts &#8211; <strong><a href="http://www.peepcode.com/">PeepCode</a></strong> developed a screencast dubbed <strong><a href="http://peepcode.com/products/objective-c-for-rubyists">Objective-C for Rubyists</a></strong>, and <strong><a href="http://pragprog.com/">The Pragmatic Programmers</a></strong> have a screencast series by Bill Dudney called <strong><a href="http://pragprog.com/screencasts/v-bdobjc/coding-in-objective-c-2-0">Coding in Objective-C</a></strong>. Of course, Apple has done a fine job with <strong><a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html">their Objective-C documentation</a></strong>. All of these resources should get you coding in Objective-C in no time.</p>
<p>The iPhone development part is mostly being learned because at my day job we would like to create a nice iPhone app for users of our site. I truly think that a mobile interface will expand our user base easily, even if people say they don&#8217;t really use mobile interfaces for a lot of things. I find myself using Facebook and Amazon&#8217;s iPhone apps more than I visit their sites.</p>
<p><strong><a href="http://www.barterquest.com/">BarterQuest</a> is getting better and better</strong> &#8211; It&#8217;s been a wild ride on BarterQuest since <strong><a href="http://www.dennmart.com/2008/07/10/barterquest-the-trading-site-on-the-internet/">we launched</a></strong>. We&#8217;ve been featured all over the place, from blogs to television shows, and we&#8217;re getting more and more users visiting, registering and trading on our site every single day. I&#8217;ve even traded twice already, and everything has gone as smoothly as it possibly could. It&#8217;s a great way to get the stuff you want by getting rid of the stuff you don&#8217;t want.</p>
<p>If you haven&#8217;t checked out our site yet, or haven&#8217;t done so in a while, I highly recommend you visit us soon. We&#8217;re going to be adding support for <strong><a href="http://www.barterquest.com/home/real_estate">Real Estate</a></strong> in a few weeks, so our range of tradable items will greatly expand. And stay up to date with all that we&#8217;re doing by <strong><a href="http://twitter.com/barterquest">following us on Twitter</a></strong>.</p>
<p><strong>Learning (and liking) <a href="http://couchdb.apache.org/">CouchDB</a></strong> &#8211; My curiosity with CouchDB started when people were mentioning it quite a bit, and some Rails libraries like <strong><a href="http://github.com/jchris/couchrest/tree/master">CouchRest</a></strong> were gaining some attention. So I checked it out for the first time, and I had no freakin&#8217; clue why someone would use document-oriented databases, when relational databases did just fine.</p>
<p>Then a week I was working on a side project, and when trying to design my classes, I noticed that I would either have to denormalize my database tables, or be strict with normalization, but have a rather messy database schema. Then it just hit me &#8211; I finally knew the reason why CouchDB would rock in this scenario, where the data I was storing wouldn&#8217;t always follow the same structure. So I got into it, and I&#8217;m really liking it a whole lot. It&#8217;s something different, yet really useful in some situations. Seeing that there&#8217;s a market for databases like these, like <strong><a href="http://aws.amazon.com/simpledb/">Amazon SimpleDB</a></strong>, it seems like CouchDB (and document-oriented databases in general) will gain much popularity in the foreseeable future.</p>
<p>These are just a few things I&#8217;m playing along with. It seems like there are a lot of fun times ahead in software development and computing in general. I&#8217;m just happy to be able to ride the wave.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2009/03/06/what-have-i-been-up-to/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Amazon Ships Really Fast &#8211; For Those Who Know</title>
		<link>http://www.dennmart.com/2008/09/17/amazon-ships-really-fast-for-those-who-know/</link>
		<comments>http://www.dennmart.com/2008/09/17/amazon-ships-really-fast-for-those-who-know/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 19:39:18 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=92</guid>
		<description><![CDATA[Yesterday afternoon, I had the urge to get a new Rails book, so I went to Amazon and ordered The Art Of Rails. This post isn&#8217;t about the book, but I&#8217;ll try to write about it after I read it. This post instead is about the weird shipping service that Amazon provides on its site, [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday afternoon, I had the urge to get a new Rails book, so I went to Amazon and ordered <strong><a href="http://www.wrox.com/WileyCDA/WroxTitle/The-Art-of-Rails.productCd-0470189487.html">The Art Of Rails</a></strong>. This post isn&#8217;t about the book, but I&#8217;ll try to write about it after I read it.</p>
<p>This post instead is about the weird shipping service that Amazon provides on its site, at least in my particular case. When ordering something in Amazon, you get the option of how fast you want to get it. Among their options are: Standard Shipping (which is 3 days according to the site), 2-Day Shipping and Next-Day Shipping. I usually choose the standard shipping, since whatever I order isn&#8217;t a matter of life or death. I completed my order, expecting the book to arrive on Friday or Saturday, just in time for the weekend.</p>
<p>I just checked the tracking on the book &#8211; It&#8217;s already waiting for me at home, less than 24 hours after ordering it.</p>
<p>Of course, that&#8217;s not happening every single place in the country. It seems the reason I got it so quick is that Amazon has a distributor close to New York City (the tracking indicates it left Bethlehem, Pennsylvania, which is about 90 minutes away), so they received the order and shipped it out UPS Ground, which is just a short drive here. It isn&#8217;t the first time this has happened. I usually get books from Amazon one or two business days after I order them.</p>
<p>Obviously, I don&#8217;t mind the fast service. That&#8217;s why I continue to constantly buy from them rather than any of the other million bookstores I have access to. But take a look at the costs for the different shipping options for the same book:</p>
<ul>
<li>Standard Shipping &#8211; <strong>$3.99</strong></li>
<li>2-Day Shipping &#8211; <strong>$11.98</strong></li>
<li>Next-Day Shipping &#8211; <strong>$17.98</strong></li>
</ul>
<p>So, I spent 14 dollars less than someone who chose Next-Day Shipping, yet got the book as quickly as they did. Pretty sweet deal, but I wonder how many people from this area (and perhaps other areas where shipping is just as quick) keep on choosing those &#8216;faster&#8217; options unknowingly.</p>
<p>Like I said, this doesn&#8217;t apply to every single place in the country, so that&#8217;s why there are different options. Also, for someone who <em>really</em> needs an item the next day, selecting the Next-Day Shipping option can serve as a guarantee. But with the millions and millions of orders and a whole lot of stats to go along with those orders, couldn&#8217;t Amazon have estimated dates depending on where the items are shipping? This way, the consumer is better informed and can make a better decision. It just seems like the right thing to do.</p>
<p>Oh, and if someone from Amazon is reading this, please don&#8217;t purposely slow down my shipments next time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2008/09/17/amazon-ships-really-fast-for-those-who-know/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PeepCode &#8211; Even their PDF books are awesome</title>
		<link>http://www.dennmart.com/2008/05/02/peepcode-even-their-pdf-books-are-awesome/</link>
		<comments>http://www.dennmart.com/2008/05/02/peepcode-even-their-pdf-books-are-awesome/#comments</comments>
		<pubDate>Fri, 02 May 2008 21:29:26 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=66</guid>
		<description><![CDATA[This is obviously not my first time that I have shilled the PeepCode website. I truly think that for any Rails developer, this is one of the most invaluable tools for learning available anywhere. I&#8217;ve purchased many of their screencasts already, and once I get the opportunity, I&#8217;ll even spring for their PeepCode Unlimited subscription. [...]]]></description>
			<content:encoded><![CDATA[<p>This is obviously not my <strong><a href="http://www.dennmart.com/2007/04/16/rails-screencasts-the-best-learning-tool-on-the-internet/">first time</a></strong> that I have shilled the <strong><a href="http://peepcode.com/">PeepCode</a></strong> website. I truly think that for any Rails developer, this is one of the most invaluable tools for learning available anywhere. I&#8217;ve purchased many of their screencasts already, and once I get the opportunity, I&#8217;ll even spring for their <strong><a href="http://peepcode.com/products/unlimited">PeepCode Unlimited</a></strong> subscription. I know I will fully get my money&#8217;s worth.</p>
<p>If you haven&#8217;t been following what they have been doing recently, they have also added PDF books to the mix. These books provide a lot of wealth, just like their screencasts, but only in text form, perfect for printing or, for the environmentally-conscious of you, just keeping in your flash drive and reading it whenever you need it. I just recently purchased two of their PDF books: <strong><a href="http://peepcode.com/products/git-internals-pdf">Git Internals</strong></a></strong> and <strong><a href="http://peepcode.com/products/activemerchant-pdf">ActiveMerchant</a></strong>.</p>
<p>I purchased the Git Internals book to satisfy my own curiosity. As many of you should know by now, <strong><a href="http://git.or.cz/">Git</a></strong> is a distributed version control system (a la Subversion) that&#8217;s taking the software development world by storm. I&#8217;m slowly getting into Git, thanks to a <strong><a href="http://peepcode.com/products/git">PeepCode screencast on the basics of Git</a></strong>, and even decided to pay for an account on <strong><a href="http://github.com/">GitHub</a></strong> (which I will write about in the near future). But I&#8217;m usually not content to just know how to get my work done. I like exploring beyond that, knowing how it actually works in the inside. Most of the times, I fully understand its strengths (and weaknesses &#8211; nothing is perfect!), making me more efficient. This PDF book does exactly that. If you&#8217;re a curious being, and are using (or planning to use) Git, I wholly recommend this book.</p>
<p>The ActiveMerchant book, I actually bought out of necessity. The web application I&#8217;m working on has the <strong><a href="http://www.activemerchant.org/">ActiveMerchant Plugin</a></strong> installed, and some work with that plugin done. However, since the developers who implemented those features aren&#8217;t working for the company anymore, and some core functionality has changed since I&#8217;ve arrived, it needs to be changed. I didn&#8217;t want to start from scratch, so I bought this PDF book to see what should be the &#8220;right way&#8221; (as per the author, who undoubtedly has tons more experience with the plugin as I have). I really got into this book, because it&#8217;s really, really easy to understand (thanks to the plugin actually being easy to implement) and it explains everything you need to know about the entire payment process. This is a must-read for anyone who&#8217;s building Rails applications where money needs to get to you.</p>
<p>The guys over at PeepCode are doing an excellent job, so why don&#8217;t you head over to their site and check them out? If you&#8217;re a web developer, particularly using Ruby and Rails, you&#8217;ll definitely find something interesting, or even necessary.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2008/05/02/peepcode-even-their-pdf-books-are-awesome/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Read more books!</title>
		<link>http://www.dennmart.com/2008/04/25/read-more-books/</link>
		<comments>http://www.dennmart.com/2008/04/25/read-more-books/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 02:28:35 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=65</guid>
		<description><![CDATA[If there&#8217;s one positive thing I can take out of having to ride the subway to work for one hour each way every single day, it&#8217;s that I&#8217;ve been able to catch up on a lot of reading. I love to read a whole lot, particularly about technology. So lately I&#8217;ve been able to finish [...]]]></description>
			<content:encoded><![CDATA[<p>If there&#8217;s one positive thing I can take out of having to ride the subway to work for one hour each way every single day, it&#8217;s that I&#8217;ve been able to catch up on a lot of reading. I love to read a whole lot, particularly about technology. So lately I&#8217;ve been able to finish a couple of books I had around, plus I&#8217;ve been able to afford more books to read, so I&#8217;ve been buying more. While I haven&#8217;t read a library&#8217;s worth of books, I think I&#8217;ve read more than the average software developer has read. I would go into a long discussion about that fact, but maybe another day.</p>
<p>With a myriad of books out there, it&#8217;s difficult to know which ones to read. I first got inspired by Jeff Atwood&#8217;s <strong><a href="http://www.codinghorror.com/blog/archives/000020.html">Recommended Reading For Developers</a></strong> list. Since then I&#8217;ve purchased and read many of the books Jeff recommends, which are still pretty relevant and really good reads.</p>
<p>So I decided to dedicate some time to write some mini-reviews about the books I&#8217;ve read, in case someone wants an honest opinion on them from my perspective. I&#8217;ve already written about a couple of books before (like the upcoming <strong><a href="http://www.dennmart.com/2008/01/06/advanced-rails-recipes-sort-of-a-review/">Advanced Rails Recipes</a></strong> book, and my not-so-popular opinion about <strong><a href="http://www.dennmart.com/2008/01/08/dont-hate-the-pickaxe/">The Pickaxe Book</a></strong>), so I hope to expand on that.</p>
<p>Also, I added a nifty text widget on my sidebar which I will update constantly on which books I&#8217;m currently reading and into, with a link to Amazon (no referral link!) for more information. I hope you all find it interesting to see where I&#8217;m focusing now.</p>
<p>Any suggestions on recommended reading for a software developer like me? While I like programming-specific books, I would really like to get into more books that focus not on one single piece of technology, but as a whole. Any recommendations will definitely be appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2008/04/25/read-more-books/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Hate The Pickaxe</title>
		<link>http://www.dennmart.com/2008/01/08/dont-hate-the-pickaxe/</link>
		<comments>http://www.dennmart.com/2008/01/08/dont-hate-the-pickaxe/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 00:21:47 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/2008/01/08/dont-hate-the-pickaxe/</guid>
		<description><![CDATA[Well, well, even a week after Zed Shaw&#8217;s infamous rant on the Ruby and Rails communities, all the talk generated by it continues. While it has died down enough, I feel that the repercussions of the rant are still going on. And I&#8217;ll be writing about one I&#8217;ve been disturbingly seen more and more in [...]]]></description>
			<content:encoded><![CDATA[<p>Well, well, even a week after Zed Shaw&#8217;s infamous <strong><a href="http://www.zedshaw.com/rants/rails_is_a_ghetto.html">rant</a></strong> on the Ruby and Rails communities, all the talk generated by it continues. While it has died down enough, I feel that the repercussions of the rant are still going on. And I&#8217;ll be writing about one I&#8217;ve been disturbingly seen more and more in the past week.</p>
<p>One of Zed&#8217;s problems with Dave Thomas was due to his book, <strong><a href="http://www.pragprog.com/titles/ruby">Programming Ruby</a></strong> (or &#8220;Pickaxe&#8221; &#8211; weird how some people know that book only by the Pickaxe name). Here&#8217;s one of the paragraphs he wrote about that particular book:</p>
<p><code>That’s right, take a look at the original topics and you’ll see that Dave’s book is nothing but a giant me-too book that seems to appeal to the average OOP coder of 2001. However, the average OOP coder using Java, C++, or C# wasn’t doing much meta-programming then, and what Dave presented was nothing more than a book that said, “Hey look, you can do all the stuff you’re doing now, and make NO money at it.”</code></p>
<p>He goes on to explain a lot of the shortcomings of the book, like the fact that the chapter about classes was demonstrated by designing some sort of Karaoke jukebox machine. I do agree with these specific points Zed makes. I remember reading the book for the first time, and just skimming the classes chapter because it felt awkward that these very important terms were being explained this way. It was also confusing as well. I just read the basics (how to create classes, inheritance, access control, etc.) and skipped most of it. Also, failing to include one of Ruby&#8217;s strong suits (which is the ease of meta-programming in this particular programming language) seems very weird.</p>
<p>However, this isn&#8217;t what I wanted to talk about. My issue is that after Zed pointed these things out in his rant, I&#8217;ve been seeing a lot of negative comments towards this book &#8211; something I hadn&#8217;t encountered before. In fact, I bought this book because everywhere I read on the Internet, it specified that this was <strong>the</strong> book to own on Ruby. In fact, let me show you a screenshot of the current <strong><a href="http://www.amazon.com/gp/product/0974514055/ref=cm_cr_pr_product_top">reviews</a></strong> this book has on Amazon.com:</p>
<div align="center"><img src='http://www.dennmart.com/wp-content/uploads/2008/01/ruby_amazon_reviews.jpg' alt='Programming Ruby - Amazon.com Reviews' /></div>
<p>See anything interesting there? Yeah, there are only 52 reviews, but 43 of those reviewers &#8211; a whopping 82.6% &#8211; gave this book either four or five stars. To me, for a supposedly <em>&#8220;shitty&#8221;</em> book (as I&#8217;ve read a lot of people call this book in the past week), this is a rather high positive rating.</p>
<p>So, are these people honestly criticizing the book by their own will, or simply just want to &#8220;follow the leader&#8221; and bash Dave&#8217;s book without thinking for themselves? I find it extremely odd that a lot of criticism is aimed towards this book in such a short period of time &#8211; the past week since Zed&#8217;s rant. Were people scared or something of giving their honest take on this book for fear that the Ruby zealots would find out where he/she lived and crucify them or something? Something just doesn&#8217;t seem right.</p>
<p>Now, while I&#8217;ve <strong><a href="http://www.dennmart.com/2007/02/13/love-those-pragmatic-guys/">expressed before</a></strong> how much I enjoy the work of Dave Thomas and others who publish the Pragmatic Programmers books, do know that I&#8217;m not biased in any way, shape or form. I&#8217;m probably one of the most objective guys you&#8217;ll ever meet. If I think something sucks, I&#8217;ll gladly say so, as long as I can back my words up. But honestly, I don&#8217;t think the Pickaxe book sucks. Far from it. This book has helped many (myself included) find out about the awesome features of Ruby (well, most of them, at least). To ignore the fact that this book helped jump-start Ruby usage in the in the Western Hemisphere is really a disservice to it.</p>
<p>I think Programming Ruby is an awesome book and an excellent reference to the Ruby language. As a book to learn the language, I wouldn&#8217;t count on it to be the &#8220;be all to end all&#8221; Ruby book. To those who think there are programming books like this, you&#8217;re totally wrong. In my short programming career, I&#8217;ve come to know that one book for a specific language or technology isn&#8217;t enough. Obviously, that doesn&#8217;t mean you should buy <em>all</em> the books on a particular topic. But more than one, at most two or three books, should help you greatly. No two authors think alike, and there&#8217;s always some stuff missing from one book that another has, and vice versa.</p>
<p>So to all those newly-minted Pickaxe &#8220;haters&#8221;, I suggest you take an honest look at yourself and think if you&#8217;re really hating this book because <em>you</em> didn&#8217;t like it. If you didn&#8217;t like it from the get-go, good for you. I hope you find another book that helps you learn Ruby. But leave the rest of us who learned a great deal from this book alone. We don&#8217;t need a Zed-wannabe running around this joint.</p>
<p><strong>UPDATE:</strong> After I posted this, I immediately E-Mailed <strong><a href="http://www.loudthinking.com/">David Heinemeier Hansson</a></strong> (yes, the creator of Rails), because I was curious on how he learned the Ruby language. I was surprised he responded in mere minutes, and his response was even more surprising:</p>
<p><code>I learned Ruby in large parts from the original Pickaxe and thought it was a great book. No, it didn't cover everything. And I picked up some metaprogramming tricks form The Ruby Way, especially Chapter 5, as well. But I was very happy to have it at the time.</code></p>
<p>Seems like David agrees with my thoughts on this subject. I bet that most of the big names in the Ruby world also learned the language from Dave&#8217;s book. I thank David for that quick and honest response.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2008/01/08/dont-hate-the-pickaxe/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Advanced Rails Recipes &#8211; Sort Of A Review</title>
		<link>http://www.dennmart.com/2008/01/06/advanced-rails-recipes-sort-of-a-review/</link>
		<comments>http://www.dennmart.com/2008/01/06/advanced-rails-recipes-sort-of-a-review/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 19:01:12 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[pragmatic programmers advanced rails recipes]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/2008/01/06/advanced-rails-recipes-sort-of-a-review/</guid>
		<description><![CDATA[Like I mentioned a while back in this blog, I really like the books released by The Pragmatic Programmers. They&#8217;re pretty easy to read and teach a lot in the process. Although Programming Ruby (known to many on as the &#8216;Pickaxe&#8217; book) is getting some flak after Zed Shaw&#8217;s take on it (which I agree [...]]]></description>
			<content:encoded><![CDATA[<p>Like I <strong><a href="http://www.dennmart.com/2007/02/13/love-those-pragmatic-guys/">mentioned</a></strong> a while back in this blog, I really like the books released by The Pragmatic Programmers. They&#8217;re pretty easy to read and teach a lot in the process. Although <em>Programming Ruby</em> (known to many on as the &#8216;Pickaxe&#8217; book) is getting some flak after Zed Shaw&#8217;s take on it (which I agree on, although I&#8217;ll give my own take on it in the near future), you can&#8217;t deny their books are among the best in their specific topics.</p>
<p>I&#8217;m a big fan of the <strong><a href="http://www.pragprog.com/titles/fr_rr">Rails Recipes</a></strong> book (and no, it&#8217;s not because they actually put a <em>pilón</em>, a typical Puerto Rican food prep utensil, on the cover). When you learn a specific technology, be it a programming language, database engine, framework, or anything else, you&#8217;ll want to find some real-world usage to apply what you&#8217;ve learned. Books like Rails Recipes give you an entire list of specific things you probably thought of doing for your own application, but didn&#8217;t know how to exactly do it. It&#8217;s a great tool when you&#8217;re developing your own stuff.</p>
<p>Of course, thanks to the <strong><a href="http://www.dennmart.com/2007/12/20/at-the-speed-of-rails/">speed of Rails</a></strong>, that book is a bit outdated. So I was really psyched that a new version, named <strong><a href="http://www.pragprog.com/titles/fr_arr">Advanced Rails Recipes</a></strong>, was going to be released in March 2008. So psyched, that I actually went over to their site and purchased the beta PDF (and, of course, I&#8217;ll be getting the paper book wne it&#8217;s released). I couldn&#8217;t wait to read it and apply some recipes to my current projects.</p>
<p>First, I would like to discuss the current system that&#8217;s used for beta PDF&#8217;s in the Pragmatic Programmers site. The site is relatively easy to use, and really well done. Once I created an account and purchased the PDF and paper book, I received an E-Mail stating that my PDF was ready to be downloaded. That was it. Withing a few minutes, I already had my PDF, with &#8220;<em>This book was prepared exclusively for Dennis Martinez</em>&#8221; in the cover &#8211; neato! A couple of days passed by, and I received an E-Mail stating that the beta PDF was updated. All I needed to do was to go into my account on their site, and a link immediately appeared in the main page, which took me directly where to regenerate the PDF (which apparently is run by gerbils &#8211; no joke!). A few minutes passed, and the gerbils sent an E-Mail with a link to my updated PDF. Okay, so they might not really be gerbils who work on the PDF&#8217;s, but I really like it when companies go with these informal jokes while still be very helpful. Kudos to these guys for making a very user-friendly site.</p>
<p>This book is filled with recipes from various Rails users all around the globe who have contributed their work to this book. One thing that took me by surprise is the fact that I expected this book to be pretty much incomplete, with tons of errors all around, but it really wasn&#8217;t like that at all. I found one or two spelling errors, and the recipes I tried worked straight out of the box. That&#8217;s a great thing, because this is why I went ahead and purchased the book three months in advance. I wanted to read up on the techniques used by people with much more real-world Rails experience than I.</p>
<p>In particular, I wanted to read up on the chapter about Capistrano and deployments. This, to me, is one of the most touchy issues in Rails nowadays. It&#8217;s something that everyone seems to do differently with mixed results. The recipes included here aren&#8217;t de-facto deployment strategies, but nice techniques, such as how to generate config files on the fly when deploying to a remote server, how to safeguard your database passwords so that they&#8217;re not in your source code repository, and many other techniques.</p>
<p>Sure, most of these recipes are readily available on the Internet, if you search hard enough. But when you&#8217;re developing a major web application, the last thing you want to do is to fire up Google and spend the next 15+ minutes searching and trying out pieces of code to see if they work for you. This book avoids all that. Not only does it show you <em>how</em> to do things, it also explains <em>why</em> and <em>when</em> you should use them.</p>
<p>Major kudos to the author, Mike Clark, for making such an awesome book. Even though it&#8217;s still in beta, I really recommend this book to anyone who wants to expand their Rails knowledge with bits and pieces of information from major Rails players. Once the &#8216;full release&#8217; of the book is out in March, I&#8217;ll make sure to do a more informative review. For now, don&#8217;t be afraid to get this book because it&#8217;s tagged as &#8216;Beta&#8217;. That&#8217;s far from the truth, it seems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2008/01/06/advanced-rails-recipes-sort-of-a-review/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.208 seconds -->

