<?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; Opinion</title>
	<atom:link href="http://www.dennmart.com/category/opinion/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 the gym and Japanese made me a better developer</title>
		<link>http://www.dennmart.com/2011/08/18/how-the-gym-and-japanese-made-me-a-better-developer/</link>
		<comments>http://www.dennmart.com/2011/08/18/how-the-gym-and-japanese-made-me-a-better-developer/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 05:17:51 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=232</guid>
		<description><![CDATA[For the past ten years or so, even before I graduated from college, a large chunk of my spare time has been dedicated to studying. More specifically, it&#8217;s been dedicated to studying technology. Everything from programming languages I&#8217;ve wanted to use to new frameworks that look shiny and new to electronics and Arduinos and everything [...]]]></description>
			<content:encoded><![CDATA[<p>For the past ten years or so, even before I graduated from college, a large chunk of my spare time has been dedicated to studying. More specifically, it&#8217;s been dedicated to studying technology. Everything from programming languages I&#8217;ve wanted to use to new frameworks that look shiny and new to electronics and Arduinos and everything in between. I&#8217;ve spent lots of time and money reading up on anything tech. It&#8217;s really my passion. That&#8217;s why I got into Computer Science to begin with. I love this.</p>
<p>But after all those years, I&#8217;ve been getting burned out doing this. There&#8217;s just a lot of little things that lead to me feeling this way. The biggest reason, however, is the following: I&#8217;ve read and studied about a lot of cool things that I never got to do at my current day job, making it impossible to retain anything long-term and making me eventually lose interest. This would then spiral into me feeling guilty on spending so much time on something and not use it. To compensate, I would jump to some other tech-related book or project that excited me, only to have the same thing happen again. It was a vicious cycle that I hated and was desperate to get out of. But I didn&#8217;t want to dump tech at all. I love this stuff.</p>
<p>Finally, I decided to just hold back on all the new learning. I stopped buying books and trying to jump on the bandwagon of the latest hotness out on the streets. But that made me even more miserable. I felt like I was getting left behind. Like a drug junkie, I yearned to get my fix, even though I knew it was slowly killing me inside. So I had to focus on something else, far away from the things I&#8217;ve been doing for the past ten years. And oddly enough, shifting my focus away from tech was just what I needed to get my focus back on tech.</p>
<p>First off, I finally decided to go to a gym. Before last year, I had never stepped into a gym before in my life. Outside of walking around town or visiting a new park from time to time, I never really made an attempt to make physical activity a part of my routine. So at age 29, my electronic scale at home read 298.8 pounds, and a recent blood test showed my cholesterol levels a bit on the high side. I knew I had to do something. Since my current office is located right next door, literally, to a gym, I signed up and started going.</p>
<p>Going to the gym and exercising regularly has been by far the best decision I&#8217;ve ever made in my life. Outside of weight loss and other physiological benefits, I never really believed the mental benefits of exercising, but they&#8217;re very, very true. I feel much more alert during the day, up to the point where I don&#8217;t need a caffeine boost during the day. I also got much better at retaining new things I&#8217;ve learned. Work seems to come out effortlessly, and I think the quality of my code has gone noticeably up in the last couple of months, since I&#8217;ve been going to the gym more often. Finally, I&#8217;ve noticed myself in a much better mood every single day, with rarely any &#8220;bad hair days&#8221;, as I used to have periodically. Seeing the benefits of the hard work put at the gym helps with that a lot: Yesterday I weighed myself using the same scale that mockingly showed 298.8 over a year ago, and now it ready &#8217;258.8&#8242;. Suck it, electronic scale.</p>
<p>Besides the gym, I wanted something else to focus on, but nothing related to technology. So I decided to take up learning a new language &#8211; a natural language, in particular, Japanese. I&#8217;m already fluent in English and Spanish, so I wanted to take something that was totally different, something not a Germanic or Romance language. I thought that Japanese was one of the most difficult languages outside of those groups, so I signed up for a class to feel challenged by something new. I&#8217;m about to finish my introductory class next week, and I loved it so much that I&#8217;m planning to stay at the language school for at least a full year, and then I&#8217;ll be taking a few weeks to actually visit Japan.</p>
<p>The thing is, since I&#8217;ve been spending a noticeable chunk of time with the gym and learning Japanese, I&#8217;ve noticed a surprising side-effect &#8211; I&#8217;ve been doing much better in the tech department. Taking time to study Japanese clears my mind and really energizes me, so when I go back to coding I put in a much better effort than I did before. And the physical and mental energy boost that the gym has given me helps me be able to learn and retain more than I ever did. It&#8217;s an awesome feeling, and I&#8217;m loving studying all over again.</p>
<p>As developers and engineers, our passion leads us to spend too much time on technology, but in the long haul that&#8217;s not sustainable. I&#8217;ve heard the phrase &#8220;sometimes we need to step back to be able to move forward&#8221; many, many times before. It&#8217;s totally true. Believe it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2011/08/18/how-the-gym-and-japanese-made-me-a-better-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Quick Recap of MongoSF 2011</title>
		<link>http://www.dennmart.com/2011/05/25/my-quick-recap-of-mongosf-2011/</link>
		<comments>http://www.dennmart.com/2011/05/25/my-quick-recap-of-mongosf-2011/#comments</comments>
		<pubDate>Thu, 26 May 2011 03:47:31 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=225</guid>
		<description><![CDATA[Now that I live on the West Coast, I&#8217;ve been able to attend many of the wonderful tech conferences that are hosted in the Bay Area. Yesterday, I attended MongoSF in beautiful San Francisco. I&#8217;ve been using MongoDB for a while now, mostly for personal projects. I&#8217;ve written some projects on GitHub that uses MongoDB [...]]]></description>
			<content:encoded><![CDATA[<p>Now that I live on the West Coast, I&#8217;ve been able to attend many of the wonderful tech conferences that are hosted in the Bay Area. Yesterday, I attended <a href="http://www.10gen.com/conferences/mongosf2011">MongoSF</a> in beautiful San Francisco. I&#8217;ve been using <a href="http://www.mongodb.org/">MongoDB</a> for a while now, mostly for personal projects. I&#8217;ve written <a href="https://github.com/dennmart/mongoshort">some projects</a> on GitHub that uses MongoDB as the primary data store, and I have also migrated some existing MySQL tables in other projects to use MongoDB instead. Having read <a href="http://oreilly.com/catalog/0636920001096">MongoDB: The Definitive Guide</a> from front to back, and spending quite some time on the <a href="http://www.mongodb.org/display/DOCS/Home">MongoDB docs</a>, I feel like I have a good grasp on the tool. So I was pretty excited to go to this conference and discover some more things about my one of favorite pieces of tech.</p>
<p>There were multiple tracks in this conference, and unfortunately I still can&#8217;t clone myself in this day and age, so I&#8217;ll just briefly touch on those sessions that I was able to attend.</p>
<p><strong>Monitoring &#038; Queuing MongoDB:</strong> This talk, given by <a href="http://twitter.com/#!/davidmytton">David Mytton</a> from <a href="http://www.serverdensity.com/">Server Density</a> touched on some of the integrated monitoring tools and commands that MongoDB has baked in. He also showed a bit of Server Density&#8217;s <a href="http://www.serverdensity.com/mongodb-monitoring/">MongoDB monitoring system</a>, which looks to be incredibly useful. Overall, the talk was decent, but anyone who has MongoDB running in production should know most of this stuff already.</p>
<p><strong>Evolving from relational to document store:</strong> <a href="http://twitter.com/#!/tackers">Graham Tackley</a>, lead for the web development team over at the U.K.&#8217;s <a href="http://www.guardian.co.uk/">Guardian news site</a>, gave an interesting talk on how the site has evolved over time since the mid-90s (Lots of Perl / CGI goodness). Currently they are in the process of moving certain parts of the site to use MongoDB. Besides the history lesson on the site, he also mentioned how they are dealing with possible future changes in architecture, notably by building APIs around the site functionality. This talk got my gears running about some of my own projects, and how I might build any new projects I have in my mind.</p>
<p><strong>MongoDB Profiling and Tuning:</strong> This talk was given by <a href="http://twitter.com/#!/kennygorman">Kenny Gorman</a>, who works as a data architect at <a href="http://www.shutterfly.com/">Shutterfly</a>. Kenny went through some of the steps used to profile MongoDB, like using <a href="http://www.mongodb.org/display/DOCS/Optimization#Optimization-Explain">explain()</a> on your queries, and how to make things faster, not only on the software side, but also on hardware. He brought up Facebook&#8217;s Flashcache, and how it makes MongoDB speed up. I particularly enjoyed hearing the hardware side of things, as I feel like hardware is mostly overlooked by developers.</p>
<p><strong>MongoDB&#8217;s New Aggregation Features &#8211; A Sneak Peek:</strong> <a href="http://twitter.com/#!/cwestin63">Chris Westin</a> is a core MongoDB contributor, and he gave us a sneak peek at a new framework for aggregating records in MongoDB. This framework is really not meant to replace <a href="http://www.mongodb.org/display/DOCS/MapReduce">Map/Reduce</a>, which will still serve very well for massive data. But for people like me, who need to aggregate smaller amounts of data (thousands of documents instead of millions), this will be much easier and faster to deal with. Very cool stuff, and I can&#8217;t wait to use it.</p>
<p><strong>Lessons Learned from Migrating 2+ Billion Documents at Craigslist:</strong> Former Yahoo! and current Craigslist employee <a href="http://twitter.com/#!/jzawodn">Jeremy Zawodny</a> spoke about how Craigslist is using MongoDB for their posting archive, and the lessons learned along the way, like the usage of replica sets even in development, document encoding, and how important data types are when migrating collections. He had a similar talk at <a href="http://www.10gen.com/conferences/mongosv2010">MongoSV</a> a few months ago, so I didn&#8217;t feel like there wasn&#8217;t much new information here. Still, a good talk about migrating a large amount of data from MySQL to MongoDB &#8211; it can be done.</p>
<p><strong>Practical Scaling and Sharding:</strong> <a href="http://twitter.com/#!/eliothorowitz">Eliot Horowitz</a> is one of the main MongoDB contributors, and the CTO of the company that backs MongoDB, <a href="http://www.10gen.com/">10gen</a>. He went through the features and usage of Replica Sets and Sharding, with a few use cases and live examples. This seemed more like an introductory talk more than anything else, so there was nothing groundbreaking here.</p>
<p><strong>MongoDB at Foursquare:</strong> This talk was given by <a href="http://twitter.com/#!/jorgeortiz85">Jorge Ortiz</a>, an engineer at Foursquare, who proceeded to mention briefly how MongoDB was being used at Foursquare, some of the lessons they&#8217;ve learned throughout the years with MongoDB, and talked about their Scala library for querying MongoDB called <a href="https://github.com/foursquare/rogue">Rogue</a>. Frankly, I was disappointed with this talk, as Jorge didn&#8217;t give much insight outside of a few numbers and oft-repeated tips. I was expecting a more informative talk here.</p>
<p><strong>Indexing &#038; Query Optimization:</strong> <a href="http://twitter.com/#!/jonnyeight">Alvin Richards</a>, a West Coast 10gen employee, gave an in-depth talk about indexes in MongoDB. He went through everything, from basic indexes, to indexing order, to new indexing options in MongoDB 1.8 (<a href="http://www.mongodb.org/display/DOCS/Indexes#Indexes-SparseIndexes">sparse indexes</a> and <a href="http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields#RetrievingaSubsetofFields-CoveredIndexes">covered indexes</a>), to even showing representations of the internal B-Tree implementation. Very informative.</p>
<p><strong>Lightning Talks:</strong> This was divided in three shorter talks. First up was <a href="http://twitter.com/#!/mikegoff">Michael Goff</a>, who spoke about how his company, <a href="http://cocoafish.com/">Cocoafish</a> uses MongoDB to serve up data to mobile apps. Next was Chris Carrier (Is he on Twitter? I couldn&#8217;t find an account to link here) from Zuberance, speaking about how to create a reporting backend using MongoDB. Last, but not least, was <a href="http://twitter.com/#!/chadarimura">Chad Arimura</a>, who went through <a href="http://www.simpleworker.com/">SimpleWorker</a>, a cloud-based job scheduling service that uses MongoDB. These talks were short &#8211; which you might have figured out with &#8216;Lightning&#8217; in the title &#8211; and seemed to be mostly about the speakers&#8217; particular sites more than anything else.</p>
<p>At the end, Eliot Horowitz gave a quick rundown on the upcoming features for MongoDB 2.0, like TTL collections, online data compaction, faster Map/Reduce, etc. Surprisingly, this 2.0 release is scheduled for June 2011, as in next month. Seems like they&#8217;re going to be doing quicker iterations and getting new stuff out there as soon as possible, which can only lead to good stuff for users. There was an after-party, but when I swung by the place there was a massive line outside to get in, so I decided to head home instead. Unfortunately, this is the third time in as many conference after-parties that I&#8217;ve had to do this, so it seems like these after-parties don&#8217;t scale well.</p>
<p>Overall, while the conference was pretty good, and everything was organized very well, most of the times I felt like I was out of place or at the wrong talk. Judging from the few people I spoke to, and those that I overheard, it seems like most people at the conference hadn&#8217;t used MongoDB much (or at all), and many talked I went to touched on what I consider some of the basics of MongoDB. Even if they weren&#8217;t basic topics, like Replica Sets or Sharding, if you have read a recent MongoDB book, you knew what most of the speakers were talking about. Also, there was plenty of repeating of the same tips over and over again in a lot of the talks. For example, in the nine talks I went to, the speaker mentioned the &#8220;always keep indexes in memory&#8221; rule of thumb in at least five of those talks. Truth be told, MongoDB isn&#8217;t really a super-deep technology (even the aforementioned O&#8217;Reilly book clocks in at a bit north of 200 pages), so this can be the reason why. But I wanted to know more on the upcoming features in MongoDB (I only really saw one talk in the schedule like this, which was the new aggregation framework), and some more in-depth views of how companies are leveraging MongoDB in their technology stack instead of just pointing out how awesome MongoDB is &#8211; which we already know.</p>
<p>In any case, I had tons of fun, learned some new tips and tricks, and got some fresh inspiration to use in my own work soon. The best thing about these conferences is knowing that what you&#8217;re learning and using is valuable not just to you, but to many out there, and it just gives you motivation to keep on using those tools in familiar and new ways. Much props go out to 10gen for making this conference go smoothly, and hopefully there&#8217;s another one of these sometime next year.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2011/05/25/my-quick-recap-of-mongosf-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Broken Tests&#8230; I Told You To &#8216;Save&#8217;</title>
		<link>http://www.dennmart.com/2010/12/07/broken-tests-i-told-you-to-save/</link>
		<comments>http://www.dennmart.com/2010/12/07/broken-tests-i-told-you-to-save/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 22:38:58 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Funny Stuff]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=211</guid>
		<description><![CDATA[Failing tests are the worst, especially when caused by a silly cut / paste mistake (an instance variable had to be changed to be a local variable, but guess who forgot to remove the &#8216;@&#8217; sign&#8230;). While my tests run again to make sure it&#8217;s all good now, I thought I&#8217;d share a little routine [...]]]></description>
			<content:encoded><![CDATA[<p>Failing tests are the worst, especially when caused by a silly cut / paste mistake (an instance variable had to be changed to be a local variable, but guess who forgot to remove the &#8216;@&#8217; sign&#8230;). While my tests run again to make sure it&#8217;s all good now, I thought I&#8217;d share a little routine we do here at RepairPal when this happens.</p>
<p>In the spirit of getting feedback as quickly as possible after we commit our code changes, we have a continuous integration server (running <a href="http://www.hudson-ci.org/">Hudson</a>, which is very awesome). This, of course, will pull our code changes and run all tests we&#8217;ve written so far, letting us know when something failed along the way. But instead of being notified by emails, we decided to make things a bit more fun. We plugged in a pair of speakers to the CI server, and using the text-to-speech tool <a href="http://www.cstr.ed.ac.uk/projects/festival/download.html">Festival</a>, we&#8217;ll get a nice voice notification of who broke the build when tests fail. It&#8217;s a great way to get the instant feedback needed to fix things when they&#8217;re most fresh in our minds. The only drawback is the fact that one of our developers is in Romania, so he doesn&#8217;t get to hear our Hudson box yell at him. He does get notified via <a href="http://campfirenow.com/">Campfire</a>, though.</p>
<p>However, the fun doesn&#8217;t end there. I bought a cheap piggy bank that looks like a big keyboard key with the word &#8216;Save&#8217; on it:</p>
<p><center><img src="http://www.dennmart.com/wp-content/uploads/2010/12/save_key_bank.jpg" alt="" title="Save key piggy bank" width="520" height="333" class="alignnone size-full wp-image-212" /></center></p>
<p>Whenever someone commits code that breaks our test suite, not only do they have to suffer the embarrassment of having Hudson bark at them, but they also have to pay a dollar to our &#8216;Broken Tests&#8217; fund, and have the dreaded &#8216;Save&#8217; button sit at their desk as a reminder to save things before committing. The &#8216;Broken Tests&#8217; fund goes towards the bar downstairs, where us local developers spend the cash on beers for the team. Thankfully we don&#8217;t break the test suite often enough to get beer often. It&#8217;s a punishment, but it leads to a good thing, eventually.</p>
<p>Does your team have any sort of &#8216;punishments&#8217; when one of the developers breaks the build? We&#8217;re constantly thinking about different things to add to our little routine, just to keep things light around here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2010/12/07/broken-tests-i-told-you-to-save/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bye, Slicehost &#8211; Hello, Linode</title>
		<link>http://www.dennmart.com/2010/07/26/bye-slicehost-hello-linode/</link>
		<comments>http://www.dennmart.com/2010/07/26/bye-slicehost-hello-linode/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 23:13:23 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Services]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=191</guid>
		<description><![CDATA[It&#8217;s been a few months since my last post around these parts. I&#8217;ve mostly been keeping busy with fitting into the whole West Coast lifestyle and, of course, busy at the job. Although I do miss New York City from time to time, particularly while watching older episodes of How I Met Your Mother, I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a few months since my last post around these parts. I&#8217;ve mostly been keeping busy with fitting into the whole West Coast lifestyle and, of course, busy at the job. Although I do miss New York City from time to time, particularly while watching older episodes of <em>How I Met Your Mother</em>, I&#8217;ve really enjoyed my time in the Bay Area. People here are interesting, and tech is such a huge part of the culture. It&#8217;s been a fun ride.</p>
<p>This post, however, is not about the adventures of a Puerto Rican being thousands of miles from home (although it could certainly make for an interesting story for another day). This post is about me pulling the trigger on something I&#8217;ve wanted to do for a long time &#8211; switch my VPS (which is where this very blog is running) from <a href="http://www.slicehost.com/">Slicehost</a> to <a href="http://www.linode.com/">Linode</a>.</p>
<p>To begin, I wanted to state that Slicehost is very, very awesome. I&#8217;ve been a customer of theirs for more than two years, and never had any major issues with them. With the exception of some outages, their service ran smoothly for the most part. This is more than anyone can ask for. So, if Slicehost is so awesome, why didn&#8217;t I marry them? I was perfectly content in staying with them.</p>
<p>However, as I was experimenting more and more with Ruby, Rails, Python and other languages / frameworks, my VPS &#8211; which was the smallest slice available at 256 MB &#8211; was obviously starting to suffer under the memory constraints. Since these were mostly experiments, I didn&#8217;t want to splurge and pay almost double for a 512 MB slice. That&#8217;s when Linode <a href="http://blog.linode.com/2010/06/16/linode-turns-7-big-ram-increase/">announced</a> that they would be increasing the RAM sizes of all their slices. So it was either to stay with Slicehost and have my VPS struggle to keep up with my experiments (or pay more per month), or switch VPS providers. After reading all around the Internet about how good Linode was, I decided to go for it.</p>
<p>I opened an account with Linode and instantly had my sparkling new VPS running. I transferred all my files from the old Slicehost VPS and just had to point my domain names to the new Linode VPS. My main concern initially was that Slicehost had really spoiled me with their control panel, especially for DNS management. It was what had initially drawn me into their service to begin with, so leaving that behind was a bit scary. Thankfully, Linode has their own control panel that&#8217;s equally great to use. I was able to configure and point my domain names to the Linode VPS, and had everything working quickly.</p>
<p>As far as performance, I had been reading for years how Linode has faster I/O performance than Slicehost. Turns out that those tests seem to be true &#8211; The VPS as a whole feels much snappier, from logging in via SSH to serving up this very blog.</p>
<p>One of the major issues people had against Linode in the past was that they lacked any integrated backup system, a la Slicehost. They actually <a href="http://blog.linode.com/2010/05/04/introducing-the-linode-backup-service/">introduced backups</a> a few months ago. This wasn&#8217;t a major concern for me (I&#8217;m using <a href="http://www.tarsnap.com/">Tarsnap</a>, which deserves a blog post of its own), but for those who need this sort of service, know that they have you covered.</p>
<p>Like I mentioned, Slicehost is great, and I wouldn&#8217;t encourage people to not use their services. I just had different needs that Linode seems to be handling as well as I expected. It&#8217;s only been a couple of days, but I think I&#8217;ll be shutting down my Slicehost VPS for good.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2010/07/26/bye-slicehost-hello-linode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Arrival To The Bay Area</title>
		<link>http://www.dennmart.com/2010/02/21/my-arrival-to-the-bay-area/</link>
		<comments>http://www.dennmart.com/2010/02/21/my-arrival-to-the-bay-area/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 01:44:57 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=183</guid>
		<description><![CDATA[Well, after writing in my last post a month ago that I was officially unemployed, I was blessed with acquiring a new full-time job just four days later. Best of all, it&#8217;s where I always wanted to be, the Bay Area! Tomorrow will officially be my first day as a Rails developer for RepairPal. I [...]]]></description>
			<content:encoded><![CDATA[<p>Well, after writing in my <a href="http://www.dennmart.com/2010/01/26/no-rest-for-the-unemployed/">last post</a> a month ago that I was officially unemployed, I was blessed with acquiring a new full-time job just four days later. Best of all, it&#8217;s where I <a href="http://www.dennmart.com/2007/04/28/san-francisco-here-i-come-hopefully/">always wanted to be</a>, the Bay Area!</p>
<p>Tomorrow will officially be my first day as a Rails developer for <a href="http://repairpal.com">RepairPal</a>. I was in their offices last week to meet them personally, and everyone seemed very friendly and the company seems to be doing some cool stuff, so I hope I&#8217;ll be a part of all the awesome stuff that&#8217;s to come. It&#8217;s really a dream come true for me to be where I&#8217;m at right now, at this very moment. It&#8217;s proof that if you really want something bad enough, and you work hard for it, whatever you want will come true.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2010/02/21/my-arrival-to-the-bay-area/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>Redis rocks!</title>
		<link>http://www.dennmart.com/2009/11/05/redis-rocks/</link>
		<comments>http://www.dennmart.com/2009/11/05/redis-rocks/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 17:16:25 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<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[Software]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=170</guid>
		<description><![CDATA[In my development blog, I previously wrote that MongoDB was the future of database storage. I might reconsider my decision, now that I&#8217;ve discovered Redis. In a nutshell, Redis is a key-value store. But it&#8217;s not a simple key-value database, as it has lots of commands and extra goodies, such as file persistence (so data [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://development.dennmart.com/2009/10/08/mongodb-and-mongomapper-the-future.html">development blog</a>, I previously wrote that <a href="http://www.mongodb.org/">MongoDB</a> was the future of database storage. I might reconsider my decision, now that I&#8217;ve discovered <a href="http://code.google.com/p/redis/">Redis</a>. In a nutshell, Redis is a key-value store. But it&#8217;s not a simple key-value database, as it has lots of <a href="http://code.google.com/p/redis/wiki/CommandReference">commands</a> and extra goodies, such as file persistence (so data can be stored from memory to a file, and restored in case of failure) and awesome data structures like lists (with push / pop) and sets (even ordered sets). Besides that, Redis boasts atomicity and even master-slave replication. It&#8217;s quite a lot of stuff for a lean package.</p>
<p>One of the things I love the most about Redis is it&#8217;s speed. Believe me, this little database is <em>fast</em>. Redis includes a benchmark tool, so I ran the default benchmark (Approximately 10,000 total requests per command, from 50 simultaneous clients) just to demonstrate its raw speed. These tests were run on a Mac Mini (1.83 GHz Intel Core 2 Duo, 2 GB RAM) under Ubuntu 9.10 Server:</p>
<p><code><br />
    dennmart@ubuntu:~$ redis-benchmark<br />
    ====== SET ======<br />
      10005 requests completed in 0.14 seconds<br />
      50 parallel clients<br />
      3 bytes payload<br />
      keep alive: 1<br />
    <br />
    34.89% <= 0 milliseconds<br />
    99.19% <= 1 milliseconds<br />
    100.00% <= 2 milliseconds<br />
    74111.11 requests per second<br />
    <br />
    ====== GET ======<br />
      10003 requests completed in 0.13 seconds<br />
      50 parallel clients<br />
      3 bytes payload<br />
      keep alive: 1<br />
    <br />
    34.62% <= 0 milliseconds<br />
    99.79% <= 1 milliseconds<br />
    99.83% <= 2 milliseconds<br />
    99.87% <= 3 milliseconds<br />
    99.91% <= 4 milliseconds<br />
    99.94% <= 5 milliseconds<br />
    99.97% <= 6 milliseconds<br />
    99.99% <= 7 milliseconds<br />
    100.00% <= 8 milliseconds<br />
    74649.25 requests per second<br />
    <br />
    ====== INCR ======<br />
      10005 requests completed in 0.15 seconds<br />
      50 parallel clients<br />
      3 bytes payload<br />
      keep alive: 1<br />
    <br />
    25.60% <= 0 milliseconds<br />
    99.73% <= 1 milliseconds<br />
    99.80% <= 2 milliseconds<br />
    99.83% <= 3 milliseconds<br />
    99.86% <= 4 milliseconds<br />
    99.89% <= 5 milliseconds<br />
    99.92% <= 6 milliseconds<br />
    99.95% <= 7 milliseconds<br />
    99.97% <= 8 milliseconds<br />
    100.00% <= 9 milliseconds<br />
    65392.16 requests per second<br />
    <br />
    ====== LPUSH ======<br />
      10001 requests completed in 0.13 seconds<br />
      50 parallel clients<br />
      3 bytes payload<br />
      keep alive: 1<br />
    <br />
    37.62% <= 0 milliseconds<br />
    99.78% <= 1 milliseconds<br />
    99.82% <= 2 milliseconds<br />
    99.86% <= 3 milliseconds<br />
    99.89% <= 4 milliseconds<br />
    99.93% <= 5 milliseconds<br />
    99.96% <= 6 milliseconds<br />
    99.99% <= 7 milliseconds<br />
    100.00% <= 8 milliseconds<br />
    77527.13 requests per second<br />
    <br />
    ====== LPOP ======<br />
      10000 requests completed in 0.14 seconds<br />
      50 parallel clients<br />
      3 bytes payload<br />
      keep alive: 1<br />
    <br />
    34.13% <= 0 milliseconds<br />
    99.69% <= 1 milliseconds<br />
    99.82% <= 2 milliseconds<br />
    99.86% <= 3 milliseconds<br />
    99.90% <= 4 milliseconds<br />
    99.93% <= 5 milliseconds<br />
    99.96% <= 6 milliseconds<br />
    99.98% <= 7 milliseconds<br />
    100.00% <= 8 milliseconds<br />
    74074.07 requests per second<br />
    <br />
    ====== PING ======<br />
      10000 requests completed in 0.12 seconds<br />
      50 parallel clients<br />
      3 bytes payload<br />
      keep alive: 1<br />
    <br />
    43.79% <= 0 milliseconds<br />
    99.80% <= 1 milliseconds<br />
    99.85% <= 2 milliseconds<br />
    99.89% <= 3 milliseconds<br />
    99.91% <= 4 milliseconds<br />
    99.93% <= 5 milliseconds<br />
    99.97% <= 6 milliseconds<br />
    100.00% <= 7 milliseconds<br />
    86206.90 requests per second<br />
</code></p>
<p>Yeah, you read that right. On this somewhat low-end computer (by today's standards), Redis still manages to do over 74,000 SET (write) and GET (read) operations <em>per second</em>. Push and pop list operations also do well over 70,000 requests. On bigger hardware, expect these numbers to be much higher. Besides speed, I've also been impressed by the stability of Redis. I've been running Redis non-stop on the Mac Mini for over two weeks, and I've never had a single issue with it.</p>
<p>I got really interested in Redis after <a href="http://ozmm.org/">Defunkt</a> (of <a href="http://github.com/">GitHub</a> fame) open-sourced <a href="http://github.com/defunkt/hurl">Hurl</a>. Hurl was an entry in this year's <a href="http://r09.railsrumble.com/entries">Rails Rumble</a> competition. I used it quite extensively when developing with PayPal's APIs. After it was released, I noticed that Hurl used Redis for persistence. I was kind of puzzled why a key-store value was used for this. However, Defunkt wrote <a href="http://ozmm.org/posts/sort_in_redis.html">an excellent post</a> mostly explaining the SORT operation, but also included some additional details on how Redis was used in Hurl. It made the decision to use Redis clear. Well, I'm also willing to bet that he used Redis because us programmers love to use the new hotness.</p>
<p>I feel that Redis will be something big soon. There are a few open-source projects using it, including the aforementioned Hurl and <a href="http://github.com/defunkt/resque">Resque</a>. I already have a few ideas where I can use some of this functionality for current sites that I'm working on (such as simple counters, or a tag-like system where we can push and pop tags from a list). Check Redis out if you need some quick and simple storage.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2009/11/05/redis-rocks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Well, excuse me for not going to Harvard&#8230;</title>
		<link>http://www.dennmart.com/2009/09/03/well-excuse-me-for-not-going-to-harvard/</link>
		<comments>http://www.dennmart.com/2009/09/03/well-excuse-me-for-not-going-to-harvard/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 00:59:29 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=168</guid>
		<description><![CDATA[Recently, I&#8217;ve been looked over two different job opportunities. That&#8217;s nothing new, and nothing that will bring me down. However, the reasons behind why I was looked over annoyed me a lot. Apparently, these companies were looking for people from Ivy League schools. Seriously? That was the main reason? If it was, to me it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I&#8217;ve been looked over two different job opportunities. That&#8217;s nothing new, and nothing that will bring me down. However, the reasons behind why I was looked over annoyed me a lot. Apparently, these companies were looking for people from Ivy League schools. Seriously? That was the main reason? If it was, to me it&#8217;s one of the most stupidest reasons out there to not give a job to someone who would otherwise be qualified for the job.</p>
<p>I do know that the difference between a well-qualified developer and an average one is usually huge. But is there really that big of a difference between a Harvard graduale and a graduate from another university with the same degree? It&#8217;s not like the fundamentals of Computer Science are different anywhere else. It&#8217;s not like people in Harvard use different design patterns, or use them more efficiently (or worse &#8211; come on, we&#8217;re all human). I still don&#8217;t understand why someone is over-looked because of the name of the university on their degree.</p>
<p>I guess these employers probably see that someone who graduated from one of these &#8216;high-class&#8217; schools is a dedicated, super-smart individual. It doesn&#8217;t mean that I don&#8217;t have those qualities because I went to the <a href="http://ponce.inter.edu">Interamerican University of Puerto Rico</a>. Perhaps I didn&#8217;t have thousands and thousands of dollars to go to one of those schools. The joke I have with my mom now ever since I told her this is that I will &#8220;never forgive her&#8221; for not sending me to an Ivy League school and ruining my life.</p>
<p>There are tons of smart, bright, über-talented people out there. I&#8217;m willing to bet most of them didn&#8217;t go to Harvard or Brown or Yale. Don&#8217;t skip a diamond in the rough because of their <em>Alma Mater</em>. You&#8217;d be surprised at what you can find if you broaden your views just a little bit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2009/09/03/well-excuse-me-for-not-going-to-harvard/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Signup form from hell</title>
		<link>http://www.dennmart.com/2009/08/20/signup-form-from-hell/</link>
		<comments>http://www.dennmart.com/2009/08/20/signup-form-from-hell/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 13:46:16 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=158</guid>
		<description><![CDATA[Today I stumbled upon a site which shows how to create a &#8216;magical&#8217; user registration form, using a little bit of CSS and jQuery magic. Go ahead, play around with it once. I&#8217;ll wait. Are you finished? Good. Now please don&#8217;t ever do this in your own websites. Ever. Have you ever been around other [...]]]></description>
			<content:encoded><![CDATA[<p>Today I stumbled upon a site which shows how to create a &#8216;magical&#8217; user registration form, using a little bit of CSS and <a href="http://jquery.com/">jQuery</a> magic. <a href="http://9lessons.net63.net/jquery_css.html">Go ahead, play around with it once</a>. I&#8217;ll wait.</p>
<p>Are you finished? Good. Now <strong>please</strong> don&#8217;t <em>ever</em> do this in your own websites. Ever.</p>
<p>Have you ever been around other websites where you need to register, only to see a humongous form that needs to be filled out? Chances are, as soon as you saw that huge form, you clicked on the &#8216;Back&#8217; button of your browser, never to return again.</p>
<p>Now, imagine the same site and it still requires you to fill out that huge form. However, instead of showing you upfront about the time you need to spend filling out that info, it only shows you two fields. You immediately think <em>&#8220;Cool, I&#8217;ll be registered in no time at all!&#8221;</em> Then you click on the &#8216;Registration&#8217; button&#8230; And more fields pop up. Begrudgingly, you fill out these additional fields&#8230; Only to be shown <em>more</em> fields. Do you see where I&#8217;m going?</p>
<p>Don&#8217;t torture your users into filling out needless information. Unless you&#8217;re working with some government or financial entity, you really don&#8217;t need all that information, do you? Keep it as simple as you possibly can. For example, I loved <a href="http://heroku.com/signup">Heroku&#8217;s sign up process</a>, where just an email address is required. They send you a link through email, where you click and <em>voilà</em>, you are now a registered Heroku user. Simple and effective.</p>
<p>Another alternative is what&#8217;s called <a href="http://webjackalope.com/lazy-registration/">&#8220;Lazy Registration&#8221;</a>, where you can actually use the main functionality of the site without registering. Only when you need to actually register for something (like to save the information for future use), the sign-up form will appear. By this time, the user will know how much value your site gives to them, so if they were happy with what they saw with the non-registration parts of your site, they will gladly register and continue to use your site in the future. Also simple and effective.</p>
<p>You ultimately decide what needs to be in your registration form. Just don&#8217;t be surprised when you find that your 5-step registration process isn&#8217;t gaining any new users to your site. We&#8217;re not really <em>dying</em> to use your site, you know.</p>
<p><strong>Update:</strong> As soon as I posted this, Jason Fried from 37signals <a href="http://37signals.com/svn/posts/1867-design-decisions-new-signup-form">wrote a post about signup form redesigns</a> for their products. I thought I would add it here, as 37signals is a company I respect and appreciate for writing these kind of posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2009/08/20/signup-form-from-hell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter &#8211; It&#8217;s all about you</title>
		<link>http://www.dennmart.com/2009/08/19/twitter-its-all-about-you/</link>
		<comments>http://www.dennmart.com/2009/08/19/twitter-its-all-about-you/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 01:55:41 +0000</pubDate>
		<dc:creator>Dennis Martinez</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Sites]]></category>

		<guid isPermaLink="false">http://www.dennmart.com/?p=151</guid>
		<description><![CDATA[It seems like the current hotness is Twitter, with tons of publicity about how their growth in the past couple of months has been staggering. Of course, as with any other service on the Internet, with more awareness about the product, more people feel the need to bash it because it&#8217;s not their thing. While [...]]]></description>
			<content:encoded><![CDATA[<p>It seems like the current hotness is <a href="http://twitter.com/">Twitter</a>, with tons of publicity about how their growth in the past couple of months has been staggering. Of course, as with any other service on the Internet, with more awareness about the product, more people feel the need to bash it because it&#8217;s not their thing. While Twitter has been blowing up, I see more and more comments around the Internet from people claiming that Twitter is anything from stupid to retarded, including <a href="http://www.techcrunch.com/2009/08/17/why-i-dont-use-twitter/">editors from well-known tech publications</a>. But it&#8217;s not only online &#8211; I&#8217;ve been in conversations with people who also declare the same things to anyone who&#8217;s listening in their vicinity.</p>
<p>While I understand and respect everyone&#8217;s opinion on the matter, I believe that it&#8217;s mostly a matter of them giving in to their perceptions of Twitter. Here are a few of the most-repeated issues people have against Twitter, and my own point of view regarding those issues.</p>
<p><strong>&#8220;I don&#8217;t care about other people&#8217;s lives&#8221;</strong></p>
<p>By far, the most common issue people have against Twitter is that they say they don&#8217;t care about the minor and insignificant details that people usually post on Twitter. I have to partially agree on this (I mean, who cares that <a href="http://twitter.com/dennmart/status/3366655202">someone smiled when listening to Ricky Martin on the radio</a>?). But just because a lot of people do this, it doesn&#8217;t mean that the entire Twitter universe is filled with people who post every insignificant detail of themselves. While I do post stuff that no one would care about from time to time, I refrain from doing it full-time.</p>
<p>Also, these are the exact same people who visit <a href="http://www.tmz.com/">TMZ</a> every day and talk about what they showed in <a href="http://www.accesshollywood.com/">Access Hollywood</a> the other night. Face it: by far, most human beings are attracted to gossip. Do you know somebody who apparently has nothing better to do than peek outside the window and check what the passers-by are doing? Are <em>you</em> one of those people? Trust me, I know a lot of people who do this. So why do these &#8216;curious&#8217; people shun Twitter because people expose details about their life?</p>
<p>This brings me to my next issue.</p>
<p><strong>&#8220;Only celebrities have anything interesting to say on Twitter&#8221;</strong></p>
<p>Twitter&#8217;s explosive growth is thanks in large part by the constant news reports about celebrities joining in and chatting with their fans. <a href="http://twitter.com/APlusK">Ashton Kutcher</a> made major waves with CNN when they had their little &#8216;competition&#8217; to see who would be the first to reach 1 million followers. <a href="http://twitter.com/oprah">Oprah Winfrey</a> exposed the site to millions of her viewers when she created her account during one of her shows. Even &#8216;bad&#8217; publicity seems to have helped &#8211; I bet that a lot of baseball fans signed up after hearing about Twitter when manager extraordinaire Tony La Russa <a href="http://abcnews.go.com/Technology/wireStory?id=7761758">sued Twitter</a> over someone using his name on the service.</p>
<p>In any case, celebrities definitely are <strong>not</strong> the most interesting people on Twitter. Well, it depends on who you are. If you&#8217;re part of the TMZ-lovin&#8217; group I mentioned above, then Twitter will be celebrity heaven for you. But for others, like myself, celebrities are pretty damn annoying. For example, I&#8217;m a fan of Shaquille O&#8217;Neal, but <a href="http://twitter.com/THE_REAL_SHAQ">his Twitter stream</a> makes my head hurt (one of his latest tweets: <em>&#8220;thanks 2 all da fans who watched last nite &#038; made my sho get da best numbers in yrs&#8221;</em>). Also, while I adore Mark Hoppus of Blink-182, <a href="http://twitter.com/MARKhoppus">his tweets</a> recently have no substance to them (<em>&#8220;Apparently &#8220;make-up sex&#8221; has absolutely nothing to do with making love to the make-up at the mall cosmetics counter. Sorry everyone. My bad.&#8221;</em> Funny, but what the hell?)</p>
<p><strong>&#8220;I&#8217;m not interesting&#8221; / &#8220;Who the hell is going to follow me?&#8221;</strong></p>
<p>You&#8217;re not interesting, you say? Guess what: <a href="http://twitter.com/dennmart">I&#8217;m not either</a>. I&#8217;m willing to bet that more than 99% of the millions of current Twitter users aren&#8217;t really that interesting either. But for every Twitter user that doesn&#8217;t interest you, there are lots of people do <em>do</em> find that Twitter user interesting. Like I said above, I&#8217;m not interested in reading through Shaq&#8217;s poor grammer, but there are <em>two million</em> Twitter users who do. I don&#8217;t expect everyone to follow what&#8217;s going on with <a href="http://twitter.com/github">GitHub</a>, or see what <a href="http://twitter.com/jchris">J. Chris Anderson</a> has been doing with <a href="http://couchdb.apache.org/">CouchDB</a>.</p>
<p>This brings me to my own conclusion about the use of Twitter:</p>
<p><strong>It&#8217;s all about you</strong></p>
<p>Yes, about <em>you</em>. It&#8217;s up to you how you decide to use Twitter. Like I showed above, most of the people I follow on Twitter are people within my own field. They share a lot of information about things I&#8217;m interested in, and a lot of times they also share information that really hasn&#8217;t hit &#8216;the rounds&#8217;. It&#8217;s fun to hear something on Twitter an hour or two before other major sites pick up on it.</p>
<p>Another use I give to my Twitter account is for my own selfish reasons: To have some sort of record about things that I might have forgotten if I hadn&#8217;t written it down somewhere. After all, Twitter is billed as a &#8216;<a href="http://en.wikipedia.org/wiki/Micro-blogging">micro-blogging</a>&#8216; site, so I blog about these occurrences in my life. It&#8217;s a nice little place to see moments that were awesome or important in your life, like <a href="http://twitter.com/dennmart/status/508390812">this tweet from December 2007</a>, where I was interviewed for the job I currently hold in New York City. Yep, I&#8217;m sure these tweets make most everyone say &#8220;I don&#8217;t care&#8221;, but like I said, it&#8217;s all about me, in this case.</p>
<p>So it&#8217;s up to you decide how to use it, but ultimately, it&#8217;s up to you to decide <em>not</em> to use Twitter at all. I&#8217;ve encountered people who are rabid Twitter fans (the same type of people who felt <a href="http://www.cnn.com/2009/TECH/08/07/twitter.attack.reaction/">&#8216;jittery&#8217; and &#8216;naked&#8217; when Twitter was down a few weeks ago</a>) who desperately try to shove Twitter down other people&#8217;s throats, and get visibly frustrated when the other people say that they don&#8217;t feel like it&#8217;s useful to them. There are few worse things than having someone impose something on you that you simply don&#8217;t care about. There&#8217;s nothing in this world that works for everybody. When something exists that makes every single human being in this planet say &#8220;Whoa, that&#8217;s great! I&#8217;m going to use it all the time!&#8221;, let me know. I expect to be dead by then.</p>
<p>If you gave Twitter a try and still think it&#8217;s the lamest, most boring thing ever, then good for you. Just don&#8217;t think that the millions of Twitter users who do find it useful and/or entertaining are wasting their time. We surely aren&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennmart.com/2009/08/19/twitter-its-all-about-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

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

