<?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>Tower Of Power &#187; Opinions</title>
	<atom:link href="http://www.toosweettobesour.com/category/opinions/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.toosweettobesour.com</link>
	<description>Far Too Sweet To Be Sour</description>
	<lastBuildDate>Wed, 07 Dec 2011 23:22:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>On Looking For A Job And Online Reputation</title>
		<link>http://www.toosweettobesour.com/2009/02/05/on-looking-for-a-job-and-online-reputation/</link>
		<comments>http://www.toosweettobesour.com/2009/02/05/on-looking-for-a-job-and-online-reputation/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 17:08:55 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Opinions]]></category>
		<category><![CDATA[Jobs]]></category>
		<category><![CDATA[Reputation]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=359</guid>
		<description><![CDATA[As many of you know I am finishing up my last semester at school and at the same time on the lookout for jobs (For those interested, you can look at my résumé). As a part of the last few classes I have to finish, I am taking a CPSC Seminar course which so far [...]]]></description>
			<content:encoded><![CDATA[<p>As many of you know I am finishing up my last semester at school and at the same time on the lookout for jobs (For those interested, you can look at my <a href="http://www.toosweettobesour.com/resume/">résumé</a>).</p>
<p>As a part of the last few classes I have to finish, I am taking a CPSC Seminar course which so far has consisted of talks from the <a href="http://careercenter.tamu.edu/">Texas A&#038;M Career Center</a>. A lot of talk has been on managing your personal on line reputation. Besides the obvious &#8220;don&#8217;t post pictures of you on Facebook doing keg stands&#8221; or &#8220;don&#8217;t post embarrassing, topless photos of yourself&#8221;. </p>
<p><a href="http://www.toosweettobesour.com/wp-content/uploads/2009/02/me-emberassing.jpg" rel="lightbox" title="Me (without my shirt) at Fish Camp"><img src="http://www.toosweettobesour.com/wp-content/uploads/2009/02/me-emberassing-300x225.jpg" alt="Me (without my shirt) at Fish Camp" title="Me (without my shirt) at Fish Camp" width="300" height="225" class="alignright size-medium wp-image-360" /></a></p>
<p>A lot of these tips are based on the idea that you don&#8217;t want potential employers that read your blog (Hi prospective employers!) and research your internet famousness to screen you based on what they gather from their research. From not hiring you because all of your Facebook pictures involve you being trashed at a party to an extreme scenario of a Baptist corporate recruiter seeing that post you did on how much you hate Baptists. The theme is the same: don&#8217;t let the company screen you unnecessarily. Usually the safe bet is to TIGHTLY titrate the amount of information you post on the internet.</p>
<p>However if one does a cursory <a href="http://www.google.com/search?q=Daniel+Cousineau">Google search of my name</a>, one will find that I have not shied away from associating my content with myself. Granted the first page of Google results is mayhaps even sexy to recruiters (hey look, a couple of my technical blog posts linked on <a href="http://phpdeveloper.org/">PHPDeveloper.org</a>, <a href="http://www.linkedin.com/in/dcousineau">my LinkedIn account</a>), if one can see or gets access to my Facebook profile or read the rest of my blog, one will notice that I do not hesitate in expressing myself.</p>
<p>Why would I put myself out there like that? Because while companies are out shopping for employees, I am out shopping for companies. And such shopping extends beyond basic research on a company and visiting their work environment.</p>
<p>How many of you found the above photo offensive? uncouth? unprofessional? ridiculous? How many people would put that person lower on a hiring list because of the information you&#8217;ve gathered so far in seeing that photo? If you were, I would bid you adieu (yes, that picture is of me) because a company that would penalize me without investigating as to why a picture is ridiculous. Would the backstory that this picture was taken of me performing a skit as a <a href="http://fishcamp.tamu.edu/">Fish Camp</a> counselor in front of 150 freshmen, trying to provide a little humor as we spent a little over 3 days preparing them for their time at Texas A&#038;M, change your opinions?</p>
<p>The way I see it is the company that would weigh so heavily on the superficial and not on the content (leeway given to the fact that not every company will have the time to do full background research on me) is not a company I wish to work for. If they do this while they&#8217;re in the process of hiring me, what do I have to look forward to in my future with that company? Apparently not much.</p>
<p>Maybe this is just an excuse to myself for having a lot of information about me out in the wild, however I feel like I have carefully filtered information about me onto the internet to aid in my job search, and to help potential recruiters understand my personality a bit better. Because as cantankerous as I sound above, the &#8220;not being hired by X firm&#8221; works both ways. I don&#8217;t want to work at a firm where I will not be a good fit. I&#8217;ll cause friction, drop morale, and generally be ineffective.</p>
<p>Plus this post has been a great chance to explain that picture.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2009/02/05/on-looking-for-a-job-and-online-reputation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSS Bugs Are Features</title>
		<link>http://www.toosweettobesour.com/2009/01/16/oss-bugs-are-features/</link>
		<comments>http://www.toosweettobesour.com/2009/01/16/oss-bugs-are-features/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 20:47:13 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Opinions]]></category>
		<category><![CDATA[Bugs]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[OSS]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=259</guid>
		<description><![CDATA[I&#8217;ve been thinking a lot lately about a presentation given by whurley at a refreshBCS meeting a long time ago. He gave his presentation on Open Source Software, only SLIGHTLY an era of his expertise (just in case you can&#8217;t tell, that was sarcasm) and raise an interesting point. He talked about how when BMC [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2009/01/16/oss-bugs-are-features/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>I&#8217;ve been thinking a lot lately about a presentation given by <a href="http://whurley.com/">whurley</a> at a <a href="http://refreshbcs.org/">refreshBCS</a> meeting a long time ago. He gave his presentation on Open Source Software, only SLIGHTLY an era of his expertise (just in case you can&#8217;t tell, that was sarcasm) and raise an interesting point.</p>
<p>He talked about how when <a href="http://www.bmc.com/BMC/Common/CDA/hou_Page_Detail/0,3464,9926222_10636326_76443375,00.html">BMC Software</a> picked him up to head up their open source efforts, he battled a little bit the developers. They wanted to make sure the code was perfected, polished, and at its best whenever they started dumping it on the public. Of course they&#8217;d want to do this, releasing code as OSS is almost equivalent to deciding to present yourself to the work naked and without makeup. They wanted their friends who could see the code to be in awe, and their code base to be a shining example of a project done right.</p>
<p>Whurley wanted them just to release it. Not because he wanted it now, not because of impatience or deadlines or anything else. He wanted them to just release it because, and I&#8217;m paraphrasing him, releasing open source thats a little buggy will actually help grow and foster the project. Granted, you do not introduce bugs, you just open and display the code and start making releases even though there are still tickets in your bug tracking system.</p>
<p>He gave the hypothetical example of the stereotypical arrogant OSS developer finding a bug in BMC&#8217;s FooBar software, calling the BMC devs dumbasses, fixing it (because it was a small and easy bug), and now being invested in the software. You don&#8217;t really lose much reputation, but you gain an invested and loyal following.</p>
<p>While this sounds good and true, and it makes a lot of sense (if there&#8217;s nothing to do, OSS developers will never get involved), it never really clicked for me until I associated another story with whurley&#8217;s principle.</p>
<p>I meet Elizabeth Marie Smith (aka auroraeosrose) at ZendCon08 and had good times talking with her and many of the other #phpc members. At one point in the conference, at an opening for one of her talks (a brief overview of PECL extensions), she told the audience how she got into programming PHP and PHP C extensions. She wasn&#8217;t a computer science major, she only started in the early 2000&#8242;s (prior to that not much computer science experience).</p>
<p>What had happened was, to the best of my recollection and <a href="http://elizabethmariesmith.com/2009/01/seven-weird-things/">her seven things post</a>, in the early days of 2001-ish she was really big into Anime and wanted to start a fan site. Her dad helped her install a forum (written in PHP) on a server he was running out of his house on a cable connection.</p>
<p>Well, as with many of the forum projects, there were bugs to be had in the software. Elizabeth was dedicated to the idea of her site and decided to break open the forum and dig around to fix the bugs. Fix them she did but everything kinda snowballed from there. In fact it was bugs in the PHP-GTK extension that caused her to learn C (not an easy feat) and become the maintainer of PHP-GTK as well as the Windows port of PHP maintainer.</p>
<p>It was bugs and problems in the software that caused her to be where she is now, it was bugs in the OSS world that caused her to latch on to PHP-GTK and the Windows PHP port and get them to where they are today. Though she told this story a long time ago, and whurley&#8217;s presentation was even further back yet, it only just now clicked that I had seen a real life example of whurley&#8217;s principle of &#8220;just publish it, flaws and all.&#8221;</p>
<p>The lesson from all this can even be applied outside of OSS development. It&#8217;s a lesson on perfectionism and can be applied towards my personal development practices. I know that agile teaches to publish early and publish often, fixing bugs and adding features on the way, but perfectionism still plagues me. I have maybe 10 drafts on this blog on small little PHP and Python topics I could publish that I never do because I feel it&#8217;s not good enough, or too simple. I have had code at work that I could have released a week ago but instead I obsess over making sure its &#8220;perfect&#8221; when a simple staging deployment will keep everyone happy, keep my moral up, and show me where the REAL bugs are.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2009/01/16/oss-bugs-are-features/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Are we still arguing the merits of code comments?</title>
		<link>http://www.toosweettobesour.com/2008/07/28/are-we-still-arguing-the-merits-of-code-comments/</link>
		<comments>http://www.toosweettobesour.com/2008/07/28/are-we-still-arguing-the-merits-of-code-comments/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 15:52:18 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Opinions]]></category>
		<category><![CDATA[Comments]]></category>
		<category><![CDATA[Flame]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=75</guid>
		<description><![CDATA[So I see a link on reddit today to an article entitled No, your code is not so great that it doesn’t need comments. The article site was down so I started reading the comments and was very disheartened to see an actual debate over whether pro developers put comments in or left them out. [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2008/07/28/are-we-still-arguing-the-merits-of-code-comments/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>So I see a link on reddit today to an article entitled <a href="http://www.reddit.com/comments/6tqre/no_your_code_is_not_so_great_that_it_doesnt_need/">No, your code is not so great that it doesn’t need comments</a>. The article site was down so I started reading the comments and was very disheartened to see an actual debate over whether pro developers put comments in or left them out.</p>
<p>For example, we have this from &#8220;ckwop&#8221;:</p>
<blockquote><p>I find that the number of comments a developer puts in to their code is inversely proportional to the amount of experience they have.</p>
<p>I believe the reason for this is two fold.</p>
<p>Firstly, as you become more experienced you become fluent in reading code. You&#8217;re not expending mental energy trying to grok the syntax and the flow of the program. It just comes naturally.</p>
<p>Secondly, as you become more experienced, you learn how to layout you code in a more readable way. You name classes and variables such that the code is, for the most part, self-documenting.</p></blockquote>
<p>I don&#8217;t quite know how to describe the absolute FAIL in this particular statement. While he does go on to say:</p>
<blockquote><p>The only comments left in programs written by experienced programmers are comments which document decisions. Why one approach was taken over another, for example.</p></blockquote>
<p>It still doesn&#8217;t redeem himself. Comments like his betray a staggering amount of arrogance that poisons the mind of developers and turn otherwise good programmers into spaghetti-spewing monsters that take on government jobs so it&#8217;ll take longer for them to get fired.</p>
<p>This person (and sadly many others) assert that well written code is intuitive. These people are the same people that try and tell me Python is perfect for everything and I shouldn&#8217;t work in any other language unless I&#8217;m working in the embedded space, in which case I should write myself a Python-To-Assembly script prefixed with the cute little &#8220;py&#8221;.</p>
<p>Comments are meant to provide a quick overview of code flow and reasoning behind particular decisions. Comments should be clear and concise and allow a developer to spend 5 minutes figuring out where in the code base they need to be to fix the rounding issue rather than spending 40 minutes tracing program flow.</p>
<p>Comments are meant to help developers who either have limited experience in a language, who are new to a language, or who haven&#8217;t used a particular language in quite some time. Your Haskell code may be clear and simple to you, but I can&#8217;t read a single damned line of it: comment it!</p>
<p>Comments are meant for the developer who puts down a project to focus on something else for a few months only to pick the original code back up. The sign of a mature developer is one who accepts the fact that when he puts down code for a few days, he forgets the &#8220;why&#8221;. No developer is immune to this, and anyone that tries to tell you they are different is not worth the time you wasted listening to them.</p>
<p>So, to &#8220;ckwop&#8221; and all the other developers out there that think code should speak for itself I have a few things to say:</p>
<ul>
<li>If code could speak for itself, it wouldn&#8217;t be called code</li>
<li>You will not remember your design decisions, and in some cases even code flow, after a month</li>
<li>Comments make it much easier for me to debug when your company hires me to fix your failures both as a programmer and as a human being.</li>
</ul>
<p>In closing: The debate has long been over, comment your fucking code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2008/07/28/are-we-still-arguing-the-merits-of-code-comments/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Laziness Makes A Great Developer</title>
		<link>http://www.toosweettobesour.com/2008/06/09/laziness-makes-a-great-developer/</link>
		<comments>http://www.toosweettobesour.com/2008/06/09/laziness-makes-a-great-developer/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 06:26:54 +0000</pubDate>
		<dc:creator>Daniel Cousineau</dc:creator>
				<category><![CDATA[Opinions]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Laziness]]></category>

		<guid isPermaLink="false">http://www.toosweettobesour.com/?p=58</guid>
		<description><![CDATA[One of the guiding principles I have lived by the came from my middle school swimming coach. He told us: Don&#8217;t do more work than you have to. On first glance, it doesn&#8217;t seem to be very good advice. However when you realize that what he was getting at was we shouldn&#8217;t waste energy on [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; width: 66px; height: 66px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.toosweettobesour.com/2008/06/09/laziness-makes-a-great-developer/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=3"></script></div><p>One of the guiding principles I have lived by the came from my middle school swimming coach. He told us:</p>
<blockquote><p>Don&#8217;t do more work than you have to.</p></blockquote>
<p>On first glance, it doesn&#8217;t seem to be very good advice. However when you realize that what he was getting at was we shouldn&#8217;t waste energy on a poor stroke, the quote takes on a much deeper and more profound meaning. It is this principle that takes a good developer and makes him great.</p>
<h3>Profile of a Good Developer</h3>
<p>Good developers are almost a dime a dozen. Walk in to any computer science course or <a href="http://www.net-perspective.com/">web development</a> shop and you&#8217;ll find that the majority, if not all, are good developers.</p>
<p>These &#8220;good&#8221; developers can sit down and work through an object oriented architecture, they can construct their SQL queries, and can write an application that just works.</p>
<p>A &#8220;good&#8221; developer checks in his source code at the proper times, he comments his code as well as could be expected, and you can usually be guaranteed his code will compile and execute with very little fuss.</p>
<h3>Profile of a GREAT Developer</h3>
<p>What separates the great developers from the good developers is LAZINESS! You will find that the good developers, while producing clean, working code, operate much slower than great developers, and for the reason that separates the good from the great.</p>
<p>Good developers are set in their ways of just manually working with everything. A good developer handles deployment with FTP, and updates database structure by hand. In the end, the good developer ends up wasting time doing menial tasks. FTP alone can kill up to 30 minutes of your day. Good developers are very set in their ways and do not like new things introduced.</p>
<p>Meanwhile GREAT developers <strong>HATE</strong> menial tasks. They abhor having to drop into the console every time they wish to test or deploy, and loath dropping into the database to manually update structure. So these GREAT developers begin to write scripts and integrate all their tools to reduce their menial overhead as much as possible.</p>
<p>The GREAT developer is lazy because they do not want to do things themselves, so they spend 20 minutes automating their tasks so they&#8217;ll never deal with it again. And when you think about it, when you could spend 20 minutes once writing automated deploy scripts but instead spend 20 minutes every deploy in FTP, you are <em>doing more work than you have to</em>.</p>
<h3>What Does This Mean For Me?</h3>
<p>All of us developers should strive to be as lazy as possible. Do you have a task you have to do more than 3 times total? Write a script or a <a href="http://www.phing.info/">build task</a> for it. Do you spend a lot of time testing features? <a href="http://www.phpunit.de/">Automate your testing</a>. And if possible, <a href="http://www.xinc.eu/">integrate the systems</a> so you never even have to run those scripts manually, reducing user intervention to one step.</p>
<p>I know I try to be as lazy as possible, do you?</p>
<p><strong>Edit 6/10/2008:</strong></p>
<p>I feel I should make sure everyone knows that I am to an extent being facetious with the word &#8220;laziness&#8221; but I&#8217;m being completely serious on the &#8220;don&#8217;t do more work than you have to.&#8221; While a good developer can handle long, arduous tasks that are prone to human error, a great developer avoids them in the first place.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toosweettobesour.com/2008/06/09/laziness-makes-a-great-developer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

