<?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>Said Svec &#187; programming</title>
	<atom:link href="http://www.saidsvec.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.saidsvec.com</link>
	<description>Firmware and Software and Hardware, oh my!</description>
	<lastBuildDate>Fri, 23 Dec 2011 23:48:31 +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>Ember is hiring in Boston!</title>
		<link>http://www.saidsvec.com/2011/05/23/ember-is-hiring-in-boston/</link>
		<comments>http://www.saidsvec.com/2011/05/23/ember-is-hiring-in-boston/#comments</comments>
		<pubDate>Mon, 23 May 2011 17:58:52 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[embedded]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.saidsvec.com/?p=352</guid>
		<description><![CDATA[My company, Ember, is hiring for embedded software engineers and QA engineers in Boston: http://www.ember.com/company_careers.html We develop the chips, software, and tools for wireless sensor networks. I&#8217;ve worked at Ember since December, and it&#8217;s the best place I&#8217;ve ever worked (and I&#8217;ve worked at some pretty good places!) And, no joke, all of my coworkers [...]]]></description>
			<content:encoded><![CDATA[<p>My company, <a title="Ember. You should totally work here." href="http://www.ember.com/" target="_blank">Ember</a>, is hiring for embedded software engineers and QA engineers in Boston:</p>
<p><a title="Ember Careers" href="http://www.ember.com/company_careers.html" target="_blank">http://www.ember.com/company_careers.html</a></p>
<p>We develop the chips, software, and tools for wireless sensor networks.</p>
<p>I&#8217;ve worked at Ember since December, and it&#8217;s the best place I&#8217;ve ever worked (and I&#8217;ve worked at some pretty good places!) And, no joke, all of my coworkers say the same thing. So either we&#8217;re that great of a place to work, or there&#8217;s something in the water, but either way, it&#8217;s awesome.</p>
<p>But, as Levar Burton says, you don&#8217;t have to take my word for it: We were just voted one of the top places to work in Boston: <a title="Proof that Ember is the best place to work in Boston." href="http://www.bizjournals.com/boston/news/2011/05/03/bbj-announces-best-places-to-work.html" target="_blank">http://www.bizjournals.com/boston/news/2011/05/03/bbj-announces-best-places-to-work.html</a></p>
<p>Our QA engineers are more &#8220;developer-y&#8221; than many QA roles, so definitely check it out even if you&#8217;re not in the market for a more traditional QA position.</p>
<p>Email me if you&#8217;re interested!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2011/05/23/ember-is-hiring-in-boston/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Embedded software and open source</title>
		<link>http://www.saidsvec.com/2010/10/05/embedded-software-and-open-source/</link>
		<comments>http://www.saidsvec.com/2010/10/05/embedded-software-and-open-source/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 17:45:17 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[embedded]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.saidsvec.com/?p=307</guid>
		<description><![CDATA[Embedded guru and author Jack Ganssle&#8217;s latest &#8220;Embedded Muse&#8221; newsletter has a lot of good commentary on open source in embedded software projects: http://www.ganssle.com/tem/tem199.htm I subscribe to very few newsletters, and Jack&#8217;s is one of them.  I read every issue, it&#8217;s that good. If you work in embedded software, or software of any kind, you [...]]]></description>
			<content:encoded><![CDATA[<p>Embedded guru and author <a title="Jack Ganssle's home page" href="http://www.ganssle.com/">Jack Ganssle&#8217;s</a> latest &#8220;Embedded Muse&#8221; newsletter has a lot of good commentary on open source in embedded software projects:</p>
<p><a title="Embedded Muse newsletter about open source" href="http://www.ganssle.com/tem/tem199.htm">http://www.ganssle.com/tem/tem199.htm</a></p>
<p>I subscribe to very few newsletters, and Jack&#8217;s is one of them.  I read every issue, it&#8217;s that good.</p>
<p>If you work in embedded software, or software of any kind, you should <a title="Subscribe to Jack Ganssle's embedded muse newsletter" href="http://www.ganssle.com/tem-subunsub.html">subscribe</a>!  (I don&#8217;t get anything if you subscribe, I just think it&#8217;s a worthwhile read.)</p>
<p>While I&#8217;m in fanboy mode, I&#8217;ll also recommend Jack&#8217;s <a title="Jack Ganssle's other articles" href="http://www.ganssle.com/articles-subj.htm">other articles</a> &#8211; click on a random one, you&#8217;ll probably learn something. My personal favorite is his <a title="Debouncing" href="http://www.ganssle.com/debouncing.htm">guide to debouncing</a>.  He does some good experiments and then shows hardware and software solutions to the pesky debouncing problems we embedded folks face.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2010/10/05/embedded-software-and-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I love embedded, and so does Woz!</title>
		<link>http://www.saidsvec.com/2010/07/05/i-love-embedded-and-so-does-woz/</link>
		<comments>http://www.saidsvec.com/2010/07/05/i-love-embedded-and-so-does-woz/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 23:44:20 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[embedded]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[woz]]></category>

		<guid isPermaLink="false">http://www.saidsvec.com/?p=273</guid>
		<description><![CDATA[I love working in the embedded world.  Hardware + software = a great time and a great career. I came across this fantastic quote by Steve Wozniak in &#8220;Making it Big in Software,&#8221; by Sam Lightstone.  Woz is talking about designing the Apple II: &#8220;And I did every piece of software from the ground up, [...]]]></description>
			<content:encoded><![CDATA[<p>I love working in the embedded world.  Hardware + software = a great time and a great career.</p>
<p>I came across this fantastic quote by Steve Wozniak in &#8220;Making it Big in Software,&#8221; by Sam Lightstone.  Woz is talking about designing the Apple II:</p>
<blockquote><p>&#8220;And I did every piece of software from the ground up, through applications that you can&#8217;t pin down for any one of them.  The hardware was so interrelated that I can&#8217;t really divide it into software and hardware alone.  Those days were that way.  <strong>Today, if you work on embedded processors, you put a little microprocessor into a small product.  That&#8217;s the job in the world that I would love to this day!</strong> That&#8217;s what I did back then; it mixed both hardware and software.&#8221;</p></blockquote>
<p>Sounds like Woz wants my job.  :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2010/07/05/i-love-embedded-and-so-does-woz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Technology vs. Psychology</title>
		<link>http://www.saidsvec.com/2009/05/11/technology-vs-psychology/</link>
		<comments>http://www.saidsvec.com/2009/05/11/technology-vs-psychology/#comments</comments>
		<pubDate>Tue, 12 May 2009 01:33:12 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://svec.wordpress.com/?p=167</guid>
		<description><![CDATA[Do you write software for a living?  Or design hardware?  Or maybe some of each?  While the particular projects any two software or hardware designers do may be worlds apart, we can characterize what we do in the same way: our work is 20% technology and 80% psychology. Most of the work we do is [...]]]></description>
			<content:encoded><![CDATA[<p>Do you write software for a living?  Or design hardware?  Or maybe some of each?  While the particular projects any two software or hardware designers do may be worlds apart, we can characterize what we do in the same way: <strong>our work is 20% technology and 80% psychology</strong>.</p>
<p>Most of the work we do is 100% solvable &#8211; it &#8220;merely&#8221; requires people and time to accomplish.  It may be difficult, it may be risky, but it&#8217;s doable.  Most projects don&#8217;t require <span class="yshortcuts">quantum leaps</span> in technology to accomplish &#8211; current hardware and software platforms will do just fine, thank you.  Most projects don&#8217;t fail because the IDE wasn&#8217;t up to the task, or the compiler, or the linker.  Most projects fail because of the carbon-based part of the tool chain, not the silicon-based one.</p>
<p>All projects have some inefficiencies and problems.  They always start small but aren&#8217;t life- (or project-) threatening:</p>
<ul>
<li>The build process is manual and annoying, and therefore error-prone; but most engineers run it before checking in new code, and the errors are always found quickly enough.</li>
<li>Code drops from external groups happen less frequently than we&#8217;d like, but it&#8217;s been okay so far.</li>
<li>The external contracting team has found a few bugs in the spec, but it&#8217;s nothing that can&#8217;t be fixed later, and we don&#8217;t have time to check the spec right now.</li>
</ul>
<p>None of these problems will doom your project on their own.  And because you can live with the status quo, you won&#8217;t fix them now.  &#8220;I&#8217;ll get to that later when I have more time.&#8221;  But as the problems multiply, build in intensity and (gasp!) start to constructively interfere with each other, your forward progress will slow down.  It will take longer and longer to do what used to be quick tasks.  Many aspects of the job will become more frustrating, and morale will go down.</p>
<p><strong>Inefficiencies and problems don&#8217;t persist because we lack the appropriate technology to fix them &#8211; they persist because we lack the appropriate psychology to fix them!</strong></p>
<p>That&#8217;s an important thought, so I&#8217;m going to repeat it:</p>
<p><strong>Inefficiencies and problems don&#8217;t persist because we lack the appropriate technology to fix them &#8211; they persist because we lack the appropriate psychology to fix them!</strong></p>
<p>How do we address the psychological aspect?  We need to trick ourselves into doing the Right Things in the Right Ways to make continual progress.</p>
<p>Here are two guidelines for doing the Right Things in the Right Ways:</p>
<ol>
<li>We MUST make activities that are good for the project as <strong>easy</strong> as possible and as <strong>enjoyable</strong> as possible. 
<ul>
<li>Can your pre-commit tests be run automatically?  Yes?  Great &#8211; do it!  Make sure they run reasonably quickly, with easy to read status updates.  When the tests are done and passing, can we help the user enter a helpful commit message by supplying a list of the diffs automatically?  Yes?  Great &#8211; do it!</li>
</ul>
</li>
<li> We MUST make activities that are bad for the project as <strong>difficult</strong> and <strong>miserable</strong> as possible. 
<ul>
<li> Checking in without passing all tests?  Okay, but you have to run this ugly command line, fill out the TPS reports on this slow web page, and get a note from your mom.  Consider making &#8220;bad activities&#8221; impossible.  Checking in without passing all tests?  IMPOSSIBLE!  Can&#8217;t be done.</li>
</ul>
</li>
</ol>
<p>Two of my favorite geniuses agree with me, so I must be right:</p>
<ul>
<li>Albert Einstein said, &#8220;Everything should be made as simple as possible, but not simpler.&#8221; We need to worry about making our processes as simple as possible.  Don&#8217;t worry about making them too simple, I doubt we&#8217;ll get that far.   Can you make it simpler?  Yes?  Then do it!</li>
<li>Kathy Sierra said, &#8220;<a title="Kathy Sierra on &quot;Good Usability&quot;" href="http://headrush.typepad.com/creating_passionate_users/2006/05/good_usability_.html">Make the right things easy and the wrong things hard.</a>&#8220;  She says it much better than me &#8211; go read her post!</li>
</ul>
<p>Of course sometimes we don&#8217;t have time to improve a process right now, because we (hopefully) have paying customers banging on the door, deadlines to meet, product to ship.  You&#8217;ve got to pick your battles and manage your time wisely.</p>
<p>But we geeks need to spend more time thinking about our psychology &#8211; the &#8220;how&#8221; and &#8220;why&#8221; of what we do &#8211; instead of just focusing on the technology &#8211; the &#8220;what&#8221; we do.</p>
<p>The earlier you find and fix inefficiencies and bugs in a product, the more time and money you save.  In the same way, the earlier you find and fix inefficiencies and bugs in the <strong>way</strong> you create a product, the more time and money you save.  But you get an extra bonus from improving the way you create a product because it produces not just a one-time boost, it produces a many-time boost!  It&#8217;s like compounding interest.  Actually, it&#8217;s not just like compounding interest, it IS compounding interest!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2009/05/11/technology-vs-psychology/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Define the problem, define done</title>
		<link>http://www.saidsvec.com/2009/02/01/define-the-problem-define-done/</link>
		<comments>http://www.saidsvec.com/2009/02/01/define-the-problem-define-done/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 19:49:35 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://svec.wordpress.com/?p=151</guid>
		<description><![CDATA[I. M. Wright&#8217;s latest post &#8220;Green fields are full of maggots&#8221; talks about defining the problem and defining done. My favorite quote (which is, itself, a quote): &#8220;What&#8217;s so evil about general solutions? After all, your code could be both a floor wax and a dessert topping.&#8221; He makes some great points about building software [...]]]></description>
			<content:encoded><![CDATA[<p>I. M. Wright&#8217;s latest post <a title="Green fields are full of maggots" href="http://blogs.msdn.com/eric_brechner/archive/2009/02/01/green-fields-are-full-of-maggots.aspx"> &#8220;Green fields are full of maggots&#8221;</a> talks about defining the problem and defining done.</p>
<p>My favorite quote (which is, itself, a quote):</p>
<p>&#8220;What&#8217;s so evil about general solutions? After all, your code could be both a floor wax and a dessert topping.&#8221;</p>
<p>He makes some great points about building software to solve a real, concrete problem, instead of building software as a semi-abstract-solution-that-could-solve-any-problem-possibly-the-one-people-are-paying-us-for.</p>
<p>My second favorite quote (second favorite only because it doesn&#8217;t quote Saturday Night Live) sums up the danger of the abstract:</p>
<p>&#8220;You put the problem at the center instead of the customer. When the customer isn&#8217;t at the center, your code loses its soul. It goes from being astounding to being adequate, from marvelous to mediocre.&#8221;</p>
<p>What is your goal?  Mediocre, or Marvelous?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2009/02/01/define-the-problem-define-done/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentation Presence</title>
		<link>http://www.saidsvec.com/2008/12/17/presentation-presence/</link>
		<comments>http://www.saidsvec.com/2008/12/17/presentation-presence/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 05:08:19 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[sales pitch]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://svec.wordpress.com/?p=54</guid>
		<description><![CDATA[A software vendor gave a sales presentation at my office today. The vendor sent two people to present &#8211; a sales guy and an engineer. The sales guy started the pitch with an overview of the software. Sounds great, says us, but we need a bunch of technical details to know if it&#8217;s worth pursuing. [...]]]></description>
			<content:encoded><![CDATA[<p>A software vendor gave a sales presentation at my office today.</p>
<p>The vendor sent two people to present &#8211; a sales guy and an engineer.</p>
<p>The sales guy started the pitch with an overview of the software.  Sounds great, says us, but we need a bunch of technical details to know if it&#8217;s worth pursuing.  This is a critical piece of software, it will interact with a lot of internal systems, and so we need to know what we&#8217;re getting ourselves into.</p>
<p>So we ask a bunch of questions which the engineer answers to our satisfaction.  Probably 30 or 45 minutes go by, mostly a back-and-forth between us and the engineer. He knows his stuff, and he seems to enjoy telling us about their technology.</p>
<p>The sales guy doesn&#8217;t have much to contribute, which is fine.  Or rather, it would have been fine, if Mr. Salesguy would have appeared to be paying attention, or at least not acting distracted and bored.</p>
<p>Instead Mr. Salesguy checks his email.  Checks his voicemail.  Fiddles with his pen.  Fools around on his computer for a while.  Does a lot of things that tell me he doesn&#8217;t care about this sale.  All with a look of &#8220;Get me out of here&#8221; on his face.  Which doesn&#8217;t exactly inspire confidence or help the sale at all.</p>
<p>What&#8217;s the lesson here?  When you make a sales pitch / presentation / demo / whatever, make sure that every single member of your team is devoting 100% of their attention to the customer.  Even if you&#8217;re not currently speaking, even if you&#8217;ll never speak &#8211; act interested!  Better yet, BE interested!  And if you can&#8217;t get interested, then you probably don&#8217;t need to be there in the first place.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2008/12/17/presentation-presence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to tell you&#8217;re a bad programmer</title>
		<link>http://www.saidsvec.com/2008/12/07/how-to-tell-youre-a-bad-programmer/</link>
		<comments>http://www.saidsvec.com/2008/12/07/how-to-tell-youre-a-bad-programmer/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 03:52:28 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://svec.wordpress.com/?p=90</guid>
		<description><![CDATA[How to tell you&#8217;re a bad programmer: 1. You think you&#8217;re an awesome programmer. 2. But no one else has ever told you so. 3. You&#8217;ve never looked at old code you wrote and thought, &#8220;Ewwww! That is horrible code! What was I thinking???&#8221; 4. You&#8217;ve never looked at someone else&#8217;s code and thought, &#8220;Dang, [...]]]></description>
			<content:encoded><![CDATA[<p>How to tell you&#8217;re a bad programmer:</p>
<p>1. You think you&#8217;re an awesome programmer.</p>
<p>2. But no one else has ever told you so.</p>
<p>3. You&#8217;ve never looked at old code you wrote and thought, &#8220;Ewwww!  That is <strong>horrible</strong> code!  What was I thinking???&#8221;</p>
<p>4. You&#8217;ve never looked at someone else&#8217;s code and thought, &#8220;Dang, whoever wrote this is a freaking genius.&#8221;</p>
<p>Note that this also works if you substitute &lt;other profession&gt; for &#8220;programmer,&#8221; and &lt;output of other profession&gt; for &#8220;code.&#8221;</p>
<p>If you don&#8217;t see growth, it probably ain&#8217;t happening.  If you don&#8217;t see growth potential, it probably ain&#8217;t happening either.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2008/12/07/how-to-tell-youre-a-bad-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baby Steps</title>
		<link>http://www.saidsvec.com/2008/07/22/baby-steps/</link>
		<comments>http://www.saidsvec.com/2008/07/22/baby-steps/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 00:20:07 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[environment]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[baby steps]]></category>
		<category><![CDATA[go green]]></category>
		<category><![CDATA[green]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://svec.wordpress.com/?p=60</guid>
		<description><![CDATA[A few seemingly unrelated thoughts, and then a tie-&#8217;em-all-together thought: 1. Rands&#8217; recent post on &#8220;Saving Seconds&#8221; really resonated with me. I forwarded it to my wife and said, &#8220;See, this is how I think!&#8221; so that she could better understand why I optimize the shortcuts on our PC, or the way I load the [...]]]></description>
			<content:encoded><![CDATA[<p>A few seemingly unrelated thoughts, and then a tie-&#8217;em-all-together thought:</p>
<p>1. Rands&#8217; recent post on <a href="http://www.randsinrepose.com/archives/2008/04/21/saving_seconds.html">&#8220;Saving Seconds&#8221;</a> really resonated with me. I forwarded it to my wife and said, &#8220;See, this is how I think!&#8221; so that she could better understand why I optimize the shortcuts on our PC, or the way I load the dishwasher, or the other thousand seemingly-OCD-inspired things I do.  (Thankfully she understands me very well already!)</p>
<p>2. I think it&#8217;s incredibly important to be good to &#8220;the environment.&#8221; Whether you believe in the global warming story or not, it needs to be done.  I recycle everything possible (and I got really excited when I found out that <a title="Ecology Action" href="http://www.ecology-action.org/index">Ecology Action, our local recycling place</a> started recycling #3 &#8211; #7 plastics!), am a vegetarian, use reusable grocery bags (and don&#8217;t use individual plastic bags for bagging fruit or veggies), use <a title="BioBag site" href="http://biobagusa.com/">BioBag compostable trash bags</a>, and the list goes on.</p>
<p>3. <a href="http://joelonsoftware.com/articles/fog0000000339.html">Joel&#8217;s &#8220;Fire and Motion&#8221; post </a>also resonates with me.  Forward progress, even if it&#8217;s just a tiny bit of progress, is good.  And necessary, in fact, to getting anything done.</p>
<p>If your goal is to save the Earth it&#8217;s easy to get overwhelmed because you can&#8217;t do it all yourself.  What possible difference can a single person make?  There&#8217;s too much to do!</p>
<p>If your goal is to improve some software or improve a software development process itself, it&#8217;s also easy to get overwhelmed because you can&#8217;t do it all yourself.  What possible difference can a single person make?  There&#8217;s too much to do!</p>
<p>Guess what?  Maybe you&#8217;re right.  Maybe you can&#8217;t save the Earth by yourself, or single-handedly improve the festering swamp that is your team&#8217;s software development process, but there is something that you can do &#8211; you can take baby steps.</p>
<p>Recycle something.  Get a reusable bag or two for your groceries.  Turn off the lights when you leave the office conference room.  Ask a coworker to look over your code for bugs before you checkin a change.  Create an automated test suite for your software, start with a single &#8220;does it compile?&#8221; test.</p>
<p>It will require an intentional change in your thinking and behavior to do these things the first time, and the second time, and the seventh time.  But soon enough doing a little bit extra for the environment or your software will become a habit, and those small bits of effort will add up into something meaningful over time.</p>
<p>And you will be motivated to keep adding more good habits over time because you will see the internal (&#8220;Yay! I feel better about myself!&#8221;) and external (&#8220;Yay! I found a bug!&#8221;) benefits from those habits you&#8217;ve already adopted.</p>
<p>And as you develop those small habits, you will be noticed by others around you who may even join you in small improvements &#8211; &#8220;viral marketing&#8221; at work.</p>
<hr />A Couple Of Resources:</p>
<p><a href="http://joelonsoftware.com/articles/fog0000000332.html">Joel&#8217;s &#8220;Getting Things Done When You&#8217;re Only a Grunt&#8221; post</a> has more software development improvement ideas.</p>
<p><a title="Ten Earth-friendly tips" href="http://science.howstuffworks.com/save-earth-top-ten.htm">http://science.howstuffworks.com/save-earth-top-ten.htm</a> has a few Earth-friendly things you can do.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2008/07/22/baby-steps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Stack Overflow</title>
		<link>http://www.saidsvec.com/2008/06/26/using-stack-overflow/</link>
		<comments>http://www.saidsvec.com/2008/06/26/using-stack-overflow/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 03:57:43 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[stack overflow]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://svec.wordpress.com/?p=64</guid>
		<description><![CDATA[Joel Spolsky and Jeff Atwood are starting a new website called Stack Overflow, it&#8217;s going to be a free programming Q&#38;A website. I&#8217;m a fan of both of those guys (I even have an autographed copy of Joel&#8217;s book!), so I signed up to be a beta user to see how it develops. I was [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Joel on Software" href="http://www.joelonsoftware.com/">Joel Spolsky</a> and <a title="Coding Horror" href="http://www.codinghorror.com/blog/">Jeff Atwood</a> are starting a new website called <a title="Stack Overflow" href="http://blog.stackoverflow.com/">Stack Overflow</a>, it&#8217;s going to be a free programming Q&amp;A website.</p>
<p>I&#8217;m a fan of both of those guys (I even have an autographed copy of Joel&#8217;s book!), so I signed up to be a beta user to see how it develops.  I was trying to come up with a good way to give Stack Overflow a test drive, and I think I&#8217;ve hit on something: use it to build a web 2.0-ish site.  I&#8217;ve been wanting to build a site for myself for at least the last year &#8211; I can picture it in my head (and on paper), what it should do and what the user interaction should look like, but I haven&#8217;t spent any time actually figuring out how to build the darn thing.</p>
<p>You see, I&#8217;m comfortable in C/C++/Perl/Python/x86 assembly (really), but I&#8217;ve never done any database or web-y development.  Enter Stack Overflow &#8211; hopefully it will be a good place to learn about web programming.</p>
<p>I&#8217;ll update this blog with my progress once Stack Overflow goes live, wish me luck.</p>
<p>And Jeff: Give me a call when you decide to learn C, I taught it at Purdue for a few years back in grad school and really enjoyed teaching it &#8211; maybe you could trade me some .NET lessons for some C lessons.  You check <a title="Understanding C Pointers Part 0" href="http://svec.wordpress.com/2007/12/28/understanding-c-pointers-part-0/">my post on pointers</a> to get started.  :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2008/06/26/using-stack-overflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Death Of the Desktop</title>
		<link>http://www.saidsvec.com/2008/06/17/the-death-of-the-desktop/</link>
		<comments>http://www.saidsvec.com/2008/06/17/the-death-of-the-desktop/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 04:19:49 +0000</pubDate>
		<dc:creator>svec</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[aza raskin]]></category>
		<category><![CDATA[enso]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://svec.wordpress.com/?p=63</guid>
		<description><![CDATA[And no, this &#8220;death of the desktop&#8221; post is not about how mobile devices or the browser is taking over the world &#8211; it&#8217;s about taking a step back and rethinking how we actually use computers (desktop, mobile or otherwise), and then trying to take a more usable step forward. Thanks to Chris Jones for [...]]]></description>
			<content:encoded><![CDATA[<p>And no, this &#8220;death of the desktop&#8221; post is not about how mobile devices or the browser is taking over the world &#8211; it&#8217;s about taking a step back and rethinking how we actually use computers (desktop, mobile or otherwise), and then trying to take a more usable step forward.</p>
<p>Thanks to <a href="http://www.jonezy.org/blog/2008/06/16/why-cant-i-do-that/">Chris Jones for writing</a> about a very interesting talk by <a href="http://en.wikipedia.org/wiki/Aza_Raskin" target="_blank">Aza Raskin</a>:</p>
<p><a title="http://video.google.com/videoplay?docid=-6856727143023456694" href="http://video.google.com/videoplay?docid=-6856727143023456694"><span>Video: Away with Applications: The Death of the Desktop</span></a></p>
<p>You should check out Chris&#8217;s summary, and the video as well.</p>
<p>This is one of the few videos I&#8217;m glad I watched instead of just ripped to mp3 and listened to &#8211; a lot of visual stuff, well worth the time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saidsvec.com/2008/06/17/the-death-of-the-desktop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

