<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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/"
	>

<channel>
	<title>Low Country Software Ramblings</title>
	<link>http://www.benoitlavigne.com/blog</link>
	<description>All the bits fit to spread around the salt marshes</description>
	<pubDate>Tue, 01 Jan 2008 03:41:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Ushering in a new year</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/31/ushering-in-a-new-year/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/31/ushering-in-a-new-year/#comments</comments>
		<pubDate>Tue, 01 Jan 2008 03:41:31 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[community]]></category>

		<category><![CDATA[embedded]]></category>

		<category><![CDATA[ramblings]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/31/ushering-in-a-new-year/</guid>
		<description><![CDATA[When we were last heard from, we felt stupor (or at least a lack of excitement) towards the embedded world. Speedplane provided some good examples of exciting products but his rebuke does not addresses the core issue I was trying to articulate.  I talked about buzz, but maybe it would be more appropriate to [...]]]></description>
			<content:encoded><![CDATA[<p>When we were last heard from, we felt stupor (or at least a lack of excitement) towards the embedded world. Speedplane <a href="http://www.benoitlavigne.com/blog/2007/12/19/wheres-the-buzz-tell-me-whats-happening/#comments">provided some good examples</a> of exciting products but his rebuke does not addresses the core issue I was trying to articulate.  I talked about buzz, but maybe it would be more appropriate to talk about active communities.<br />
Is there an embedded community, an embedded presence on the internet?  I recently found the <a href="http://tech.groups.yahoo.com/group/AgileEmbedded/">Agile Embedded yahoo group</a>, which has some interesting discussions.  However, I was hard pressed to find other <strong>relevant </strong>mailing lists.<br />
I&#8217;m trying to provide content, but I must admit that sometimes I lack inspiration.  I don&#8217;t know what to write about.<br />
What are the readers of this blog interested in?  Should I talk about:</p>
<ul>
<li>Software Tools</li>
<li>Hardware Tools</li>
<li>Beginner overview: How to use an Oscilloscope, a voltmeter, etc&#8230;</li>
<li>Basic <strong>system</strong> debugging</li>
<li>Various Protocols: I2C, One-Wire, serial, etc&#8230;</li>
<li>Anecdotes from my time in the trenches</li>
<li>Review of various software tools similar to my <a href="http://www.benoitlavigne.com/blog/2006/09/26/review-dynamic-c-compiler/">Dynamic C rant</a></li>
<li>other things</li>
</ul>
<p>Maybe I should go in an entirely different direction&#8230; One of the consequence of being an instructor is that I interact with a large number of embedded engineers. Is there interest in hearing from those students, maybe in the form of a podcast?  Are you interested in hearing what other engineers are doing, some of their struggles and successes?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/31/ushering-in-a-new-year/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Where&#8217;s the buzz? Tell me what&#8217;s happening!</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/19/wheres-the-buzz-tell-me-whats-happening/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/19/wheres-the-buzz-tell-me-whats-happening/#comments</comments>
		<pubDate>Wed, 19 Dec 2007 19:27:28 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[ramblings]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/19/wheres-the-buzz-tell-me-whats-happening/</guid>
		<description><![CDATA[Ostensibly, this blog is about software development, and while I&#8217;m trying to write about embedded, I&#8217;m struggling.  I find most embedded practices less than exciting and am more drawn to what is happening in non-embedded systems: .NET, F#, TDD, C# 3.0, Behavior Driven Design, Agile, Ruby.  There&#8217;s a buzz in that space that [...]]]></description>
			<content:encoded><![CDATA[<p>Ostensibly, this blog is about software development, and while I&#8217;m trying to write about embedded, I&#8217;m struggling.  I find most embedded practices less than exciting and am more drawn to what is happening in non-embedded systems: .NET, F#, TDD, C# 3.0, Behavior Driven Design, Agile, Ruby.  There&#8217;s a buzz in that space that just doesn&#8217;t exist in the embedded world. </p>
<p>Oh sure, there are exciting products out there (multi-core processors, shinny UIs, etc&#8230;) but as an industry, there doesn&#8217;t seem to be many new practices taking hold.  I see nothing fundamentally different being done now that wasn&#8217;t done 15 years ago when I started!  Oh Sure, things have evolved. C++ is now common in embedded systems, but C is still king. The tools have improved tremendously, but printf debugging still rules the day.  When I teach a class and ask students if they have heard of refactoring, I get blank stares! Surely someone has heard of design patterns?!  </p>
<p>Are embedded engineers (a large number of which have an EE background) inherently more conservative?  Not thinking about new things beyond what processors to use on the next project?  Are we just <a href="http://www.benoitlavigne.com/blog/2007/12/02/i-dont-feel-like-one-of-the-top-20/">part of the 80%</a>, doing the daily grind and content with good enough?<br />
Sure, there are isolated island of progress, like <a href="http://spin.atomicobject.com/2007/11/04/rubyconf-2007-enhancing-embedded-development-with-ruby/">Atomic Object&#8217;s ruby test framework</a>, but those are the exception!</p>
<p>Is it any wonder that I&#8217;m drawn to the .NET world like a moth to a flame? Things are happening over there!<br />
Where is the buzz in the embedded world?  Anybody?</p>
<p>P.S. While I&#8217;m a big fan of Rice &#038; Lloyd Webber (as per the title), I feel more like <a href="http://www.americanrhetoric.com/MovieSpeeches/moviespeechnetwork2.html">Howard Beal</a> of the film <a href="http://en.wikipedia.org/wiki/Network_(film)">Network</a>.  Hopefully, I won&#8217;t meet with the same fate&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/19/wheres-the-buzz-tell-me-whats-happening/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why did I start this blog?</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/18/why-did-i-start-this-blog/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/18/why-did-i-start-this-blog/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 07:35:38 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[ramblings]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/18/why-did-i-start-this-blog/</guid>
		<description><![CDATA[Sitting at a Restaurant in Stockholm, catching up on various blogs, I  read Steve Pavlina&#8217;s 200 things I love about writing. This got me thinking about why I started this blog. 
This blog is essentially an outlet for my need to express myself. As I suck at drawing and other art forms, I figured [...]]]></description>
			<content:encoded><![CDATA[<p>Sitting at a Restaurant in Stockholm, catching up on various blogs, I  read Steve Pavlina&#8217;s <a href="http://www.stevepavlina.com/blog/2007/12/200-things-i-love-about-writing/">200 things I love about writing</a>. This got me thinking about why I started this blog. </p>
<p>This blog is essentially an outlet for my need to express myself. As I suck at drawing and other art forms, I figured blogging about what I knew was a safe bet.  And since there is little embedded content out there, I figure I&#8217;d get the lion&#8217;s share of readers (like that&#8217;s ever going to happen!).</p>
<p>This blog, ostensibly about programming (mostly embedded) is only a part of my list of interests. Jeff Atwood touched on the subject of <a href="http://www.codinghorror.com/blog/archives/001019.html">Fractured Online Identities</a>.  While some (most?) of you might be interested in the embedded space, the intersection with my various other aspects (martial arts, teenager raiser, father, instructor, low country resident, expat Canadian, traveler, &#8230; ) tends to exponentially diminish the more areas you add. I don&#8217;t think anybody could really have a &#8220;whole me&#8221; blog with an audience bigger than self. </p>
<p>So, feeling a need to be chatty and finding a lack of content about embedded systems, I decided do something about it. Ergo this blog.  Now if I could only be as consistent as Jeff, I&#8217;d be happy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/18/why-did-i-start-this-blog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to find tech workers in a small town?</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/16/how-to-find-tech-workers-in-a-small-town/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/16/how-to-find-tech-workers-in-a-small-town/#comments</comments>
		<pubDate>Sun, 16 Dec 2007 17:30:24 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[career]]></category>

		<category><![CDATA[ramblings]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/16/how-to-find-tech-workers-in-a-small-town/</guid>
		<description><![CDATA[This is the follow up article describing our tribulations trying to find tech workers in small town Beaufort, SC.  As I mentioned earlier, we were looking for experienced embedded engineers and a tester, which we were willing to train.  How did we go about it?
Company Web Site
I hesitate to put this here, as [...]]]></description>
			<content:encoded><![CDATA[<p>This is the follow up article describing our tribulations trying to find tech workers in small town Beaufort, SC.  As I mentioned earlier, we were looking for experienced embedded engineers and a tester, which we were willing to train.  How did we go about it?</p>
<p><strong>Company Web Site</strong><br />
I hesitate to put this here, as it should really be the first thing you do when you have a position.  Put it on your company web site.  It&#8217;s easy, it doesn&#8217;t cost anything, and unless you&#8217;re a large company, it probably won&#8217;t produce results.  But when the applicant is doing research, an out of date website without job listings does not inspire a whole lot of confidence.</p>
<p><strong>Electronic Job Boards</strong><br />
In theory, electronic job boards are supposed to be a good idea.  They give the employer a longer reach, make it easier for people to find you. However, most job boards have devolved in a all but useless shout fest of &#8220;here I am, here I am&#8221; or &#8220;have I got a job for you!&#8221;<br />
We stayed away from Monster.com for the simple reason that the noise-to-signal ratio is so poor.  If you&#8217;re looking for gainful employment, stay away from the 7-headed hydra that is Monster.com.  Once your resume is in their clutch, you&#8217;ll get endless calls from recruiters interested in getting their commission and not furthering your career. I know, I&#8217;ve been there.<br />
We did use Dice.com, which has a slightly higher technical content, but your mileage may vary.  The nice thing about Dice.com is that you could actually search their database for resumes that matched your criteria.  Of course, you run into the problem that a) lots of those resumes are consultants or b) those resumes are out of date and the person is not looking for a job at the moment.  We struck out with Dice.com<br />
We also used Yahoo&#8217;s hot jobs, which for us, had better geographical focus.  Two events resulted form using HotJobs.  We received the worst resume ever.  It was so bad that it was funny. Clearly this person did not read the job description, but must have been a serial resume submitter. If you&#8217;re going to do that, make sure that you don&#8217;t write &#8220;Attended Classes Regularly&#8221; as your only achievement. We also ended up hiring our first tester form a HotJob submission.<br />
We also posted on the South Carolina employment commission job board, and while we had a few submissions, I don&#8217;t think this was the best venue.<br />
But by far, the best experience I have had with an Online job board was Joel Spolsky&#8217;s <a href="http://jobs.joelonsoftware.com/">jobs.joelonsoftware.com</a>.  I simply admire the man and if I had a brain big enough, the right experience, and lived in NY, I&#8217;d love to work with him.  Joel&#8217;s job board is entirely focused on high tech jobs.  You&#8217;re not going to get a doofus resume.  In fact, if you are in a small town, you might not get a resume at all.  But that&#8217;s OK because Joel will give you your money back if you don&#8217;t get acceptable applicants.  No questions asked!  Try to get that from Monster&#8230;</p>
<p><strong>Newpapers</strong><br />
Yes, it&#8217;s old fashion, but the funny thing about Beaufort is that it&#8217;s a retirement destination.  People here have all sorts of interesting background. Sometimes you come across a surprising candidate.  We also have a few larger population centers within a couple of hours drive.  We did manage to hire our best field technician via a newspaper ad.</p>
<p><strong>Local College</strong><br />
The local college <em>ought</em> to be a source of potential workers.  However, for some strange cosmic reason, our local college&#8217;s placement office never seems to have time returning our phone calls.  Definitely not a success story.</p>
<p>There you have it, my former employer&#8217;s three pronged approach to finding tech workers.  We got employee via the internet, but 3 via the good old newspaper.  There is something to be said for locality.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/16/how-to-find-tech-workers-in-a-small-town/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Finding tech workers in a small town - obviously not obvious</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/14/finding-tech-workers-in-a-small-town-obviously-not-obvious/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/14/finding-tech-workers-in-a-small-town-obviously-not-obvious/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 23:12:14 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[career]]></category>

		<category><![CDATA[employees]]></category>

		<category><![CDATA[recruiting]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/14/finding-tech-workers-in-a-small-town-obviously-not-obvious/</guid>
		<description><![CDATA[For a while at my previous employer, I was in charge of finding technical people we could hire.  We had two types of positions to fill:  programmers/engineers and testers.  We were looking for experienced employees, but were willing to hire relatively junior employees (e.g. 1 to 2 years experience) with good potential.
Since [...]]]></description>
			<content:encoded><![CDATA[<p>For a while at my previous employer, I was in charge of finding technical people we could hire.  We had two types of positions to fill:  programmers/engineers and testers.  We were looking for experienced employees, but were willing to hire relatively junior employees (e.g. 1 to 2 years experience) with good potential.<br />
Since we&#8217;re dealing with embedded systems that involve many bits of hardware and the occasional soldering iron and previous less than successful experiences, we felt that remote employee were not an option.  If we were doing internet development, or even host based development that didn&#8217;t require bits of hardware, remote would have been an option.  Bet as it was, we wanted our new employees to be local. Unfortunately, &#8220;Beaufort by the sea&#8221; is not a major metropolitan center.</p>
<p>Now, depending on your view point, Beaufort is really great, or really crummy&#8230;</p>
<ul>
<li>Cost of living is much less than a major metropolitan area, but more than most of the areas in the state</li>
<li>Salary would be slightly less than what you would get as a post-bubble employee in some centers, much less than pre-bubble salary (I hear there are some people out there with those&#8230;) but typically much more than the median salary in South Carolina.</li>
<li>Beaufort is a smallish town, with not a lot of cultural diversity but not too far (1-2 hours) from bigger centers</li>
<li>Winters are warm (we had 80 deg. today), but summers are sweltering.</li>
<li>We are by the Atlantic Ocean, and you can actually swim for about 8 months, year round if you&#8217;re hearty but we have a risk of hurricane.</li>
</ul>
<p>I was tasked with finding the potential employees, the boss was tasked with <del datetime="2007-12-14T22:40:15+00:00">luring</del> <del datetime="2007-12-14T22:40:15+00:00">selling</del> <del datetime="2007-12-14T22:40:15+00:00">enticing</del> extolling the virtues of both the company and the region.</p>
<p>It became a marketing exercise&#8230;</p>
<p>We were eventually successful in filling some positions, but the results were interesting. I&#8217;ll share them in my next post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/14/finding-tech-workers-in-a-small-town-obviously-not-obvious/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How long lived is your software?</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/12/how-long-lived-is-your-software/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/12/how-long-lived-is-your-software/#comments</comments>
		<pubDate>Wed, 12 Dec 2007 15:25:17 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<category><![CDATA[career]]></category>

		<category><![CDATA[ramblings]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/12/how-long-lived-is-your-software/</guid>
		<description><![CDATA[I have been in this industry for a long time.  Not quite punch card long, but long enough to have experienced the Personal Computer revolution hands on.  I have fond memories of typing programs out of magazines in a TRS-80 Model I in a small room at the High School.  Larry O&#8217;Brien [...]]]></description>
			<content:encoded><![CDATA[<p>I have been in this industry for a long time.  Not quite punch card long, but long enough to have experienced the Personal Computer revolution hands on.  I have fond memories of typing programs out of magazines in a TRS-80 Model I in a small room at the High School.  Larry O&#8217;Brien mentioned that he <a href="http://www.knowing.net/PermaLink,guid,0302c7ba-21e2-4fc5-b3b0-7d86d5cec136.aspx">sold his first program at age 16</a>. I must admit to feeling somewhat green with envy. However, on a recent family visit, I was reminded that I was also 15 when I did my first consulting gig.  However, the best part is that my program is still in <strong>daily use</strong>!  The original code is over 20 years old!  of course, it has morphed and has been extended, but how many people can say that their code is still in use after 20 years? I definitely got a kick out of that.<br />
What is this mysterious application?  A veterinary practice manager.  Keeps track of patients, immunization reminders, electronic record keeping &#038; billings.  All originally done in dBase III.  It&#8217;s been by far my most successful project.  All done in the span of 1 week, at the vet&#8217;s kitchen table, using what now is called agile methods. Hmm&#8230;I see now that it&#8217;s been downhill ever since! <img src='http://www.benoitlavigne.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
What is you oldest living program?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/12/how-long-lived-is-your-software/feed/</wfw:commentRss>
		</item>
		<item>
		<title>They (almost) sing about my life!</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/12/they-almost-sing-about-my-life/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/12/they-almost-sing-about-my-life/#comments</comments>
		<pubDate>Wed, 12 Dec 2007 14:58:55 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[ramblings]]></category>

		<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/12/they-almost-sing-about-my-life/</guid>
		<description><![CDATA[Thanks to Chris Sells for pointing out the group Richter Scales and their song Here comes Another bubble. While the song is funny as everything, I believe many a tech worker can identify with the themes.  Heck, it even covers ageism, my favorite angst inducing subject.
Go have a listen!
]]></description>
			<content:encoded><![CDATA[<p>Thanks to <a href="http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=2152">Chris Sells</a> for pointing out the group Richter Scales and their song <a href="http://www.richterscales.com/assets/audio/rsrecordings/HereComesAnotherBubble.mp3">Here comes Another bubble</a>. While the song is funny as everything, I believe many a tech worker can identify with the themes.  Heck, it even covers ageism, my favorite angst inducing subject.<br />
Go have a listen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/12/they-almost-sing-about-my-life/feed/</wfw:commentRss>
<enclosure url="http://www.richterscales.com/assets/audio/rsrecordings/HereComesAnotherBubble.mp3" length="3771492" type="audio/mpeg" />
		</item>
		<item>
		<title>Tales from the trenches: build dread</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/11/tales-from-the-trenches-build-dread/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/11/tales-from-the-trenches-build-dread/#comments</comments>
		<pubDate>Tue, 11 Dec 2007 11:27:50 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[career]]></category>

		<category><![CDATA[ramblings]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/11/tales-from-the-trenches-build-dread/</guid>
		<description><![CDATA[While perusing the TIOBE report, I noticed REXX made an appearance.  This brought back memories of being a co-op student in the early &#8217;90s. My employer, Bell Northern Research (aka BNR), was the research arm of Northern Telecom. They were eventually fated to be absorbed and re-branded at Nortel. This was a similar setup [...]]]></description>
			<content:encoded><![CDATA[<p>While perusing the TIOBE report, I noticed REXX made an appearance.  This brought back memories of being a co-op student in the early &#8217;90s. My employer, Bell Northern Research (aka BNR), was the research arm of Northern Telecom. They were eventually fated to be absorbed and re-branded at Nortel. This was a similar setup to Bell Labs &#038; Lucent. I was in one of the many groups working on their central office switch, the DMS-100. The code base was over 10 million lines of code, which back in the day was gargantuan.  Builds would occur on mainframes, as those were the only computers fast enough to compile the code in a reasonable amount of time.  A full build would take around 19 hours.  Woe be upon the unsuspecting soul whose checkin broke the build.  You could expect a call at 3AM telling you to get your behind at the office and fix the problem.  As a result, everyone was paranoid about making changes.</p>
<p>One of the last thing I did in my co-op term, my crowning &#038; lasting achievement so to speak, was to remove an unused local variable from a function.  Removing 2 statements, a declaration and an assignment, was all I had to do.  It took the better part of a week.  First, we had to run  a cross-reference on the entire code base, to make sure the <strong>local</strong> variable was not used anywhere else.  Once this was done, I excised the offending offals from the code, a 5-minute procedure.  Someone (not the lowly co-op student) performed a delta build on the module itself to insure it compiled.  Finally, after much heming &#038; hawing, the manager gave the go ahead for the checkin, another 5 minute operation.</p>
<p>That night, around 3AM, while the mainframe&#8217;s hard drives were spinning, transforming the chunks of code info a Motorola 68K binary executable, the unthinkable happened: nothing.</p>
<p>My mighty change didn&#8217;t cause the <del datetime="2007-12-11T11:01:18+00:00">end of the world</del> build to fail and everyone slept through the night. We later learned that this particular change had no effect on the actual executable.  The compiler was optimizing the unused variable away.</p>
<p>This experience thought me a few valuable lessons: I was not going to work on the DMS-100 when I graduated.  I was not going to work on mainframe computers. <a href="http://hopl.murdoch.edu.au/showlanguage2.prx?exp=4094">PROTEL</a> (the in-house programming language) was not what I wanted to program in. BNR had tons of other development programs, some of which dealt with those cool Sun workstations&#8230; no nightmares of late night build failures there!</p>
<p>Anyone else ever experience build dread?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/11/tales-from-the-trenches-build-dread/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why should you care about the human interface?</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/10/why-should-you-care-about-the-human-interface/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/10/why-should-you-care-about-the-human-interface/#comments</comments>
		<pubDate>Mon, 10 Dec 2007 15:01:40 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[embedded]]></category>

		<category><![CDATA[ramblings]]></category>

		<category><![CDATA[HMI]]></category>

		<category><![CDATA[Interface]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/10/why-should-you-care-about-the-human-interface/</guid>
		<description><![CDATA[Recently, I wanted to purchase a new alarm.  We have a perfectly functional alarm clock.  One of the original Sony Dream Machine. A white cube with a fairly simple interface:
On the front:
  - LED display for the time
  - A slider bar to display the radio frequency
On the top:
  - [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I wanted to purchase a new alarm.  We have a perfectly functional alarm clock.  One of the original Sony Dream Machine. A white cube with a fairly simple interface:<br />
On the front:<br />
  - LED display for the time<br />
  - A slider bar to display the radio frequency<br />
On the top:<br />
  - A slider switch to select the alarm type (off, radio, buzzer, radio &#038; buzzer)<br />
  - A large Snooze button<br />
  - A small sleep button - turns on the radio for 1 hour<br />
  - a small alarm reset button to turn off the alarm<br />
On the side:<br />
  - A knob to control the radio volume<br />
  - another knob to select the radio frequency<br />
On the back:<br />
  - A slider switch for time adjustment (either alarm or clock)<br />
  - 2 push button switches: one for hour, one for minute</p>
<p>There are 9 controls on this thing, but notice how all the functions are segregated to a specific area:  Information on the front, alarm on top, radio on the side and time adjustments on the back.  Even with this simple design, I would sometime turn on the radio (press the sleep button), and somehow have a difficult time turning it off. Pressing the alarm reset button would not work - even though it works if the alarm function turns on the radio. I would have to slide the alarm switch to turn the blasted thing off.  Maybe there is another way, but I couldn&#8217;t figure it out.</p>
<p>We (meaning I) needed a new alarm clock for a specific function:  supporting 2 different alarm times.  While at it, it would be nice if the alarm clock could also play a CD.  Imagine my pleasure when I found the new Sony Dream Machine (<a href="http://www.amazon.com/Sony-Dream-Machine-ICF-CD843V-Digital/dp/B0001M2FYQ">ICF-CD843V</a>). Ok, it is about 3 times the size of the original Dream Machine and kind of looks like <a href="http://www.vfxtalk.com/feature/xmen3/xmen3magneto.jpg">Magneto&#8217;s Helmet</a>, but hey! It plays CDs and has 3 alarm times!</p>
<p>It soon became apparent that all was not well in paradise. Let&#8217;s look at the interface:<br />
On Front:<br />
  LED display, but with a much denser information content</p>
<p>On Top (8 buttons):<br />
  - 5 buttons for preset radio stations<br />
  - 1 large snooze button<br />
  - 1 sleep button<br />
  - 1 brightness control button<br />
On Front (13 buttons):<br />
  - 1 Nap button (turn on radio after x minutes)<br />
  - 1 CD play mode button<br />
  - 1 clock button<br />
  - 1 daylight savings time button<br />
  - 1 CD play/pause button<br />
  - 1 Radio band button<br />
  - 1 Off button<br />
  - 2 Tuner/Time adjustment buttons (up/down)<br />
  - 3 Alarm set button (Radio, CD, Buzzer)<br />
  - 1 Alarm Mode button<br />
On Side:<br />
  - Radio Volume Control knob</p>
<p>The upshot?  While I can set the alarm wake up time (I entirely credit my engineering degree for this!), my wife won&#8217;t touch the infernal thing.  If I want to silence the alarm, I repeatedly push the alarm mode button (buzzer -> buzzer + CD -> buzzer + radio -> buzzer + CD + radio -> merciful silence).  I could of course press the Off button, but I would have to find it while still half asleep (and it&#8217;s on the smallish side).  The alarm mode button is easier to find and has a distinctive shape.</p>
<p>As embedded designers, we don&#8217;t often give thought to our system&#8217;s human interface, the so called human-machine interface.  The result of this state of affair is usually an overly complex box, full of buttons whose functions are rather nebulous. Your users might grumble, be intimidated, or simply not buy your gizmo.   Love it or hate it, the iPod interface is simply brilliant.</p>
<p>Have you ever run into an overly complicated piece of consumer equipment?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/10/why-should-you-care-about-the-human-interface/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Of Languages and men&#8230;</title>
		<link>http://www.benoitlavigne.com/blog/2007/12/08/of-languages-and-men/</link>
		<comments>http://www.benoitlavigne.com/blog/2007/12/08/of-languages-and-men/#comments</comments>
		<pubDate>Sat, 08 Dec 2007 15:08:01 +0000</pubDate>
		<dc:creator>benoit</dc:creator>
		
		<category><![CDATA[ramblings]]></category>

		<category><![CDATA[programming language]]></category>

		<guid isPermaLink="false">http://www.benoitlavigne.com/blog/2007/12/08/of-languages-and-men/</guid>
		<description><![CDATA[Reading an article on the &#8220;D&#8221; programming language, I can across the TIOBE survey of the top 100 programming languages.  This piqued my curiosity and I decided to see for myself.
I&#8217;m classifying my experience as one of 4 categories:  Competent, Dabbler, Heard of it and huh? In the Top 20 languages, I fare [...]]]></description>
			<content:encoded><![CDATA[<p>Reading an article on the &#8220;D&#8221; programming language, I can across the TIOBE survey of the <a href="http://www.tiobe.com/index.htm?tiobe_index">top 100 programming languages</a>.  This piqued my curiosity and I decided to see for myself.<br />
I&#8217;m classifying my experience as one of 4 categories:  Competent, Dabbler, Heard of it and huh? In the Top 20 languages, I fare as follows:<br />
  Competent: 6 (C, VB, C++, Python, C#, Pascal)<br />
  Dabbler: 4 (Java, PHP, Perl, Transact-SQL)<br />
  Heard of: 7 (Ruby, JavaScript, Delphi, COBOL, Lisp/Scheme, Lua, PL/SQL)<br />
  Huh?: 3 (D, SAS, ABAP)</p>
<p>In the top 100, I have 8 languages I am Competent in, 19 others I have dabbled in, 28 I am aware of. This leaves 45 languages I had never heard of before today.  3 of those are in the top 20.</p>
<p>Another way of looking at it is that I&#8217;m competent with languages used by 41% of people out there, but I have dabbled with 79% of used languages.  If I became competent in Java &#038; Ruby, I would bump my number to 64%. Hmmm&#8230;Maybe I should do like <a href="http://software.ericsink.com/entries/java_eclipse_1.html">Eric Sink</a> and do something in Java.</p>
<p>The unknown languages, while large in number, account for less than 5% of usage.</p>
<p>How do you stack up in the language demographics?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benoitlavigne.com/blog/2007/12/08/of-languages-and-men/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
